JPF-Doop: Combining Concolic and Random Testing for Java


Marko Dimjasevic, Zvonimir Rakamaric. Java Pathfinder Workshop (JPF 2013), Palo Alto, CA, USA.
[pdf] [bib]

Abstract: Achieving high code coverage during software testing is important because it gives a measure of how thoroughly the software has been tested. However, reaching high code coverage in testing of real-world software is challenging due to its size and complexity. Our paper addresses this challenge by proposing an automatic multipronged approach. In particular, we propose an iterative algorithm for generating unit tests that meaningfully combines concolic execution and random testing. The algorithm aims to exploit the advantages of both random testing and systematic software verification techniques. We implemented the algorithm by integrating a Java Pathfinder’s concolic execution engine and Randoop, and dubbed the implementation JPF-Doop. Preliminary experimental results show that JPF-Doop outperforms Randoop in terms of code coverage.


  author = {Marko Dimja\v{s}evi\'c and Zvonimir Rakamari\'c},
  title = {{JPF-Doop}: Combining Concolic and Random Testing for {Java}},
  booktitle = {Java Pathfinder Workshop (JPF)},
  year = {2013},
  note = {Extended abstract},