Lightweight Fault Localization Based on Program Semantics

He Guo-Qin, Da-Fang, Zhang, Miao Li, Dan, Zhao · ASME Press eBooks · 2011

Lightweight fault localization compares program spectra in passing runs and failing runs, and computes the likelihood of program entities containing faults. Aspect-Oriented Programming (AOP) is applied in this paper to monitor program execution and capture program semantics-method call relationships. Edge-weighted method call graph (EWMCG) which represents successful program behavior is produced through analyzing passing spectra. And EWMCG representing failing program behavior is produced through analyzing failing spectra. Based on the idea that the greater the edge call probability difference is, the higher the edge suspiciousness is, we rank edges according to suspiciousness. Preliminary experimental results show that, compared with traditional instrumenting way to collect program spectra, AOP can reduce more than tens of times of overhead. Empirical studies prove that our fault localization has the potential to be helpful in localizing faults. Programmers only need to examine 5.92%∼46.6% of code using our approach.

Read the paper · More papers on PaperTik