학술논문

Non-Intrusive MC/DC Measurement Based on Traces
Document Type
Conference
Source
2019 International Symposium on Theoretical Aspects of Software Engineering (TASE) Theoretical Aspects of Software Engineering (TASE), 2019 International Symposium on. :86-92 Jul, 2019
Subject
Computing and Processing
Engineering Profession
Software engineering
Code coverage, MC/DC, Software testing, Software verification
Language
Abstract
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.