user47827: I have heard writing tests is a good starting point for contributing to Bitcoin Core. How do I work out which parts or specific lines of the codebase need additional test coverage?

user47827: Marco Falke has a site that analyzes the current line, function and branch coverage for unit tests, functional tests and fuzz tests.
Alternatively, vasild runs clang's tools and then a script to highlight which lines in the coverage report have been modified by a particular patch (PR).

user45980: If your intention is to contribute to Bitcoin Core, you must be able to build these reports locally. So that you can compare if your changes have been effective at increasing coverage.
The general steps are:

Download the code and compile it
Install LCOV for report generation
Configure bitcoin to enable line coverage, ie --enable-lcov
Execute the coverage task, ie make cov

Once you have the dev environment correctly setup, the commands are:
./configure --enable-lcov
make cov

The official docs are located here: developer-notes.md#compiling-for-test-coverage

47827: <p>I have heard <a href="https://bitcoin.stackexchange.com/questions/90389/is-writing-unit-tests-a-good-way-to-start-contributing-to-bitcoin-core">writing tests</a> is a good starting point for contributing to Bitcoin Core. How do I work out which parts or specific lines of the codebase need additional test coverage?</p>
 47827: <p>Marco Falke has a <a href="https://marcofalke.github.io/btc_cov/" rel="nofollow noreferrer">site</a> that analyzes the current line, function and branch coverage for unit tests, functional tests and fuzz tests.</p>
<p>Alternatively, vasild runs clang's tools and then a <a href="https://github.com/vasild/filter_coverage" rel="nofollow noreferrer">script</a> to highlight which lines in the coverage report have been modified by a particular patch (PR).</p>
 45980: <p>If your intention is to contribute to Bitcoin Core, you must be able to build these reports locally. So that you can compare if your changes have been effective at increasing coverage.</p>
<p>The general steps are:</p>
<ul>
<li><a href="https://github.com/bitcoin/bitcoin/tree/master/doc#building" rel="nofollow noreferrer">Download the code and compile it</a></li>
<li>Install LCOV for report generation</li>
<li>Configure bitcoin to enable line coverage, ie <code>--enable-lcov</code></li>
<li>Execute the coverage task, ie <code>make cov</code></li>
</ul>
<p>Once you have the dev environment correctly setup, the commands are:</p>
<pre><code>./configure --enable-lcov
make cov
</code></pre>
<p>The official docs are located here: <a href="https://github.com/bitcoin/bitcoin/blob/8d6f9210d90b350a9248f853ed8c559ef5e12505/doc/developer-notes.md#compiling-for-test-coverage" rel="nofollow noreferrer">developer-notes.md#compiling-for-test-coverage</a></p>
