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.
paper
automatic test case generation; Search-based software engineering; symbolic execution; Software
English
ACM/IEEE International Conference on Software Engineering, ICSE 2018
2018
Proceedings - International Conference on Software Engineering
9781450356633
2018
21
24
reserved
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].
File in questo prodotto:
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.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10281/220024
Citazioni
  • Scopus 22
  • ???jsp.display-item.citation.isi??? 13
Social impact