Generating focused random tests using directed swarm testing

Mohammad Amin Alipour, Alex Groce, Rahul Gopinath, Arpit Christi

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

27 Scopus citations

Abstract

Random testing can be a powerful and scalable method for finding faults in software. However, sophisticated random testers usually test a whole program, not individual components. Writing random testers for individual components of complex programs may require unreasonable effort. In this paper we present a novel method, directed swarm testing, that uses statistics and a variation of random testing to produce random tests that focus on only part of a program, increasing the frequency with which tests cover the targeted code. We demonstrate the effectiveness of this technique using real-world programs and test systems (the YAFFS2 file system, GCC, and Mozilla's SpiderMonkey JavaScript engine), and discuss various strategies for directed swarm testing. The best strategies can improve coverage frequency for targeted code by a factor ranging from 1.1-4.5x on average, and from nearly 3x to nearly 9x in the best case. For YAFFS2, directed swarm testing never decreased coverage, and for GCC and SpiderMonkey coverage increased for over 99% and 73% of targets, respectively, using the best strategies. Directed swarm testing improves detection rates for real SpiderMonkey faults, when the code in the introducing commit is targeted. This lightweight technique is applicable to existing industrial-strength random testers.

Original languageEnglish (US)
Title of host publicationISSTA 2016 - Proceedings of the 25th International Symposium on Software Testing and Analysis
EditorsAbhik Roychoudhury, Andreas Zeller
PublisherAssociation for Computing Machinery, Inc
Pages70-81
Number of pages12
ISBN (Electronic)9781450343909
DOIs
StatePublished - Jul 18 2016
Externally publishedYes
Event25th International Symposium on Software Testing and Analysis, ISSTA 2016 - Saarbrucken, Germany
Duration: Jul 18 2016Jul 20 2016

Publication series

NameISSTA 2016 - Proceedings of the 25th International Symposium on Software Testing and Analysis

Conference

Conference25th International Symposium on Software Testing and Analysis, ISSTA 2016
Country/TerritoryGermany
CitySaarbrucken
Period7/18/167/20/16

Keywords

  • Random testing
  • Regression testing
  • Swarm testing

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'Generating focused random tests using directed swarm testing'. Together they form a unique fingerprint.

Cite this