TestCov: Robust test-suite execution and coverage measurement

Dirk Beyer, Thomas Lemberger
[doi] [Google Scholar] [DBLP] [Citeseer]
Read: 23 June 2020

2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE)
Pages 1074-1077
Note(s): Test competition, KLEE verifier, Fuzz testing, FQL
Papers: beyer:hvc:2017

TestCov is a tool that measures the coverage of a test suites and generates a reduced test suite. It is used in the Test competition and can work with all the tools that compete in that competition.

The input is a test suite (in the test suite interchange format (XML)), a program and a specification of the coverage criterion (in FQL).

The tool is based on BenchExec and provides containerization (like Docker) using Cgroups, etc. so that program runs are isolated from each other. The containerization has another benefit: it uses an in-memory filesystem that is faster than a standard filesystem and so speeds up program execution.

The testcov tool inserts instrumentation to measure block, branch and condition coverage as well as calls to an error function.

Software Testing Competition (Test-Comp), Verification profiling of code