Random and search-based test generators yield realistic test cases based on program APIs, but often miss structural test objectives that depend on non-Trivial data structure instances; Whereas symbolic execution can precisely characterise those dependencies but does not compute method sequences to instantiate them. We present SUSHI, a high-coverage test case generator for programs with complex structured inputs. SUSHI leverages symbolic execution to generate path conditions that precisely describe the relationship between program paths and input data structures, and converts the path conditions into the fitness functions of search-based test generation problems. A solution for the search problem is a legal method sequence that instantiates the structured inputs to exercise the program paths identified by the path condition. Our experiments indicate that SUSHI can distinctively complement current automatic test generation tools.
Braione, P., Denaro, G., Mattavelli, A., Pezzè, M. (2018). SUSHI: A test generator for programs with complex structured inputs. In Proceedings - International Conference on Software Engineering (pp.21-24). IEEE Computer Society [10.1145/3183440.3183472].
SUSHI: A test generator for programs with complex structured inputs
Braione, Pietro;Denaro, Giovanni;Pezzè, Mauro
2018
Abstract
Random and search-based test generators yield realistic test cases based on program APIs, but often miss structural test objectives that depend on non-Trivial data structure instances; Whereas symbolic execution can precisely characterise those dependencies but does not compute method sequences to instantiate them. We present SUSHI, a high-coverage test case generator for programs with complex structured inputs. SUSHI leverages symbolic execution to generate path conditions that precisely describe the relationship between program paths and input data structures, and converts the path conditions into the fitness functions of search-based test generation problems. A solution for the search problem is a legal method sequence that instantiates the structured inputs to exercise the program paths identified by the path condition. Our experiments indicate that SUSHI can distinctively complement current automatic test generation tools.File | Dimensione | Formato | |
---|---|---|---|
3183440.3183472.pdf
Solo gestori archivio
Tipologia di allegato:
Publisher’s Version (Version of Record, VoR)
Dimensione
818.11 kB
Formato
Adobe PDF
|
818.11 kB | Adobe PDF | Visualizza/Apri Richiedi una copia |
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.