kirancodes.me
To Proof Maintenance & Beyond!

Feedback-directed unit test generation for C/C++ using concolic execution

Pranav Garg, Franjo Ivancic, Gogul Balakrishnan, Naoto Maeda, 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.

BibTeX
@inproceedings{Garg-al:ICSE13,
  author    = {Pranav Garg and
               Franjo Ivancic and
               Gogul Balakrishnan and
               Naoto Maeda and
               Aarti Gupta},
  title     = {Feedback-directed unit test generation for {C/C++} using concolic execution},
  booktitle = {ICSE},
  pages     = {132--141},
  publisher = {{IEEE} Computer Society},
  year      = {2013},
}

Related papers