Feedback-Directed Unit Test Generation for C/C++ using Concolic Execution
Pranav Garg and
Franjo Ivancic and
Gogul Balakrishnan and
Naoto Maeda and
Aarti Gupta
Abstract:
In industry, software testing and coverage-based metrics are the
predominant techniques to check correctness of software. This paper
addresses automatic unit test generation for programs written in
C/C++. The main idea is to improve the coverage obtained by
feedback-directed random test generation methods, by utilizing
concolic execution on the generated test drivers. Furthermore, for
programs with numeric computations, we employ non-linear solvers in a
lazy manner to generate new test inputs. These techniques
significantly improve the coverage provided by a feedback-directed
random unit testing framework, while retaining the benefits of full
automation. We have implemented these techniques in a prototype
platform, and describe promising experimental results on a number of
C/C++ open source benchmarks.
Paper available as:
[Official Version]