Publication Type
Conference Proceeding Article
Version
publishedVersion
Publication Date
7-2009
Abstract
Bug localization has attracted a lot of attention recently. Most existing methods focus on pinpointing a single statement or function call which is very likely to contain bugs. Although such methods could be very accurate, it is usually very hard for developers to understand the context of the bug, given each bug location in isolation. In this study, we propose to model software executions with graphs at two levels of granularity: methods and basic blocks. An individual node represents a method or basic block and an edge represents a method call, method return or transition (at the method or basic block granularity). Given a set of graphs of correct and faulty executions, we propose to extract the most discriminative subgraphs which contrast the program flow of correct and faulty executions. The extracted subgraphs not only pinpoint the bug, but also provide an informative context for understanding and fixing the bug. Different from traditional graph mining which mines a very large set of frequent subgraphs, we formulate subgraph mining as an optimization problem and directly generate the most discriminative subgraph with a recently proposed graph mining algorithm LEAP. We further extend it to generate a ranked list of top-k discriminative subgraphs representing distinct locations which may contain bugs. Experimental results and case studies show that our proposed method is both effective and efficient to mine discriminative subgraphs for bug localization and context identification.
Keywords
bug signature, discriminative subgraph mining
Discipline
Software Engineering
Research Areas
Software Systems
Publication
ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA)
First Page
141
Last Page
152
ISBN
9781605583389
Identifier
10.1145/1572272.1572290
Publisher
ACM
City or Country
Chicago, Illinois, USA
Citation
CHENG, Hong; LO, David; ZHOU, YANG; WANG, Xiaoyin; and YAN, Xifeng.
Identifying Bug Signatures Using Discriminative Graph Mining. (2009). ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA). 141-152.
Available at: https://ink.library.smu.edu.sg/sis_research/282
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Additional URL
http://dx.doi.org/10.1145/1572272.1572290