Skip to main navigation Skip to search Skip to main content

Time to Clean Your Test Objectives

  • Michaël Marcozzi
  • , Mike Papadakis
  • , Sébastien Bardin
  • , Virgile Prevosto
  • , Nikolai Kosmatov
  • , Loïc Correnson
  • Imperial College London
  • University of Luxembourg
  • Software Safety and Security Lab

Research output: Contribution to journalConference articlepeer-review

25 Citations (Scopus)

Abstract

Testing is the primary approach for detecting software defects. A major challenge faced by testers lies in crafting efficient test suites, able to detect a maximum number of bugs with manageable effort. To do so, they rely on coverage criteria, which define some precise test objectives to be covered. However, many common criteria specify a significant number of objectives that occur to be infeasible or redundant in practice, like covering dead code or semantically equal mutants. Such objectives are well-known to be harmful to the design of test suites, impacting both the efficiency and precision of the tester’s effort. This work introduces a sound and scalable technique to prune out a significant part of the infeasible and redundant objectives produced by a panel of white-box criteria. In a nutshell, we reduce this task to proving the validity of logical assertions in the code under test. The technique is implemented in a tool that relies on weakest-precondition calculus and SMT solving for proving the assertions. The tool is built on top of the Frama-C verification platform, which we carefully tune for our specific scalability needs. The experiments reveal that the pruning capabilities of the tool can reduce the number of targeted test objectives in a program by up to 27% and scale to real programs of 200K lines, making it possible to automate a painstaking part of their current testing process.

Original languageEnglish
Pages (from-to)456-467
Number of pages12
JournalProceedings - International Conference on Software Engineering
Volume2018-January
DOIs
Publication statusPublished - 1 Jan 2018
Externally publishedYes
Event40th International Conference on Software Engineering, ICSE 2018 - Gothenburg, Sweden
Duration: 27 May 20183 Jun 2018

Keywords

  • Coverage Criteria
  • Infeasible Objectives
  • Redundant Objectives

Fingerprint

Dive into the research topics of 'Time to Clean Your Test Objectives'. Together they form a unique fingerprint.

Cite this