Affiliation:
1. School of Computing, KAIST, Daehakro, Daejeon, South Korea
Abstract
Finding the root cause of a bug requires a significant effort from developers. Automated fault localization techniques seek to reduce this cost by computing the suspiciousness scores (i.e., the likelihood of program entities being faulty). Existing techniques have been developed by utilizing input features of specific types for the computation of suspiciousness scores, such as program spectrum or mutation analysis results. This article presents a novel learn-to-rank fault localization technique called
PRecise machINe-learning-based fault loCalization tEchnique (PRINCE).
PRINCE uses genetic programming (GP) to combine multiple sets of localization input features that have been studied separately until now. For dynamic features, PRINCE encompasses both Spectrum Based Fault Localization (SBFL) and Mutation Based Fault Localization (MBFL) techniques. It also uses static features, such as dependency information and structural complexity of program entities. All such information is used by GP to train a ranking model for fault localization. The empirical evaluation on 65 real-world faults from CoREBench, 84 artificial faults from SIR, and 310 real-world faults from Defects4J shows that PRINCE outperforms the state-of-the-art SBFL, MBFL, and learn-to-rank techniques significantly. PRINCE localizes a fault after reviewing 2.4% of the executed statements on average (4.2 and 3.0 times more precise than the best of the compared SBFL and MBFL techniques, respectively). Also, PRINCE ranks 52.9% of the target faults within the top ten suspicious statements.
Funder
National Research Foundation of Korea
Publisher
Association for Computing Machinery (ACM)
Reference85 articles.
1. [n.d.]. Docker. Retrieved from https://www.docker.com/. [n.d.]. Docker. Retrieved from https://www.docker.com/.
2. CoREBench: studying complexity of regression errors
Cited by
39 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Model-based diversity-driven learn-to-rank test case prioritization;Expert Systems with Applications;2024-12
2. Optimizing Mutation-Based Fault Localization Through Contribution-Based Test Case Reduction;International Journal of Software Engineering and Knowledge Engineering;2024-07-05
3. Combining Error Guessing and Logical Reasoning for Software Fault Localization via Deep Learning;International Journal of Software Engineering and Knowledge Engineering;2024-05-28
4. Systematic Analysis of Learning-Based Software Fault Localization;2024 10th International Symposium on System Security, Safety, and Reliability (ISSSR);2024-03-16
5. Statement Types and Error Rates: How are they Related for Boosting Fault Localization?;2024 IEEE International Conference on Software Analysis, Evolution and Reengineering - Companion (SANER-C);2024-03-12