FLUCCS: Using code and change metrics to improve fault localization

Jeongju Sohn, Shin Yoo

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

178 Scopus citations

Abstract

Fault localization aims to support the debugging activities of human developers by highlighting the program elements that are suspected to be responsible for the observed failure. Spectrum Based Fault Localization (SBFL), an existing localization technique that only relies on the coverage and pass/fail results of executed test cases, has been widely studied but also criticized for the lack of precision and limited effort reduction. To overcome restrictions of techniques based purely on coverage, we extend SBFL with code and change metrics that have been studied in the context of defect prediction, such as size, age and code churn. Using suspiciousness values from existing SBFL formula and these source code metrics as features, we apply two learn-to-rank techniques, Genetic Programming (GP) and linear rank Support Vector Machines (SVMs). We evaluate our approach with a ten-fold cross validation of method level fault localization, using 210 real world faults from the Defects4J repository. GP with additional source code metrics ranks the faulty method at the top for 106 faults, and within the top five for 173 faults. This is a significant improvement over the state-of-the-art SBFL formula, the best of which can rank 49 and 127 faults at the top and within the top five, respectively.

Original languageEnglish
Title of host publicationISSTA 2017 - Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis
EditorsKoushik Sen, Tevfik Bultan
PublisherAssociation for Computing Machinery, Inc
Pages273-283
Number of pages11
ISBN (Electronic)9781450350761
DOIs
StatePublished - 10 Jul 2017
Event26th ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2017 - Santa Barbara, United States
Duration: 10 Jul 201714 Jul 2017

Publication series

NameISSTA 2017 - Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis

Conference

Conference26th ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2017
Country/TerritoryUnited States
CitySanta Barbara
Period10/07/1714/07/17

Keywords

  • Fault Localization
  • Genetic Programming
  • SBSE

Fingerprint

Dive into the research topics of 'FLUCCS: Using code and change metrics to improve fault localization'. Together they form a unique fingerprint.

Cite this