Non-Intrusive Structural Coverage for Objective Caml

https://doi.org/10.1016/j.entcs.2011.02.006Get rights and content
Under a Creative Commons license
open access

Abstract

This paper presents a non-intrusive method for Objective Caml code coverage analysis. While classic methods rewrite the source code to an instrumented version that will produce traces at runtime, our approach chooses not to rewrite the source code. Instead, we use a virtual machine to monitor instructions execution and produce traces. These low-level traces are used to create a machine code coverage report. Combined with control-flow debug information, they can be analyzed to produce a source code coverage report. The purpose of this approach is to make available a method to generate code coverage analysis with the same binary for testing and for production. Our customized virtual machine respects the same semantics as the original virtual machine; one of its original aspects is that it is implemented in the Objective Caml, the very language we build the tool for.

This work is part of the Coverage project, which aims to develop open source tools for safety-critical embedded applications and their code generators.

Keywords

Certification Tools Design
Code Coverage
Objective Caml Virtual Machine

Cited by (0)