Many efficient random testing algorithms for object-oriented software have been proposed due to their simplicity and reasonable code coverage; however, even the state-of-the-art random test algorithms yield very low code coverage (around 22%) on large-scale software. We propose four testing techniques to improve test coverage. The proposed techniques are pluggable to any existing random testing techniques for object-oriented software. We incorporated our techniques to a state-of-the-art random testing tool and tested large-scale software, including Java Collections, Apache Ant, and ASM. Our experimental study shows that the proposed techniques increase at most 21% of branch coverage - a significant improvement.
['Hojun Jaygarl', 'Carl K. Chang', 'Sunghun Kim']
Practical Extensions of a Randomized Testing Tool