arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2608.13322cs.SE

嵌入式软件的优先集成结构覆盖:基于跟踪的证据、混合运行时分析与跨变体整合

Integration-First Structural Coverage for Embedded Software:Trace-Based Evidence, Hybrid Runtime Analysis, and Cross-Variant Consolidation

Alexander Weiss, Albert Schulz, Michael Wittner

首次发表
浏览论文内容

中文总结 AI 辅助

针对嵌入式软件结构覆盖仅在单元级收集的不匹配问题,提出优先集成的覆盖策略,结合混合运行时分析(hRA)实现类发行版二进制的覆盖测量,通过Hyper Coverage整合多维度证据,定位未测试源码行。

中文摘要 AI 辅助

结构覆盖被广泛用作测试完备性的证据,但在嵌入式项目中,它主要在单元级别收集,原因仅在于该级别的插装和可观测性成本低廉,这就产生了不匹配。最具代表性的完备性信号来自被测设备上执行的集成测试和系统测试,但传统插装会干扰时序、内存占用和并发行为,而纯跟踪重构的覆盖在编译器进行激进优化(如-O3)时,会在决策和条件判断上失去可靠性。我们从两端解决这种不匹配:在流程方面,我们提出一种优先集成的覆盖策略,将集成测试和系统测试作为基线测量,并通过显式闭合循环处理剩余缺口,从而将完备性确立为已覆盖或已验证,而非仅已覆盖;在技术方面,我们使用嵌入式跟踪作为观测路径,并添加混合运行时分析(hRA):一种最小化的、保留语义的可观测性支架,能在优化(-O3)构建的跟踪流中保持决策和条件边界可区分,同时所有覆盖状态和计数保持在目标外,这将对象到源码的映射从启发式重构转变为可审查的证据,并使分支、条件和MC/DC测量在类发行版二进制文件上成为可能。最后,我们描述Hyper Coverage,一种整合层,它合并测试级别、测试运行、变体和构建配置的证据,并暴露所有相关变体中仍未测试的源码行。

英文摘要

Structural coverage is widely used as evidence that testing is complete, yet in embedded projects it is predominantly collected at unit level, simply because that is where instrumentation and observability are inexpensive. This produces a mismatch. The most representative completeness signal would come from integration and system tests executed on the device under test, but classical instrumentation perturbs timing, memory footprint and concurrency behaviour, while purely trace-reconstructed coverage loses reliability for decisions and conditions as soon as the compiler optimizes aggressively. We address this mismatch from both ends. On the process side we describe an integrationfirst coverage strategy that treats integration and system tests as the baseline measurement and drives the residual gaps through an explicit closure loop, so that completeness is established as covered or justified rather than as covered alone. On the technical side we use embedded trace as the observation path and add hybrid runtime analysis (hRA): a minimal, semantics-preserving observability scaffolding that keeps decision and condition boundaries distinguishable in the trace stream of an optimized (-O3) build, while all coverage state and counting remain off-target. This converts object-to-source mapping from a heuristic reconstruction into reviewable evidence and makes branch, condition and MC/DC measurement practical on release-like binaries. Finally we describe Hyper Coverage, a consolidation layer that merges evidence across test levels, test runs, variants and build configurations, and that exposes source lines which remain untested in every relevant variant.

↑