Empirical Evaluation of Fault Localisation Using Code and Change Metrics

Jeongju Sohn, Shin Yoo

Research output: Contribution to journalArticlepeer-review

15 Scopus citations

Abstract

Fault localisation aims to reduce the debugging efforts of human developers by highlighting the program elements that are suspected to be the root cause of the observed failure. Spectrum Based Fault Localisation (SBFL), a coverage based approach, has been widely studied in many researches as a promising localisation technique. Recently, however, it has been proven that SBFL techniques have reached the limit of further improvement. To overcome the limitation, we extend SBFL with code and change metrics that have been mainly studied in defect prediction, such as size, age, and churn. FLUCCS, our fault learn-to-rank localisation technique, employs both existing SBFL formulæ and these metrics as input. We investigate the effect of employing code and change metrics for fault localisation using four different learn-to-rank techniques: Genetic Programming, Gaussian Process Modelling, Support Vector Machine, and Random Forest. We evaluate the performance of FLUCCS with 386 real world faults collected from Defects4J repository. The results show that FLUCCS with code and change metrics places 144 faults at the top and 304 faults within the top ten. This is a significant improvement over the state-of-art SBFL formulæ, which can locate 65 and 212 faults at the top and within the top ten, respectively. We also investigate the feasibility of cross-project transfer learning of fault localisation. The results show that, while there exist project-specific properties that can be exploited for better localisation per project, ranking models learnt from one project can be applied to others without significant loss of effectiveness.

Original languageEnglish
Article number8772166
Pages (from-to)1605-1625
Number of pages21
JournalIEEE Transactions on Software Engineering
Volume47
Issue number8
DOIs
StatePublished - 1 Aug 2021

Keywords

  • Fault localisation
  • genetic programming
  • SBSE

Fingerprint

Dive into the research topics of 'Empirical Evaluation of Fault Localisation Using Code and Change Metrics'. Together they form a unique fingerprint.

Cite this