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 |
Fingerprint
Dive into the research topics of 'Testing heap-based programs with Java StarFinder'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver