Study of integrating random and symbolic testing for object-oriented software

Marko Dimjašević, Falk Howar, Kasper Luckow, Zvonimir Rakamarić
[doi] [ISBN] [Google Scholar] [DBLP] [Citeseer]
Read: 07 September 2020

Integrated Formal Methods
Springer International Publishing
Pages 89-109
Note(s): fuzz testing, symbolic execution, unit tests
Papers: garg:icse:2013

Describes and evaluates JDOOP: a hybrid fuzzer/symbolic executor for Java that uses random search to quickly build coverage and symbolic execution to hit hard to hit branch conditions. JDOOP is a combination of RANDOOP and JDART.

As in garg:icse:2013 the main goal is to generate sequences of method calls that achieve high coverage.

One major barrier is the handling of non-Java code which, unfortunately includes Java string functions charAt and indexOf. These are not treated symbolically: the tool has a choice of either returning a symbolic return value or of concretizing inputs and running concretely.