GRT: Program-analysis-guided random testing

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

Research output: Chapter in Book/Report/Conference proceedingConference contribution

56 Citations (Scopus)

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.

Original languageEnglish
Title of host publicationProceedings - 2015 30th IEEE/ACM International Conference on Automated Software Engineering, ASE 2015
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages212-223
Number of pages12
ISBN (Electronic)9781509000241
DOIs
Publication statusPublished - Jan 4 2016
Externally publishedYes
Event30th IEEE/ACM International Conference on Automated Software Engineering, ASE 2015 - Lincoln, United States
Duration: Nov 9 2015Nov 13 2015

Publication series

NameProceedings - 2015 30th IEEE/ACM International Conference on Automated Software Engineering, ASE 2015

Other

Other30th IEEE/ACM International Conference on Automated Software Engineering, ASE 2015
Country/TerritoryUnited States
CityLincoln
Period11/9/1511/13/15

All Science Journal Classification (ASJC) codes

  • Software

Fingerprint

Dive into the research topics of 'GRT: Program-analysis-guided random testing'. Together they form a unique fingerprint.

Cite this