Encoding Optimal Customized Coverage Instrumentation

This research was conducted by Peter Ohmann, David Bingham Brown, Naveen Neelakandan, Jeff Linderoth, and Ben Liblit.

Abstract

Program coverage is an important software quality metric. Coverage is most commonly gathered in the testing lab during development. However, developers also sometimes use inexpensive forms of program coverage in production software. In the post-deployment scenario, users often place very strict requirements on tracing overheads and legal instrumentation strategies. This work deals specifically with optimizing program coverage instrumentation strategies given instrumentation requirements and limitations.

The problem of optimal customized coverage instrumentation is known to be NP-hard, so a polynomial-time solver is unlikely to exist. This particular report presents a fully-optimal approach to solving the problem of customized program coverage instrumentation optimization. We encode our solution as a mixed-integer linear optimization problem. We build up a mathematical model of the constraints required to satisfy required coverage instrumentation criteria, and present a complete model for solving the customized coverage instrumentation problem.

Full Paper

The full paper is available as a single PDF document. A suggested BibTeX citation record is also available.