Monday, October 26, 2026 4,350 lists 78,101 records on file
List your app or device

  1. Home
  2. Test Coverage Tools
  3. LCOV

LCOV

What it is

LCOV is free, GPL-2.0 software for Linux and self-hosted environments that captures which parts of a program ran during tests. It produces HTML reports with colored rates, bar graphs, and hyperlinks, and can also write LCOV .info tracefiles. Listed coverage types include line, function, branch, and MC/DC coverage for C/C++, Perl, and Python projects. Reports can be organized hierarchically, as a flat source-file list, or with directory, file, and source-code detail. Users can include or exclude code and filter artifacts such as compiler-generated branches. Differential reports, date and owner binning, historical trends, and coverage gates are supported. Sample callbacks for Git and Perforce identify source changes, authors, and edit dates. lcov, genhtml, and geninfo can parallelize work across cores with a memory limit option. Installation is available through RPM, tarball, or Git clone, with /usr/local as the default location. LCOV is primarily implemented in Perl and needs Perl packages.

For and against

For

  • Free GPL-2.0 open-source distribution
  • HTML reports include graphs and hyperlinks
  • Supports line, function, branch, and MC/DC coverage
  • Differential reports and historical trends are available
  • Parallel processing can use multiple cores

Against

  • Requires a moderately up-to-date Perl installation
  • Needs multiple Perl packages
  • Optional XS extension requires a C++20-capable compiler
  • Volunteer issue support is the listed support route

The verdict

LCOV offers broad coverage reporting and filtering for supported languages, with command-line installation choices and self-hosted use. Its Perl dependencies and Linux focus are important considerations before adoption.

Who it suits

It suits development teams working on Linux projects in C/C++, Perl, or Python. It is relevant when self-hosted coverage reports, filtering, differential views, or coverage gates are needed.

Plans and prices

LCOV

Free

GPL-2.0 licensed; available as RPM, tarball, or Git clone

Every plan, in full

On the record

Dependencies
LCOV is primarily implemented in Perl and requires a moderately up-to-date Perl installation and multiple Perl packages.github.com · read 9 Oct 2026
Differential coverage
LCOV supports differential coverage reports as well as date and owner binning.github.com · read 9 Oct 2026
Filtering
Users can include or exclude code and filter coverage artifacts such as compiler-generated branches.github.com · read 9 Oct 2026
Installation
The project provides RPM and tarball releases, and documents installation from a Git clone; the default install location is /usr/local.github.com · read 9 Oct 2026
Languages
The project describes support for C/C++, Perl, and Python, and includes translators for LLVM, Python Coverage.py, Perl Devel::Cover, Cobertura-like XML, and JaCoCo data.github.com · read 9 Oct 2026
License
The repository identifies LCOV as GPL-2.0 licensed.github.com · read 9 Oct 2026
Maker
The GitHub organization describes Linux Test Project as providing tools and test suites to verify the Linux kernel and related subsystems.github.com · read 9 Oct 2026
Optional extension
The optional XS extension requires a C++20-capable compiler; the README specifies g++ 8 or later and recommends g++ 14 or later.github.com · read 9 Oct 2026
Parallel processing
lcov, genhtml, and geninfo can parallelize work across multiple cores when requested, with an option to limit memory use.github.com · read 9 Oct 2026
Project scale
Its reports can show coverage in a hierarchical directory view, a flat source-file list, or directory, file, and source-code detail levels.github.com · read 9 Oct 2026
Purpose
LCOV captures and displays information about which parts of a program ran during tests.github.com · read 9 Oct 2026
Reports
It generates HTML coverage reports with colored coverage rates, bar graphs, and hyperlinks.github.com · read 9 Oct 2026
Support
The README directs users with questions to open an issue or discussion and says issue support is provided by volunteers.github.com · read 9 Oct 2026
Version control
Sample callbacks are provided for Git and Perforce to identify source changes, authors, and edit dates.github.com · read 9 Oct 2026

Alternatives to LCOV

Every alternative, ranked