GRT: Program-analysis-guided random testing

Authors Lei Ma
Cyrille Artho
Cheng Zhang
Hiroyuki Sato
Johannes Gmeiner
Rudolf Ramler
Title GRT: Program-analysis-guided random testing
Booktitle Proceddings of the 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE 2015)
Type in proceedings
Publisher IEEE
Mark ACM SIGSOFT - Distinguished Paper Award
ISBN 978-1-5090-0025-8
DOI 10.1109/ASE.2015.49
Month November
Year 2015
Pages 212-223
SCCH ID# 1543

We propose Guided Random Testing (GRT), which uses static and dynamic analysis to include information on program types, data, and dependencies in various stages of automated test generation. Static analysis extracts knowledge from the system under test. Test coverage is further improved through state fuzzing and continuous coverage analysis. We evaluated GRT on 32 real-world projects and found that GRT outperforms major peer techniques in terms of code coverage (by 13%) and mutation score (by 9 %). On the four studied benchmarks of Defects4J, which contain 224 real faults, GRT also shows better fault detection capability than peer techniques, finding 147 faults (66 %). Furthermore, in an in-depth evaluation on the latest versions of ten popular real-world projects, GRT successfully detects over 20 unknown defects that were confirmed by developers.