Improving Search-based Test Suite Generation with Dynamic Symbolic Execution - ISSRE 2013
by Juan Pablo Galeotti, Gordon Fraser, Andrea Arcuri

Proceedings of the 24th IEEE International Symposium on Software Reliability Engineering, November 2013.

Digital Library via DOI: 10.1109/ISSRE.2013.6698889 - Local copy: Download as PDF file.

Abstract

Search-based testing can automatically generate unit test suites for object oriented code, but may struggle to generate specific values necessary to cover difficult parts of the code. Dynamic symbolic execution (DSE) efficiently generates such specific values, but may struggle with complex datatypes, in particular those that require sequences of calls for construction. The solution to these problems lies in a hybrid approach that integrates the best of both worlds, but such an integration needs to adapt to the problem at hand to avoid that higher coverage in a few corner cases comes at the price of lower coverage in the general case. We have extended the Genetic Algorithm (GA) in the EVOSUITE unit test generator to integrate DSE in an adaptive approach where feedback from the search determines when a problem is suitable for DSE. In experiments on a set of difficult classes our adaptive hybrid approach achieved an increase in code coverage of up to 63% (11% on average); experiments on the SF100 corpus of roughly 9,000 open source classes confirm that the improvement is of practical value, and a comparison with a DSE tool on the Roops set of benchmark classes shows that the hybrid approach improves over both its constituent techniques, GA and DSE.

BibTeX Entry

@inproceedings{galeotti-issre-2013,
    title = "Improving Search-based Test Suite Generation with Dynamic Symbolic Execution",
    author = "Juan Pablo Galeotti and Gordon Fraser and Andrea Arcuri",
    year = "2013",
    month = nov,
    booktitle = "Proceedings of the 24th IEEE International Symposium on Software Reliability Engineering",
    location = "Pasadena, CA, USA",
    doi = "10.1109/ISSRE.2013.6698889",
}

Show all publications of the Software Engineering Chair.