One test to rule them all

Alex Groce, Josie Holmes, Kevin Kellar

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

13 Scopus citations

Abstract

Test reduction has long been seen as critical for automated testing. However, traditional test reduction simply reduces the length of a test, but does not attempt to reduce semantic complexity. This paper extends previous efforts with algorithms for normalizing and generalizing tests. Rewriting tests into a normal form can reduce semantic complexity and even remove steps from an already delta-debugged test. Moreover, normalization dramatically reduces the number of tests that a reader must examine, partially addressing the "fuzzer taming" problem of discovering distinct faults in a set of failing tests. Generalization, in contrast, takes a test and reports what aspects of the test could have been changed while preserving the property that the test fails. Normalization plus generalization AIDS understanding of tests, including tests for complex and widely used APIs such as the NumPy numeric computation library and the ArcPy GIS scripting package. Normalization frequently reduces the number of tests to be examined by well over an order of magnitude, and often to just one test per fault. Together, ideally, normalization and generalization allow a user to replace reading a large set of tests that vary in unimportant ways with reading one annotated summary test.

Original languageEnglish (US)
Title of host publicationISSTA 2017 - Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis
EditorsKoushik Sen, Tevfik Bultan
PublisherAssociation for Computing Machinery, Inc
Pages1-11
Number of pages11
ISBN (Electronic)9781450350761
DOIs
StatePublished - Jul 10 2017
Externally publishedYes
Event26th ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2017 - Santa Barbara, United States
Duration: Jul 10 2017Jul 14 2017

Publication series

NameISSTA 2017 - Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis

Conference

Conference26th ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2017
Country/TerritoryUnited States
CitySanta Barbara
Period7/10/177/14/17

Keywords

  • Fuzzer taming
  • Semantic simplification
  • Test case reduction

ASJC Scopus subject areas

  • Computational Theory and Mathematics
  • Computer Science Applications
  • Software

Fingerprint

Dive into the research topics of 'One test to rule them all'. Together they form a unique fingerprint.

Cite this