SEAug 18, 2020

Differential coverage: automating coverage analysis

arXiv:2008.07947v14 citationsHas Code
Originality Synthesis-oriented
AI Analysis

This addresses the challenge of efficiently analyzing coverage data for developers and engineers in large-scale software and hardware projects, though it is incremental as it builds on existing coverage metrics.

The paper tackles the problem of automating coverage data analysis, which is typically manual and costly, by introducing differential coverage and date binning methods to prioritize untested code areas and reduce analysis costs in large-scale projects.

While it is easy to automate coverage data collection, it is a time consuming/difficult/expensive manual process to analyze the data so that it can be acted upon. Complexity arises from numerous sources, of which untested or poorly tested legacy code and third-party libraries are two of the most common. Differential coverage and date binning are methods of combining coverage data and project/file history to determine if goals have been met and to identify areas of code which should be prioritized. These methods can be applied to any coverage metric which can be associated with a location -- statement, function, expression, toggle, etc. -- and to any language, including both software (C++, Python, etc.) and hardware description languages (SystemVerilog, VHDL). The goal of these approaches is to reduce the cost and the barrier to entry of using coverage data analysis in large-scale projects. The approach is realized in gendiffcov, a recently released open-source tool.

Code Implementations2 repos
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes