/ Home / Research / Papers, Reports, Theses / Members / News /

-Program Analysis

-Research Overview

Software systems are getting larger and more complex. In a huge program with more than 100,000 lines of code, it is very difficult to find faults, without any supports of some tools. Technologies which helps to debug and maintain large softwares automatically and efficiently are expected.

One candidate approach would be program analysis. In our research group, we study Program Dependence Analysis that applied to program debugging and maintenance.

For example, in fig 1, the value of variable "a" defined at first statement is referred to at third statement, so a data dependency exists from the first statement to the third statment. As is the case with previous, a data dependency also exists from second statement to third statement. Dependency essentially represents appearance of the flow of data in a program, and we can obtain these dependencies by program analysis.

fig1: example of dependency
fig1: example of dependency

When system outputs a wrong result as fig2, we can restrict the part which would contain a bug to the part which have the dependency with the wrong output. So program analysis makes it easy to find faults as fig3.

fig2: output a wrong result
fig2: output a wrong result
fig3: display the part which may contain a bug by dependency analysis with the wrong output
fig3: display the part which may contain a bug by dependency analysis with the wrong output

Other subjects of research are "Change Impact Analysis" that identifies affected parts by change of program (For example, the affect of variable reference by change of variable name can be detectable.). We also study about "Alias Analysis" effective in dependence analysis of Object-Oriented Language.

Java slice system based on byte code

Change Impact Analyzer of Java program

-Related Papers

-Future Work

Back to research page.

homeHome © Software Engineering Laboratory mailFor questions and comments, please send mail.