Find information:

[12-10]Software Debugging through Dynamic Analysis of Program Structures

Date:2009-12-09

Title: Software Debugging through Dynamic Analysis of Program Structures
Speaker: Zhang Zhenyu (Hong Kong University)
Time: 10:30am, Thursday Dec.10
Venue: Lecture room, State Key Lab of Computer Science, Level 3 Building #5

Abstract:

Software debugging is difficult and time-consuming because developers do not know the locations of the faults in advance. Many existing fault-localization techniques correlate failures to fault positions. They ignore how infected program states propagate among statements. I will address this problem, namely strong correlation not necessarily the root cause of the observed failures, both by developing a model to compute how infected program states statistically propagate along edges inside a control-flow graph and by distinguishing different short-circuiting evaluation that coarsely written statically as individual program statements. Specifically, I model the propagation traffic through each edge and apportion proportionally the probability of a block being faulty to its directly connected blocks, resulting in a set of homogenous equations, in which the probabilities of individual blocks being faulty after propagation of infected program states are the unknown. By solving the equation set, the model can determine the fault suspiciousness for individual statements accordingly. Empirical studies on real-life medium-size programs show that this technique is more effective than the state-of-the-art techniques. I also conduct an empirical study, which shows that differentiating the short-circuit evaluations of individual program predicates incurs relatively small performance overhead and significantly improves existing techniques. Moreover, in this report, I will empirically validate that using standard non-parametric hypothesis testing methods can achieve better effectiveness than the state-of-the-art predicate-based fault-localization techniques. In conclusion, this report contributes to software debugging by developing a family of effective statistical fault-localization techniques. They are particularly useful when the faulty statements are generally not strongly correlated to failures, program statements have many evaluation alternatives, and distribution of program spectra cannot be assumed.

 

Bio:

Zhenyu Zhang is a Ph.D student in department of computer science at The University of Hong Kong, Pokfula, Hong Kong. He received his BEng and MSc degrees in computer science at Tsinghua University, Beijing, China. His current research interests are software debugging, software testing and analysis, continuous integration of software engineering activities, and engineering web services and service compositions. He has published his research results in many top-notch international journals and conferences. He received two best paper awards for his COMPSAC'08 paper and COMPSAC'09 paper, and a best paper nominee from his WWW'09 paper. He is in the program committee of ICSOFT'09, SEKE'10, SOSE'10 , is a refereed reviewer of Journal of Systems and Software, and serves as external reviewers of many international journals and conferences.