[Review] Feedback-directed Random Test Generation
The paper presents a technique to improve random test generation by incorporating feedback obtained from executing test inputs as they are created.
This paper aims to exposing the potential faults in objects(e.g., Java class), i.e., object oriented, by generating a sequence of method calls to explore bugs.
Background
Random testing is of low efficiency, and may generate useless and redundant test sequences. So RANDOOP is proposed to handle this problem.
Implementation
- Randomly select some method sequences that have been checked with no error.
Concatenate and extend the sequence to form a new sequence.
If the newly generated sequence is redundant, abandon it.
Check the sequence with personal-designed contracts and filters.
Evaluation:
- The coverage that RANDOOP achieves on a collection of container data structures, and compares it with JPF.
- Uses RANDOOP to generate test inputs that find API contract violations on 14 widely-used libraries, and compares with JPF and other undirected random testing methods.
- Uses RANDOOP-generated regression test cases to finnd regression errors in three industrial implementations of the Java JDK.
[Review] Feedback-directed Random Test Generation