Publication Type
Journal Article
Version
acceptedVersion
Publication Date
7-2023
Abstract
Numerous fault localization techniques identify suspicious statements potentially responsible for program failures by discovering the statistical correlation between test results (i.e., failing or passing) and the executions of the different statements of a program (i.e., covered or not covered). They rarely incorporate a failure context into their suspiciousness evaluation despite the fact that a failure context showing how a failure is produced is useful for analyzing and locating faults. Since a failure context usually contains the transitive relationships among the statements of causing a failure, its relationship complexity becomes one major obstacle for the context incorporation in suspiciousness evaluation of fault localization. To overcome the obstacle, our insight is that leveraging the promising learning ability may be a candidate solution to learn a feasible model for incorporating a failure context into fault localization. Thus, we propose a context-aware neural fault localization approach (CAN). Specifically, CAN represents the failure context by constructing a program dependency graph, which shows how a set of statements interact with each other (i.e., data and control dependencies) to cause a failure. Then, CAN utilizes graph neural networks to analyze and incorporate the context (e.g., the dependencies among the statements) into suspiciousness evaluation. Our empirical results on the 12 large-sized programs show that CAN achieves promising results (e.g., 29.23% faults are ranked within top 5), and it significantly improves the state-of-the-art baselines with a substantial margin.
Keywords
Fault localization, graph neural networks, program dependency graphs, suspiciousness
Discipline
OS and Networks | Software Engineering
Research Areas
Software and Cyber-Physical Systems
Publication
IEEE Transactions on Software Engineering
Volume
49
Issue
7
First Page
3939
Last Page
3954
ISSN
0098-5589
Identifier
10.1109/TSE.2023.3279125
Publisher
Institute of Electrical and Electronics Engineers
Citation
ZHANG, Zhuo; MAO, Xiaoguang; YAN, Meng; XIA, Xin; LO, David; and LO, David.
Context-aware neural fault localization. (2023). IEEE Transactions on Software Engineering. 49, (7), 3939-3954.
Available at: https://ink.library.smu.edu.sg/sis_research/8314
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Additional URL
https://doi.org/10.1109/TSE.2023.3279125