skip to main content
research-article

Symbolic Arrays in Symbolic PathFinder

Published:05 January 2017Publication History
Skip Abstract Section

Abstract

Symbolic Execution is a program analysis technique used to increase software reliability. Modern software often manipulate complex data structures, many of which being similar to arrays. We present a novel approach and implementation in Symbolic PathFinder for handling symbolic arrays in Java. It enables analyzing a broader class of programs that manipulates arrays. We also extend the Symbolic Pathfinder testcase generation to support numeric arrays.

References

  1. T. Avgerinos, A. Rebert, S. K. Cha, and D. Brumley. Enhancing symbolic execution with veritesting. ICSE 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. E. Bounimova, P. Godefroid, and D. Molnar. Billions and billions of constraints: Whitebox fuzz testing in production. ICSE '13.Google ScholarGoogle Scholar
  3. C. Cadar, P. Godefroid, S. Khurshid, C. S. Păsăreanu, K. Sen, N. Tillmann, and W. Visser. Symbolic execution for software testing in practice: Preliminary assessment. ICSE'11.Google ScholarGoogle Scholar
  4. J. Christ, J. Hoenicke, and A. Nutz. SMTInterpol: An interpolating SMT solver. In Proceedings of the 19th International Workshop on Model Checking Software (SPIN), pages 248--254, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. L. Ciortea, C. Zamfir, S. Bucur, V. Chipounov, and G. Candea. Cloud9: A software testing service. SIGOPS Oper. Syst. Rev., 43(4):5--10, Jan. 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. L. De Moura and N. Bjørner. Z3: an efficient smt solver. TACAS'08/ETAPS'08.Google ScholarGoogle Scholar
  7. L. de Moura and N. Bjørner. Generalized, efficient array decision procedures.Google ScholarGoogle Scholar
  8. S. Khurshid, C. S. Păsăreanu, and W. Visser. Generalized symbolic execution for model checking and testing. In Proceedings of the 9th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS), pages 553--568, 2003. Google ScholarGoogle ScholarCross RefCross Ref
  9. J. C. King. Symbolic execution and program testing. Commun. ACM, 19(7):385--394, July 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. K. Luckow, M. Dimjašević, D. Giannakopoulou, F. Howar, M. Isberner, T. Kahsai, Z. Rakamarić, and V. Raman. JDart: A dynamic symbolic analysis framework. In M. Chechik and J.-F. Raskin, editors, Proceedings of the 22nd International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS), 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J. Mccarthy. Towards a mathematical science of computation. In In IFIP Congress, pages 21--28. North-Holland, 1962.Google ScholarGoogle Scholar
  12. C. S. Pasareanu, W. Visser, D. H. Bushnell, J. Geldenhuys, P. C. Mehlitz, and N. Rungta. Symbolic pathfinder: integrating symbolic execution with model checking for java bytecode analysis. Automated Software Engineering, 20(3):391--425, 2013. Google ScholarGoogle ScholarCross RefCross Ref
  13. M. Souza, M. Borges, M. d'Amorim, and C. S. Păsăreanu. CORAL: Solving complex constraints for symbolic Pathfinder. In Proceedings of the 3rd NASA Formal Methods Symposium (NFM), pages 359--374, 2011. Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Symbolic Arrays in Symbolic PathFinder
    Index terms have been assigned to the content through auto-classification.

    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 ACM SIGSOFT Software Engineering Notes
      ACM SIGSOFT Software Engineering Notes  Volume 41, Issue 6
      November 2016
      110 pages
      ISSN:0163-5948
      DOI:10.1145/3011286
      Issue’s Table of Contents

      Copyright © 2017 Copyright is held by the owner/author(s)

      Permission to make digital or hard copies of part or all 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 third-party components of this work must be honored. For all other uses, contact the Owner/Author.

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 5 January 2017

      Check for updates

      Qualifiers

      • research-article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader