programs. applied.

Patch provides expert programming, training, and consulting services.

Latest blog posts

Phantom conditions

This post is based on an interesting case NASA brought me; a small test program with a phantom condition. In the example, timed_out() is always true, which means checkout() cannot satisfy MC/DC, but let’s pretend it does something interesting. The function has one decision with two conditions, and four outcomes. Let’s measure MC/DC and confirm:

Prime path coverage merged into GCC

I am happy to announce that the prime path coverage support has been merged into GCC mainline. This was a continuation of my MC/DC project with NASA. I did most of the programming in the spring through autumn of 2024, followed by a long period of mostly testing and paper writing. NASA have been using GCC builds with this feature for about six months now, and they are quite happy with what they can learn from it. Process wise, it is an opportunity for simplification too – because prime path coverage subsumes most other coverage metrics we can now focus on a single metric.