kirancodes.me
To Proof Maintenance & Beyond!

GRT: Program-Analysis-Guided Random Testing (T)

Lei Ma, Cyrille Artho, Cheng Zhang, Hiroyuki Sato, Johannes Gmeiner, Rudolf Ramler

Abstract

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.

BibTeX
@inproceedings{Ma-al:ASE15,
  author    = {Lei Ma and
               Cyrille Artho and
               Cheng Zhang and
               Hiroyuki Sato and
               Johannes Gmeiner and
               Rudolf Ramler},
  title     = {{GRT:} {Program-Analysis-Guided} Random Testing {(T)}},
  booktitle = {ASE},
  pages     = {212--223},
  publisher = {{IEEE} Computer Society},
  year      = {2015},
}

Related papers