TY - GEN
T1 - FLUCCS
T2 - 26th ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2017
AU - Sohn, Jeongju
AU - Yoo, Shin
N1 - Publisher Copyright:
© 2017 Association for Computing Machinery.
PY - 2017/7/10
Y1 - 2017/7/10
N2 - 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.
AB - 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.
KW - Fault Localization
KW - Genetic Programming
KW - SBSE
UR - http://www.scopus.com/inward/record.url?scp=85026638097&partnerID=8YFLogxK
U2 - 10.1145/3092703.3092717
DO - 10.1145/3092703.3092717
M3 - Conference contribution
AN - SCOPUS:85026638097
T3 - ISSTA 2017 - Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis
SP - 273
EP - 283
BT - ISSTA 2017 - Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis
A2 - Sen, Koushik
A2 - Bultan, Tevfik
PB - Association for Computing Machinery, Inc
Y2 - 10 July 2017 through 14 July 2017
ER -