skip to main content
10.1145/2491411.2491449acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

Mining succinct predicated bug signatures

Published:18 August 2013Publication History

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.

References

  1. R. Abreu. Spectrum-Based Fault Localization in Embedded Software. PhD thesis, Delft University of Technology, 2009.Google ScholarGoogle Scholar
  2. R. Agrawal and R. Srikant. Fast Algorithms for Mining Association Rules in Large Databases. In VLDB, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. P. Arumuga Nainar, T. Chen, J. Rosin, and B. Liblit. Statistical Debugging Using Compound Boolean Predicates. In ISSTA, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. G. K. Baah, A. Podgurski, and M. J. Harrold. Causal Inference for Statistical Fault Localization. In ISSTA, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. H. Cheng, D. Lo, Y. Zhou, X. Wang, and X. Yan. Identifying Bug Signatures Using Discriminative Graph Mining. In ISSTA, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. H. Cheng, X. Yan, J. Han, and C.-W. Hsu. Discriminative Frequent Pattern Analysis for Effective Classification. In ICDE, 2007.Google ScholarGoogle ScholarCross RefCross Ref
  7. H. Cheng, X. Yan, J. Han, and P. S. Yu. Direct Discriminative Pattern Mining for Effective Classification. In ICDE, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. H. Cleve and A. Zeller. Locating Causes of Program Failures. In ICSE, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. C.Liu, X. Yan, L. Fei, J. Han, and S. Midkiff. SOBER: Statistical Model-based Bug Localization. In FSE, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. R. Gore and P. F. Reynolds, Jr. Reducing Confounding Bias in Predicate-level Statistical Debugging Metrics. In ICSE, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. H. Hsu, J. A. Jones, and A. Orso. RAPID: Identifying Bug Signatures to Support Debugging Activities. In ASE, 2008.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. Jones and M. Harrold. Empirical evaluation of the tarantula automatic fault-localization technique. In ASE, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. B. Liblit, A. Aiken, A. X. Zheng, and M. I. Jordan. Bug Isolation via Remote Program Sampling. In PLDI, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. B. Liblit, M. Naik, A. X. Zheng, A. Aiken, and M. I. Jordan. Scalable Statistical Bug Isolation. In PLDI, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. Lucia, D. Lo, L. Jiang, and A. Budi. Comprehensive Evaluation of Association Measures for Fault Localization. In ICSM, pages 1–10, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. S. Nijssen, T. Guns, and L. Raedt. Correlated Itemset Mining in ROC Space: A Constraint Programming Approach. In KDD, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. C. Parnin and A. Orso. Are Automated Debugging Techniques Actually Helping Programmers? In ISSTA, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. J. R. Quinlan. C4.5: Programs for Machine Learning. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. M. Renieris and S. Reiss. Fault Localization With Nearest Neighbor Queries. In ASE, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  24. J. Rossler, G. Fraser, A. Zeller, and A. Orso. Isolating Failure Causes through Test Case Generation. In ISSTA, pages 309–319, 2012.Google ScholarGoogle Scholar
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. J. Wang and J. Han. BIDE: Efficient Mining of Frequent Closed Sequences. In ICDE, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. X. Yan, H. Cheng, J. Han, and P. Yu. Mining Significant Graph Patterns by Leap Search. In SIGMOD, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. X. Zhang, N. Gupta, and R. Gupta. Locating Faults through Automated Predicate Switching. In ICSE, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Mining succinct predicated bug signatures

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      ESEC/FSE 2013: Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
      August 2013
      738 pages
      ISBN:9781450322379
      DOI:10.1145/2491411

      Copyright © 2013 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 18 August 2013

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate112of543submissions,21%

      Upcoming Conference

      FSE '24

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader