Combining Error Guessing and Logical Reasoning for Software Fault Localization via Deep Learning

被引:0
作者
Wang, Rongcun [1 ,2 ]
Fan, Mingmei [1 ]
Yan, Yue [1 ]
Jiang, Shujuan [1 ]
机构
[1] China Univ Min & Technol, Sch Comp Sci & Technol, 1 Daxue Rd, Xuzhou, Jiangsu, Peoples R China
[2] Wuhan Inst Technol, Hubei Key Lab Intelligent Robot, 206 Guanggu 1st Rd,Donghu New & High Technol Dev Z, Wuhan, Hubei, Peoples R China
基金
中国国家自然科学基金;
关键词
Fault localization; error guessing; logical reasoning; execution dependency; stack trace;
D O I
10.1142/S0218194024500219
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Automated fault localization has been extensively studied to improve the effectiveness of software debugging. Existing automated fault localization methods neglect the guidance of the simple and easily available debugging information on fault localization. To bridge manual fault localization with automated fault localization, we propose a fault localization approach combining error guessing and logical reasoning via deep learning. The proposed approach simulates the actual debugging process. Specifically, developers' debugging experience and context dependencies between methods are mapped into two different types of coverage matrices. The constructed matrices are fed to a convolutional neural network (CNN) to predict whether a method is buggy or not. To validate the effectiveness of the proposed approach, we designed and constructed the empirical study on the widely used Defect4J datasets. With respect to the top-n (n=1,3,5) metric, our approach outperforms the state-of-the-art DeepFL and other five methods including Ochai, Muse, MULTRIC, TraPT and FLUCSS. Particularly, compared with the above methods, our approach has an improvement of 5-182% for top-1. In terms of MFR and MAR, the proposed approach is slightly lower than the best DeepFL but better than the other five methods. The approach we presented achieving the unification of manual and automatic debugging can aid in the improvement of fault localization accuracy.
引用
收藏
页码:1485 / 1511
页数:27
相关论文
共 51 条
  • [1] On the accuracy of spectrum-based fault localization
    Abreu, Rui
    Zoeteweij, Peter
    van Gemund, Arjan J. C.
    [J]. TAIC PART 2007 - TESTING: ACADEMIC AND INDUSTRIAL CONFERENCE - PRACTICE AND RESEARCH TECHNIQUES, PROCEEDINGS: CO-LOCATED WITH MUTATION 2007, 2007, : 89 - +
  • [2] Abreu R, 2006, 12TH PACIFIC RIM INTERNATIONAL SYMPOSIUM ON DEPENDABLE COMPUTING, PROCEEDINGS, P39
  • [3] Beszédes A, 2020, PROCEEDINGS OF THE 2020 IEEE 27TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER '20), P468, DOI [10.1109/SANER48275.2020.9054820, 10.1109/saner48275.2020.9054820]
  • [4] Campos J, 2012, IEEE INT CONF AUTOM, P378, DOI 10.1145/2351676.2351752
  • [5] How Does Execution Information Help with Information-Retrieval Based Bug Localization?
    Dao, Tung
    Zhang, Lingming
    Meng, Na
    [J]. 2017 IEEE/ACM 25TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC), 2017, : 241 - 250
  • [6] International Software Testing Qualifications Board, 2014, STANDARD GLOSSARY TE
  • [7] Jiang Y, 2015, 2015 INTERNATIONAL SYMPOSIUM ON BIOELECTRONICS AND BIOINFORMATICS (ISBB), P1, DOI 10.1109/ISBB.2015.7344908
  • [8] Fault Localization With Data Flow Information and an Artificial Neural Network
    Jo, Jun-Hyuk
    Lee, Jihyun
    Jaffari, Aman
    Kim, Eunmi
    [J]. INTERNATIONAL JOURNAL OF SOFTWARE INNOVATION, 2021, 9 (03) : 66 - 78
  • [9] Jones J. A., 2005, P 20 IEEE ACM INT C, P273
  • [10] Jones JA, 2002, ICSE 2002: PROCEEDINGS OF THE 24TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, P467, DOI 10.1109/ICSE.2002.1007991