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.
Original language | English |
---|---|
Title of host publication | Proceedings - International Conference on Software Engineering |
Publisher | IEEE Computer Society |
Pages | 268-269 |
Number of pages | 2 |
ISBN (Electronic) | 9781450356633 |
DOIs | |
Publication status | Published - 27 May 2018 |
Event | 40th ACM/IEEE International Conference on Software Engineering - Gothenburg, Sweden Duration: 27 May 2018 → 3 Jun 2018 |
Conference
Conference | 40th ACM/IEEE International Conference on Software Engineering |
---|---|
Abbreviated title | ICSE 2018 |
Country/Territory | Sweden |
City | Gothenburg |
Period | 27/05/18 → 3/06/18 |