skip to main content
10.1145/3183440.3194964acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
poster

Testing heap-based programs with Java StarFinder

Published:27 May 2018Publication History

ABSTRACT

We present Java StarFinder (JSF), a tool for automated test case generation and error detection for Java programs having inputs in the form of complex heap-manipulating data structures. The core of JSF is a symbolic execution engine that uses separation logic with existential quantifiers and inductively-defined predicates to precisely represent the (unbounded) symbolic heap. The feasibility of a heap configuration is checked by a satisfiability solver for separation logic. At the end of each feasible path, a concrete model of the symbolic heap (returned by the solver) is used to generate a test case, e.g., a linked list or an AVL tree, that exercises that path.

We show the effectiveness of JSF by applying it on non-trivial heap-manipulating programs and evaluated it against JBSE, a state-of-the-art symbolic execution engine for heap-based programs. Experimental results show that our tool significantly reduces the number of invalid test inputs and improves the test coverage.

References

  1. JaCoCo Java Code Coverage Library, http://www.eclemma.org/jacoco/.Google ScholarGoogle Scholar
  2. Java PathFinder. http://babelfish.arc.nasa.gov/trac/jpf/.Google ScholarGoogle Scholar
  3. P. Braione, G. Denaro, and M. Pezzè. JBSE: A Symbolic Executor for Java Programs with Complex Heap Inputs. FSE 2016, pages 1018--1022. ACM, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. X. Deng, J. Lee, and Robby. Bogor/Kiasan: A K-bounded Symbolic Execution for Checking Strong Heap Properties of Open Systems. ASE '06, pages 157--166. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. B. Hillery, E. Mercer, N. Rungta, and S. Person. Exact Heap Summaries for Symbolic Execution. VMCAI 2016, pages 206--225, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. S. S. Ishtiaq and P. W. O'Hearn. BI as an assertion language for mutable data structures. POPL '01, pages 14--26. ACM, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. S. Khurshid, C. S. Păsăreanu, and W. Visser. Generalized symbolic execution for model checking and testing. TACAS'03, pages 553--568. Springer-Verlag, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. J. C. King. Symbolic execution and program testing. Commun. ACM, 19(7):385--394, July 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Q. L. Le, J. Sun, and W.-N. Chin. Satisfiability Modulo Heap-Based Programs. In CAV, pages 382--404. Springer International Publishing, 2016.Google ScholarGoogle Scholar
  10. Q. L. Le, M. Tatsuta, J. Sun, and W. Chin. A Decidable Fragment in Separation Logic with Inductive Predicates and Arithmetic. In CAV 2017, pages 495--517.Google ScholarGoogle Scholar
  11. L. H. Pham, Q. L. Le, Q. Phan, J. Sun, and S. Qin. Enhancing Symbolic Execution of Heap-based Programs with Separation Logic for Test Input Generation. CoRR, abs/1712.06025, 2017.Google ScholarGoogle Scholar
  12. J. Reynolds. Separation Logic: A Logic for Shared Mutable Data Structures. In LICS, pages 55--74, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library

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
    ICSE '18: Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings
    May 2018
    231 pages
    ISBN:9781450356633
    DOI:10.1145/3183440
    • Conference Chair:
    • Michel Chaudron,
    • General Chair:
    • Ivica Crnkovic,
    • Program Chairs:
    • Marsha Chechik,
    • Mark Harman

    Copyright © 2018 Owner/Author

    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: 27 May 2018

    Check for updates

    Qualifiers

    • poster

    Acceptance Rates

    Overall Acceptance Rate276of1,856submissions,15%

    Upcoming Conference

    ICSE 2025

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader