Developer Tools

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.

Deep Dive

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.

Key Points
  • 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.

📬 Get the top 10 AI stories daily