Dynamically Discovering Likely Program Invariants to Support Program Evolution
IEEE Transactions on Software Engineering - Special issue on 1999 international conference on software engineering
Neural Networks for Pattern Recognition
Neural Networks for Pattern Recognition
Locating causes of program failures
Proceedings of the 27th international conference on Software engineering
Scalable statistical bug isolation
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
SOBER: statistical model-based bug localization
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Cooperative bug isolation
Context-aware statistical debugging: from bug predictors to faulty control flow paths
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Mining significant graph patterns by leap search
Proceedings of the 2008 ACM SIGMOD international conference on Management of data
Mining Edge-Weighted Call Graphs to Localise Software Bugs
ECML PKDD '08 Proceedings of the 2008 European Conference on Machine Learning and Knowledge Discovery in Databases - Part I
Software Fault Localization Using N-gram Analysis
WASA '08 Proceedings of the Third International Conference on Wireless Algorithms, Systems, and Applications
Identifying bug signatures using discriminative graph mining
Proceedings of the eighteenth international symposium on Software testing and analysis
Hi-index | 0.01 |
Software fault localization has attracted a lot of attention recently. Most existing methods focus on finding a single suspicious statement of code which is likelihood of containing bugs. Despite the accuracy of such methods, developers have trouble understanding the context of the bug, given each bug location in isolation. There is a high possibility of locating bug contexts through finding discriminative execution sub-paths between failing and passing executions. Representing each execution of a program as a graph, discriminative sub-paths could be identified by applying a graph mining algorithm. These sub-paths may help the debugger to easily identify the major causes of faults and its infection flow through the program. In this paper, a novel approach to mine discriminative sub-graphs as indicators of program faults is proposed. We formulate an efficient function to find most discriminative patterns between weighted failing and passing graphs. Experimental results indicate that significant improvement in precision of bug localization is achieved using the proposed discriminative sub-graph mining approach.