ABSTRACT
A bug signature is a set of program elements highlighting the cause or effect of a bug, and provides contextual information for debugging. In order to mine a signature for a buggy program, two sets of execution profiles of the program, one capturing the correct execution and the other capturing the faulty, are examined to identify the program elements contrasting faulty from correct. Signatures solely consisting of control flow transitions have been investigated via discriminative sequence and graph mining algorithms. These signatures might be handicapped in cases where the effect of a bug is not manifested by any deviation in control flow transitions. In this paper, we introduce the notion of predicated bug signature\/ that aims to enhance the predictive power of bug signatures by utilizing both data predicates and control-flow information. We introduce a novel ``discriminative itemset generator'' mining technique to generate succinct\/ signatures which do not contain redundant or irrelevant program elements. Our case studies demonstrate that predicated signatures can hint at more scenarios of bugs where traditional control-flow signatures fail.
- R. Abreu. Spectrum-Based Fault Localization in Embedded Software. PhD thesis, Delft University of Technology, 2009.Google Scholar
- R. Agrawal and R. Srikant. Fast Algorithms for Mining Association Rules in Large Databases. In VLDB, 1994. Google ScholarDigital Library
- P. Arumuga Nainar, T. Chen, J. Rosin, and B. Liblit. Statistical Debugging Using Compound Boolean Predicates. In ISSTA, 2007. Google ScholarDigital Library
- G. K. Baah, A. Podgurski, and M. J. Harrold. Causal Inference for Statistical Fault Localization. In ISSTA, 2010. Google ScholarDigital Library
- H. Cheng, D. Lo, Y. Zhou, X. Wang, and X. Yan. Identifying Bug Signatures Using Discriminative Graph Mining. In ISSTA, 2009. Google ScholarDigital Library
- H. Cheng, X. Yan, J. Han, and C.-W. Hsu. Discriminative Frequent Pattern Analysis for Effective Classification. In ICDE, 2007.Google ScholarCross Ref
- H. Cheng, X. Yan, J. Han, and P. S. Yu. Direct Discriminative Pattern Mining for Effective Classification. In ICDE, 2008. Google ScholarDigital Library
- T. M. Chilimbi, B. Liblit, K. Mehra, A. V. Nori, and K. Vaswani. HOLMES: Effective Statistical Debugging via Efficient Path Profiling. In ICSE, 2009. Google ScholarDigital Library
- H. Cleve and A. Zeller. Locating Causes of Program Failures. In ICSE, 2005. Google ScholarDigital Library
- C.Liu, X. Yan, L. Fei, J. Han, and S. Midkiff. SOBER: Statistical Model-based Bug Localization. In FSE, 2005. Google ScholarDigital Library
- R. Gore and P. F. Reynolds, Jr. Reducing Confounding Bias in Predicate-level Statistical Debugging Metrics. In ICSE, 2012. Google ScholarDigital Library
- H. Hsu, J. A. Jones, and A. Orso. RAPID: Identifying Bug Signatures to Support Debugging Activities. In ASE, 2008.Google ScholarDigital Library
- M. Hutchins, H. Foster, T. Goradia, and T. Ostrand. Experiments of the Effectiveness of Dataflow- and Controlflow-based Test Adequacy Criteria. In ICSE, 1994. Google ScholarDigital Library
- J. Jones and M. Harrold. Empirical evaluation of the tarantula automatic fault-localization technique. In ASE, 2005. Google ScholarDigital Library
- J. Li, H. Li, L. Wong, J. Pei, and G. Dong. Minimum Description Length Principle: Generators Are Preferable to Closed Patterns. In AAAI, 2006. Google ScholarDigital Library
- B. Liblit, A. Aiken, A. X. Zheng, and M. I. Jordan. Bug Isolation via Remote Program Sampling. In PLDI, 2003. Google ScholarDigital Library
- B. Liblit, M. Naik, A. X. Zheng, A. Aiken, and M. I. Jordan. Scalable Statistical Bug Isolation. In PLDI, 2005. Google ScholarDigital Library
- D. Lo, H. Cheng, J. Han, S.-C. Khoo, and C. Sun. Classification of Software Behaviors for Failure Detection: A Discriminative Pattern Mining Approach. In KDD, 2009. Google ScholarDigital Library
- Lucia, D. Lo, L. Jiang, and A. Budi. Comprehensive Evaluation of Association Measures for Fault Localization. In ICSM, pages 1–10, 2010. Google ScholarDigital Library
- S. Nijssen, T. Guns, and L. Raedt. Correlated Itemset Mining in ROC Space: A Constraint Programming Approach. In KDD, 2009. Google ScholarDigital Library
- C. Parnin and A. Orso. Are Automated Debugging Techniques Actually Helping Programmers? In ISSTA, 2011. Google ScholarDigital Library
- J. R. Quinlan. C4.5: Programs for Machine Learning. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 1993. Google ScholarDigital Library
- M. Renieris and S. Reiss. Fault Localization With Nearest Neighbor Queries. In ASE, 2003.Google ScholarCross Ref
- J. Rossler, G. Fraser, A. Zeller, and A. Orso. Isolating Failure Causes through Test Case Generation. In ISSTA, pages 309–319, 2012.Google Scholar
- C. Sun, J. Du, N. Chen, S.-C. Khoo, and Y. Yang. Mining Explicit Rules for Software Process Evaluation. In ICSSP, pages 118–125, 2013. Google ScholarDigital Library
- J. Wang and J. Han. BIDE: Efficient Mining of Frequent Closed Sequences. In ICDE, 2004. Google ScholarDigital Library
- X. Yan, H. Cheng, J. Han, and P. Yu. Mining Significant Graph Patterns by Leap Search. In SIGMOD, 2008. Google ScholarDigital Library
- X. Zhang, N. Gupta, and R. Gupta. Locating Faults through Automated Predicate Switching. In ICSE, 2006. Google ScholarDigital Library
Index Terms
- Mining succinct predicated bug signatures
Recommendations
Efficient predicated bug signature mining via hierarchical instrumentation
ISSTA 2014: Proceedings of the 2014 International Symposium on Software Testing and AnalysisDebugging is known to be a notoriously painstaking and time-consuming task. An essential and yet expensive process in debugging is bug isolation. As one major family of automatic bug isolation, statistical bug isolation approaches have been well ...
Identifying bug signatures using discriminative graph mining
ISSTA '09: Proceedings of the eighteenth international symposium on Software testing and analysisBug 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 ...
Bug Signature Minimization and Fusion
HASE '11: Proceedings of the 2011 IEEE 13th International Symposium on High-Assurance Systems EngineeringDebugging is a time-consuming activity. To help in debugging, many approaches have been proposed to pinpoint the location of errors given labeled failures and correct executions. While such approaches have been shown to be accurate, at times the ...
Comments