FREEDOM251

Freedom251 › Test Coverage Tools

LCOV

Free plan LinuxSelf-hosted

Visit LCOV Alternatives Pricing

LCOV's own site

What LCOV is

LCOV captures and displays which parts of a program ran during tests. It creates HTML coverage reports with colored rates, bar graphs, and hyperlinks, and can also produce LCOV .info tracefiles. The project describes C/C++, Perl, and Python support, with translators for LLVM, Python Coverage.py, Perl Devel::Cover, Cobertura-like XML, and JaCoCo data. Reports can show a hierarchical directory view, a flat source-file list, or directory, file, and source-code detail levels. Users can include or exclude code and filter artifacts such as compiler-generated branches. LCOV also supports differential coverage reports and date and owner binning. Sample callbacks for Git and Perforce can identify source changes, authors, and edit dates. Its tools can parallelize work across multiple cores when requested, with an option to limit memory use. LCOV is free under GPL-2.0 and is available for Linux as RPM or tarball releases, or from a Git clone. It is primarily implemented in Perl and requires a reasonably current Perl installation and multiple Perl packages.

Who it suits

LCOV suits Linux developers and teams who need coverage reports for C/C++, Perl, or Python programs. It is self-hosted software, with installation options including RPM, tarball, or Git clone.

What it does well

  • HTML reports include colored rates, graphs, and hyperlinks
  • Supports differential coverage reporting
  • Can filter code and compiler-generated branch artifacts
  • Parallel processing can use multiple cores
  • GPL-2.0 licensed and free

What to know first

  • Linux platform only
  • Requires Perl and multiple Perl packages
  • Optional XS extension requires a C++20-capable compiler

Plans

PlanBilled and limitsPrice
LCOVGPL-2.0 licensed; available as RPM, tarball, or Git cloneFree

As github.com lists them, read 9 Oct 2026. The maker's own page has the final word.

Getting started

  1. Open the LCOV project website on GitHub.
  2. Choose an RPM or tarball release, or install from a Git clone.
  3. Install a moderately up-to-date Perl environment and the required Perl packages.
  4. Use the documented installation route; the default install location is /usr/local.

Verdict

LCOV offers detailed coverage reporting and filtering for supported codebases, with HTML and .info output. Installation requires Perl and related packages, while the optional XS extension has an additional compiler requirement.

Questions

How much does LCOV cost?

LCOV is free, at no cost, and is GPL-2.0 licensed.

Which languages does LCOV support?

The project describes support for C/C++, Perl, and Python.

What reports can LCOV produce?

It produces HTML coverage reports and LCOV .info tracefiles.

Which coverage types does LCOV handle?

Its listed types are line, function, branch, and MC/DC coverage.

What platforms and installation options are available?

LCOV is available for Linux and self-hosted use. Installation options include RPM, tarball, or a Git clone.

Facts from LCOV's own pages

Dependencies
LCOV is primarily implemented in Perl and requires a moderately up-to-date Perl installation and multiple Perl packages. · github.com, 9 Oct 2026
Differential coverage
LCOV supports differential coverage reports as well as date and owner binning. · github.com, 9 Oct 2026
Filtering
Users can include or exclude code and filter coverage artifacts such as compiler-generated branches. · github.com, 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, 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, 9 Oct 2026
License
The repository identifies LCOV as GPL-2.0 licensed. · github.com, 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, 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, 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, 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, 9 Oct 2026
Purpose
LCOV captures and displays information about which parts of a program ran during tests. · github.com, 9 Oct 2026
Reports
It generates HTML coverage reports with colored coverage rates, bar graphs, and hyperlinks. · github.com, 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, 9 Oct 2026
Version control
Sample callbacks are provided for Git and Perforce to identify source changes, authors, and edit dates. · github.com, 9 Oct 2026

Where LCOV stands on Freedom251

Look at these too