skip to main content
research-article
Free Access

Formula-based software debugging

Published:24 June 2016Publication History
Skip Abstract Section

Abstract

Satisfiability modulo theory solvers can help automate the search for the root cause of observable software errors.

References

  1. Agrawal, H. and Horgan, J. Dynamic program slicing. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (White Plains, NY, June 20-22). ACM Press, New York, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Albarghouthi, A. and McMillan, K.L. Beautiful interpolants. In Proceedings of the 25<sup>th</sup> International Conference on Computer-Aided Verification, Lecture Notes in Computer Science 8044 (Saint Petersburg, Russia, July 13-19). Springer, 2013.Google ScholarGoogle Scholar
  3. Banerjee, A., Roychoudhury, A., Harlie, J.A., and Liang, Z. Golden implementation-driven software debugging. In Proceedings of the 18<sup>th</sup> International Symposium on Foundations of Software Engineering (Santa Fe, NM, Nov. 7-11). ACM Press, New York, 2010, 177--186. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Cadar, C. and Sen, K. Symbolic execution for software testing: Three decades later. Commun. ACM 56, 1 (Jan. 2013), 82--90. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Chandra, S., Torlak, E., Barman, S., and Bodik, R. Angelic debugging. In Proceedings of the 33<sup>rd</sup> International Conference on Software Engineering (Honolulu, HI, May 21-28). ACM Press, New York, 2011, 121--130. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Christ, J., Ermis, E., Schaff, M., and Wies, T. Flow sensitive fault localization. In Proceedings of the 14<sup>th</sup> International Conference on Verification Model Checking and Abstract Interpretation (Rome, Italy, Jan. 20-22). Springer, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Cleve, H. and Zeller, A. Locating causes of program failures. In Proceedings of the 27<sup>th</sup> International Conference on Software Engineering (St. Louis, MO, May 15-21). ACM Press, New York, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. de Moura, L. and Björner, N. Satisfiability modulo theories: Introduction and applications. Commun. ACM 54, 9 (Sept. 2011), 69--77. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Ermis, E., Schaff, M., and Wies, T. Error invariants. In Proceedings of the 18<sup>th</sup> International Symposium on Formal Methods, Lecture Notes in Computer Science (Paris, France, Aug. 27-31). Springer, 2012.Google ScholarGoogle Scholar
  10. GNU Core Utilities; http://www.gnu.org/software/coreutils/coreutils.htmlGoogle ScholarGoogle Scholar
  11. Jin, W. and Orso, A. BugRedux: Reproducing field failures for in-house debugging. In Proceedings of the 34<sup>th</sup> International Conference on Software Engineering (Zürich, Switzerland, June 2-9). IEEE, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Jones, J.A., Harrold, M.J., and Stasko, J.T. Visualization of test information to assist fault localization. In Proceedings of the 24<sup>th</sup> International Conference on Software Engineering (Orlando, FL, May 19-25). ACM Press, New York, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Jose, M. and Majumdar, R. Cause clue clauses: Error localization using maximum satisfiability. In Proceedings of the 32<sup>nd</sup> International Conference on Programming Language Design and Implementation (San Jose, CA, June 4-8). ACM Press, New York, 2011, 437--446. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. King, J.C. Symbolic execution and program testing. Commun. ACM 19, 7 (July 1976) 385--394. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Liblit, B., Naik, M., Zheng, A.X., Aiken, A., and Jordan, M.I. Scalable statistical bug isolation. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (Chicago, IL, June 12-15). ACM Press, New York, 2005, 15--26. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. McMillan, K.L. An interpolating theorem prover. Theoretical Computer Science 345, 1 (Nov. 2005), 101--121. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Mechtaev, S., Yi, J., and Roychoudhury, A. DirectFix: Looking for simple program repairs. In Proceedings of the 37<sup>th</sup> IEEE/ACM International Conference on Software Engineering (Firenze, Italy, May 16-24). IEEE, 2015, 448--458. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Mechtaev, S., Yi, J., and Roychoudhury, A. Angelix: Scalable multiline program patch synthesis via symbolic analysis. In Proceedings of the 38<sup>th</sup> International Conference on Software Engineering (Austin, TX, May 14-22) ACM Press, New York, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Morgado, A., Heras, F., Liffiton, M., Planes, J., and Marques-Silva, J. Iterative and core-guided MaxSAT solving: A survey and assessment. Constraints 18, 4 (2013), 478--534. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Nguyen, H.D.T., Qi, D., Roychoudhury, A., and Chandra, S. SemFix: Program repair via semantic analysis. In Proceedings of the 35<sup>th</sup> International Conference on Software Engineering (San Francisco, CA, May 18-26). IEEE/ACM, 2013, 772--781. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Parnin, C. and Orso, A. Are automated debugging techniques actually helping programmers? In Proceedings of the 20<sup>th</sup> International Symposium on Software Testing and Analysis (Toronto, ON, Canada, July 17-21) ACM Press, New York, 2011, 199--209. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Qi, D., Roychoudhury, A., Liang, Z., and Vaswani, K. DARWIN: An approach for debugging evolving programs. ACM Transactions on Software Engineering and Methodology 21, 3 (2012). Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Weiser, M. Program slicing. IEEE Transactions on Software Engineering 10, 4 (1984), 352--357. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Zeller, A. Yesterday my program worked. Today it fails. Why? In Proceedings of the Seventh Joint Meeting of European Software Engineering Conference and ACM SIGSOFT Symposium on Foundations of Software Engineering, Lecture Notes in Computer Science (Toulouse, France, Sept. 1999). Springer, 1999, 253--267. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Zeller, A. Why Programs Fail: A Guide to Systematic Debugging. Elsevier, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Formula-based software debugging

    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

    Full Access

    • Published in

      cover image Communications of the ACM
      Communications of the ACM  Volume 59, Issue 7
      July 2016
      118 pages
      ISSN:0001-0782
      EISSN:1557-7317
      DOI:10.1145/2963119
      • Editor:
      • Moshe Y. Vardi
      Issue’s Table of Contents

      Copyright © 2016 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: 24 June 2016

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Popular
      • Refereed

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format .

    View HTML Format