Mind the Gap: The Difference between Coverage and Mutation Score Can Guide Testing Efforts

Kush Jain, Goutamkumar Tulajappa Kalburgi, Claire Le Goues, Alex Groce

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

Abstract

An "adequate"test suite should effectively find all inconsistencies between a system's requirements/specifications and its implementation. Practitioners frequently use code coverage to approximate adequacy, while academics argue that mutation score may better approximate true (oracular) adequacy coverage. High code coverage is increasingly attainable even on large systems via automatic test generation, including fuzzing. In light of all of these options for measuring and improving testing effort, how should a QA engineer spend their time? We propose a new framework for reasoning about the extent, limits, and nature of a given testing effort based on an idea we call the oracle gap, or the difference between source code coverage and mutation score for a given software element. We conduct (1) a large-scale observational study of the oracle gap across popular Maven projects, (2) a study that varies testing and oracle quality across several of those projects and (3) a small-scale observational study of highly critical, well-tested code across comparable blockchain projects. We show that the oracle gap surfaces important information about the extent and quality of a test effort beyond either adequacy metric alone. In particular, it provides a way for practitioners to identify source files where it is likely a weak oracle tests important code.

Original languageEnglish (US)
Title of host publicationProceedings - 2023 IEEE 34th International Symposium on Software Reliability Engineering, ISSRE 2023
PublisherIEEE Computer Society
Pages102-113
Number of pages12
ISBN (Electronic)9798350315943
DOIs
StatePublished - 2023
Event34th IEEE International Symposium on Software Reliability Engineering, ISSRE 2023 - Florence, Italy
Duration: Oct 9 2023Oct 12 2023

Publication series

NameProceedings - International Symposium on Software Reliability Engineering, ISSRE
ISSN (Print)1071-9458

Conference

Conference34th IEEE International Symposium on Software Reliability Engineering, ISSRE 2023
Country/TerritoryItaly
CityFlorence
Period10/9/2310/12/23

Keywords

  • code coverage
  • mutation testing
  • oracle strength

ASJC Scopus subject areas

  • Software
  • Safety, Risk, Reliability and Quality

Fingerprint

Dive into the research topics of 'Mind the Gap: The Difference between Coverage and Mutation Score Can Guide Testing Efforts'. Together they form a unique fingerprint.

Cite this