SUSHI: A test generator for programs with complex structured inputs

Pietro Braione, Giovanni Denaro, Andrea Mattavelli, Mauro Pezzè
[doi] [ISBN] [Google Scholar] [DBLP] [Citeseer] [url]
Read: 11 August 2020

Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings
ICSE '18
Gothenburg, Sweden
Association for Computing Machinery
New York, NY, USA
Pages 21-24
Note(s): search based test generation, symbolic execution, fuzz testing, test generation, unit tests

Search based test generation alone is unable to generate inputs that have complex structures such as dependencies between different data structures.

This paper uses symbolic execution to capture the missing dependencies and then transforms this into a fitness function to guide the search for inputs satisfying the dependencies.

SUSHI implements this for Java and is based on JBSE.

It is evaluated on benchmarks: avl, treemap, caching, tsafe, gantt, clos01, clos72. And compared against JBSE, Seeker and EvoSuite. Results with SUSHI seem to be dramatically better.

Future work is automatic synthesis of invariants.