ACM Home Page
Please provide us with feedback. Feedback
Identifying bug signatures using discriminative graph mining
Full text PdfPdf (582 KB)
Source
International Symposium on Software Testing and Analysis archive
Proceedings of the eighteenth international symposium on Software testing and analysis table of contents
Chicago, IL, USA
SESSION: Fault localization table of contents
Pages 141-152  
Year of Publication: 2009
ISBN:978-1-60558-338-9
Authors
Hong Cheng  Chinese University of Hong Kong, Hong Kong, Hong Kong
David Lo  Singapore Management University, Singapore, Singapore
Yang Zhou  Chinese University of Hong Kong, Hong Kong, Hong Kong
Xiaoyin Wang  Peking University, Beijing, China
Xifeng Yan  University of California at Santa Barbara, Santa Barbara, CA, USA
Sponsors
SIGSOFT: ACM Special Interest Group on Software Engineering
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 26,   Downloads (12 Months): 73,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1572272.1572290
What is a DOI?

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Rhino - JavaScript for Java. www.mozilla.org/rhino.
 
2
H. Agrawal, J. Horgan, S. London, and W. Wong. Fault localization using execution slices and dataflow tests. In ISSRE, 1995.
 
3
4
5
6
 
7
H. Hsu, J. A. Jones, and A. Orso. RAPID: Identifying bug signatures to support debugging activities. In ASE, 2008.
 
8
 
9
 
10
11
12
 
13
14
15
16
 
17
M. Renieris and S. Reiss. Fault localization with nearest neighbor queries. In ASE, 2003.
 
18
G. Tassey. The economic impacts of inadequate infrastructure for software testing. National Institute of Standards and Technology. Planning Report 02-3.2002, 2002.
 
19
R. M. H. Ting and J. Bailey. Mining minimal contrast subgraph patterns. In SDM, 2006.
 
20
 
21
22
 
23
 
24
25

Collaborative Colleagues:
Hong Cheng: colleagues
David Lo: colleagues
Yang Zhou: colleagues
Xiaoyin Wang: colleagues
Xifeng Yan: colleagues