I'm using Bullseye code coverage tool. It's great. I'm interested in knowing it's internal functioning. How does it actually work?

1 Answer 1


This is a tool-agnostic question. All of them work the same way: they instrument the code of your system. Each time a line or branch of your code is visited at runtime, the tool caches this information. Afterall, the number of visited lines (or branches) is divided by the total number of lines (or branches). This is done in the scope of a single class/file, package, packages subtrees and whole application.

The code instrumentation can be, however, tool- and language-specific.

Here you will find more info, links and research papers how to implement code coverage tool yourself and how instrumentation in example tools is done.

  • 2
    It is useful to distinguish between tools that instrument the source code, and those that instrument byte code. You pretty much can't get the latter for conventionally compiled languages.
    – Ira Baxter
    Jan 27, 2014 at 10:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.