programs. applied.

Patch provides expert programming, training, and consulting services.

Latest blog posts

MC/DC in GCC paper (in preprint)

My paper on Modified Condition/Decision Coverage in GCC is published (in preprint)! You can get a copy from here or from arxiv. It covers the reasning, inner workings, and algorithms behind the -fcondition-coverage flag in GCC.

Deprecating line coverage

Line coverage is typically the first structured metric looked at, and it provides a rough and imprecise measure of how thoroughly the test harness exercises the code. Briefly, line coverage is the answer to the question was code at this line ever run? The most important insight is finding the code that is not at all exercised in testing, but it can also be used as a coarse profiling tool by highlighting what lines are run more often and could warrants more optimization or other improvements. However, the unit of line is flawed in a couple of aspects, and it is time we stop using it and instead favour better metrics.

Early access: zcov

I am excited to announce my latest project, under the name zcov. It is a program for interpreting and appreciating coverage, with the goal of being the only tool you need for working with compiler instrumented coverage. It is still under development, but I have already been able to use it to understand and explain subtle program interactions, the path coverage view being particularly powerful.