New trace-based method brings MC/DC testing to optimized embedded builds
Hybrid runtime analysis keeps coverage accurate on -O3 release binaries, enabling integration-level MC/DC evidence.
Structural coverage in embedded projects is typically collected at unit level because instrumentation there is cheap, but the most representative completeness signal comes from integration and system tests on real devices. Classical instrumentation perturbs timing, memory footprint, and concurrency, while purely trace-reconstructed coverage loses reliability for decisions and conditions under aggressive compiler optimization. Weiss, Schulz, and Wittner address this mismatch with a process-side integration-first strategy: integration and system tests become the baseline measurement, and residual gaps are closed explicitly as covered or justified, not just covered.
Technically, they introduce hybrid runtime analysis (hRA), a minimal, semantics-preserving observability scaffolding that keeps decision and condition boundaries visible in the trace stream of an -O3 build while all coverage state stays off-target. This converts object-to-source mapping from heuristic reconstruction into reviewable evidence, making branch, condition, and MC/DC measurement practical on release-like binaries. They also present Hyper Coverage, a consolidation layer that merges coverage data across test levels, runs, variants, and configurations, exposing source lines untested in every relevant variant. The paper (arXiv:2608.13322) demonstrates a path toward more trustworthy completeness evidence for safety-critical embedded software.
- hybrid runtime analysis (hRA) enables MC/DC coverage on -O3 optimized embedded builds with minimal perturbation
- Integration-first process treats system-level tests as baseline and drives gaps through a covered-or-justified closure loop
- Hyper Coverage consolidates traces across test levels, variants, and build configs to expose universally untested lines
Why It Matters
For safety-critical embedded systems, this makes integration-level structural coverage evidence practical on release binaries, not just unit tests.