We present a novel, non-intrusive approach to MC/DC coverage measurement using modern processor-based tracing facilities. Our approach does not require recompilation or instrumentation of the software under test. Instead, we use the Intel Processor Trace (Intel PT) facility present on modern Intel CPUs. Our tooling consists of the following parts: a frontend that detects so-called decisions (Boolean expressions) that are used in conditionals in C source code, a mapping from conditional jumps in the object code back to those decisions, and an analysis that computes satisfaction of the MC/DC coverage relation on those decisions from an execution trace. This analysis takes as input a stream of instruction addresses decoded from Intel PT trace data, which was recorded while running the software under test. We describe our architecture and discuss limitations and future work.
|Title of host publication||2019 International Symposium on Theoretical Aspects of Software Engineering (TASE)|
|Number of pages||7|
|Publication status||Published - 07.2019|
|Event||13th International Symposium on Theoretical Aspects of Software Engineering - Guilin, China|
Duration: 29.07.2019 → 31.07.2019
Conference number: 155650