Learning a graph-based classifier for fault localization

被引:0
|
作者
Hao ZHONG [1 ]
Hong MEI [1 ]
机构
[1] Department of Computer Science and Engineering, Shanghai Jiao Tong University
基金
国家重点研发计划;
关键词
fault classifier; partial code analysis; bug fix analysis;
D O I
暂无
中图分类号
TP311.53 []; TP181 [自动推理、机器学习];
学科分类号
081104 ; 0812 ; 081202 ; 0835 ; 1405 ;
摘要
Because software emerged, locating software faults has been intensively researched, culminating in various approaches and tools that have been applied in real development. Despite the success of these developments, improved tools are still demanded by programmers. Meanwhile, some programmers are reluctant to use any tools when locating faults in their development. The state-of-the-art situation can be naturally improved by learning how programmers locate faults. The rapid development of open-source software has accumulated many bug fixes. A bug fix is a specific type of comments containing a set of buggy files and their corresponding fixed files, which reveal how programmers repair bugs. Feasibly, an automatic model can learn fault locations from bug fixes, but prior attempts to achieve this vision have been prevented by various technical challenges. For example, most bug fixes are not compilable after checking out, which hinders analyzing bug fixes by most advanced static/dynamic tools. This paper proposes an approach called ClaFa that trains a graph-based fault classifier from bug fixes. ClaFa is built on a recent partial-code tool called Grapa, which enables the analysis of partial programs by the complete code tool called WALA. Once Grapa has built a program dependency graph from a bug fix, ClaFa compares the graph from the buggy code with the graph from the fixed code, locates the buggy nodes, and extracts the various graph features of the buggy and clean nodes. Based on the extraction result, ClaFa trains a classifier that combines Adaboost and decision tree learning. The trained ClaFa can predict whether a node of a program dependency graph is buggy or clean.We evaluate ClaFa on thousands of buggy files collected from four open-source projects: Aries, Mahout,Derby, and Cassandra. The f-scores of ClaFa achieves are approximately 80% on all projects.
引用
收藏
页码:195 / 216
页数:22
相关论文
共 50 条
  • [1] Learning a graph-based classifier for fault localization
    Zhong, Hao
    Mei, Hong
    SCIENCE CHINA-INFORMATION SCIENCES, 2020, 63 (06)
  • [2] Learning a graph-based classifier for fault localization
    Hao Zhong
    Hong Mei
    Science China Information Sciences, 2020, 63
  • [3] Graph-Based Fault Localization
    Vancsics, Bela
    COMPUTATIONAL SCIENCE AND ITS APPLICATIONS, ICCSA 2019, PT IV, 2019, 11622 : 372 - 387
  • [4] Boosting Coverage-Based Fault Localization via Graph-Based Representation Learning
    Lou, Yiling
    Zhu, Qihao
    Dong, Jinhao
    Li, Xia
    Sun, Zeyu
    Hao, Dan
    Zhang, Lu
    Zhang, Lingming
    PROCEEDINGS OF THE 29TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE '21), 2021, : 664 - 676
  • [5] HetFL: Heterogeneous Graph-Based Software Fault Localization
    Chen, Xin
    Sun, Tian
    Zhuang, Dongling
    Yu, Dongjin
    Jiang, He
    Zhou, Zhide
    Li, Sicheng
    IEEE Transactions on Software Engineering, 2024, 50 (11) : 2884 - 2905
  • [6] Graph-Based Fault Localization in Python']Python Projects with Class-Imbalanced Learning
    Kulkarni, Apoorva Anand
    Niranjan, Divya G.
    Saju, Noel
    Shenoy, P. Rakshith
    Arya, Arti
    ENGINEERING APPLICATIONS OF NEURAL NETWORKS, EANN 2024, 2024, 2141 : 354 - 368
  • [7] GBSR: Graph-based suspiciousness refinement for improving fault localization
    Li, Zheng
    Li, Mingyu
    Wu, Shumei
    Xu, Shunqing
    Chen, Xiang
    Liu, Yong
    JOURNAL OF SYSTEMS AND SOFTWARE, 2024, 218
  • [8] Graph-Based Machine Learning for Practical Indoor Localization
    Kim, Minseuk
    IEEE SENSORS LETTERS, 2022, 6 (12)
  • [9] Dynamic Graph-Based Malware Classifier
    Jazi, Hossein Hadian
    Ghorbani, Ali A.
    2016 14TH ANNUAL CONFERENCE ON PRIVACY, SECURITY AND TRUST (PST), 2016,
  • [10] An Interpretable Graph-based Image Classifier
    Bianchi, Filippo M.
    Scardapane, Simone
    Livi, Lorenzo
    Uncini, Aurelio
    Rizzi, Antonello
    PROCEEDINGS OF THE 2014 INTERNATIONAL JOINT CONFERENCE ON NEURAL NETWORKS (IJCNN), 2014, : 2339 - 2346