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

Automatically describing software faults

Published:18 August 2013Publication History

ABSTRACT

A developers ability to successfully debug a fault is directly related to their ability to comprehend the fault. Notwithstanding improvements in software-maintenance automation, this fault comprehension task remains largely manual and time consuming. I propose an automated approach to describe software faults, thus ameliorating comprehension and reducing manual effort. My approach leverages dynamic analysis, fault localization, and source-code mining to produce a succinct, natural-language fault summary.

References

  1. T. Alrahem, A. Chen, N. DiGiuseppe, J. Gee, S.-P. Hsiao, T. P. Sean Mattox, and I. G. Harris. Interstate: A stateful protocol fuzzer for sip. In Defcon 15, 2007.Google ScholarGoogle Scholar
  2. D. Andrzejewski, A. Mulhern, B. Liblit, and X. Zhu. Statistical debugging using latent topic models. In S. Matwin and D. Mladenic, editors, European Conference on Machine Learning, pages 17–21, Warsaw, Poland, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. A. Babenko, L. Mariani, and F. Pastore. Ava: Automated interpretation of dynamically detected anomalies. In Proceedings of International Symposium on Software Testing and Analysis, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. N. Bettenburg, S. Just, A. Schröter, C. Weiss, R. Premraj, and T. Zimmermann. What makes a good bug report? In Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering, SIGSOFT ’08/FSE-16, pages 308–318, New York, NY, USA, 2008. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. F. Deng, N. DiGiuseppe, and J. A. Jones. Constellation visualization: Augmenting program dependence with dynamic information. In Visualizing Software for Understanding and Analysis (VISSOFT), 2011 6th IEEE International Workshop on, pages 1–8. IEEE, 2011.Google ScholarGoogle Scholar
  6. F. Deng and J. A. Jones. Inferred dependence coverage to support fault contextualization. In Automated Software Engineering (ASE), 2011 26th IEEE/ACM International Conference on, pages 512–515. IEEE, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. N. DiGiuseppe and J. A. Jones. Fault interaction and its repercussions. In Software Maintenance (ICSM), 2011 27th IEEE International Conference on, pages 3–12. IEEE, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. N. DiGiuseppe and J. A. Jones. On the influence of multiple faults on coverage-based fault localization. In Proceedings of the 2011 International Symposium on Software Testing and Analysis, pages 210–220, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. N. DiGiuseppe and J. A. Jones. Concept-based failure clustering. In Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering. ACM, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. N. DiGiuseppe and J. A. Jones. Semantic fault diagnosis: automatic natural-language fault descriptions. In Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, page 23. ACM, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. N. DiGiuseppe and J. A. Jones. Software behavior and failure clustering: An empirical study of fault causality. In Software Testing, Verification and Validation (ICST), 2012 IEEE Fifth International Conference on, pages 191–200. IEEE, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. N. DiGiuseppe and B. Nardi. Real genders choose fantasy characters: Class choice in world of warcraf. First Monday, 12(5), 2007.Google ScholarGoogle Scholar
  13. D. J. Gilmore. Models of debugging. Acta Psychologica, 78(1):151–172, 1991.Google ScholarGoogle ScholarCross RefCross Ref
  14. S. Grant, J. R. Cordy, and D. Skillicorn. Automated concept location using independent component analysis. In 15th Working Conference on Reverse Engineering, 2008., pages 138–142, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. I. G. Harris, T. Alrahem, A. Chen, N. DiGiussepe, J. Gee, S.-P. Hsiao, S. Mattox, T. Park, S. Selvaraj, A. Tam, and M. Carlsson. Security testing of session initiation protocol implementations. ISeCure, The ISC International Journal of Information Security, 1(2):91–103, 2009.Google ScholarGoogle Scholar
  16. L. Jiang and Z. Su. Context-aware statistical debugging: from bug predictors to faulty control flow paths. In Proceedings of International Conference on Automated Software Engineering, pages 184–193, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. A. Kuhn, S. Ducasse, and T. G´ırba. Semantic clustering: Identifying topics in source code. Inf. Softw. Technol., 49:230–243, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. S. K. Lukins, N. A. Kraft, and L. H. Etzkorn. Bug localization using latent dirichlet allocation. Information and Software Technology, 52(9), 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. J. I. Maletic and A. Marcus. Supporting program comprehension using semantic and structural information. In Proceedings of International Conference on Software Engineering, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. W. Masri. Fault localization based on information flow coverage. Software Testing, Verification and Reliability, 20(2):121–147, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. A. von Mayrhauser and A. M. Vans. Program understanding behavior during debugging of large scale software. In Papers presented at the seventh workshop on Empirical studies of programmers, pages 157–179. ACM, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Automatically describing software faults

    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%
    • Article Metrics

      • Downloads (Last 12 months)0
      • Downloads (Last 6 weeks)0

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader