A general noise-reduction framework for fault localization of Java programs

  • Authors:
  • Jian Xu;Zhenyu Zhang;W. K. Chan;T. H. Tse;Shanping Li

  • Affiliations:
  • Department of Computer Science, Zhejiang University, Hangzhou, China;State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences, Beijing, China;Department of Computer Science, City University of Hong Kong, Tat Chee Avenue, Hong Kong;Department of Computer Science, The University of Hong Kong, Pokfulam, Hong Kong;Department of Computer Science, Zhejiang University, Hangzhou, China

  • Venue:
  • Information and Software Technology
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Context: Existing fault-localization techniques combine various program features and similarity coefficients with the aim of precisely assessing the similarities among the dynamic spectra of these program features to predict the locations of faults. Many such techniques estimate the probability of a particular program feature causing the observed failures. They often ignore the noise introduced by other features on the same set of executions that may lead to the observed failures. It is unclear to what extent such noise can be alleviated. Objective: This paper aims to develop a framework that reduces the noise in fault-failure correlation measurements. Method: We develop a fault-localization framework that uses chains of key basic blocks as program features and a noise-reduction methodology to improve on the similarity coefficients of fault-localization techniques. We evaluate our framework on five base techniques using five real-life median-scaled programs in different application domains. We also conduct a case study on subjects with multiple faults. Results: The experimental result shows that the synthesized techniques are more effective than their base techniques by almost 10%. Moreover, their runtime overhead factors to collect the required feature values are practical. The case study also shows that the synthesized techniques work well on subjects with multiple faults. Conclusion: We conclude that the proposed framework has a significant and positive effect on improving the effectiveness of the corresponding base techniques.