Non-Intrusive Structural Coverage for Objective Caml
Author(s) -
Philippe Wang,
Adrien Jonquet,
Emmanuel Chailloux
Publication year - 2011
Publication title -
electronic notes in theoretical computer science
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.242
H-Index - 60
ISSN - 1571-0661
DOI - 10.1016/j.entcs.2011.02.006
Subject(s) - computer science , source code , programming language , unreachable code , debugging , redundant code , static program analysis , code generation , control flow , dead code , code (set theory) , static analysis , code coverage , virtual machine , machine code , semantics (computer science) , kpi driven code analysis , operating system , compiler , software , software development , set (abstract data type) , key (lock)
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
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom