随着行业对减小嵌入式系统尺寸、重量和功耗 (SWaP) 的推动,多核系统正在成为军事和航空航天领域的首选。
然而,正如我在之前的博客文章中提到的,使多核具有吸引力的东西 - 并行处理 - 使其更难测试,特别是当您试图满足DO-178标准时。由于内存和运行时开销以及数据收集技术,传统的检测方法在测试多核方面已经不足。
这就是使用超轻型仪器的解决方案创造突破的地方。多核开发人员首次拥有了高效且经济高效地验证安全关键标准的方法。让我解释一下它是如何工作的。
超轻型仪器可减少内存占用需求
传统检测使用预编译过程和运行时过程的组合,其中探测点插入到每一行代码上。
使用超轻型检测,可以使用被测代码的静态分析来确定放置检测点的最佳位置。这种超轻量级仪器与高度优化的测试工具框架相结合,显著减少了执行系统级测试和覆盖率分析所需的内存占用。
通过这种方法,现在可以在RAM/ROM远低于1K字节的目标系统上使用测试自动化和硬件存根。这种方法还利用了高度优化的数据收集技术,该技术将所有平台测试结果和覆盖依赖关系集成到一个数据结构中。这考虑了并发约束作为其结构的一部分。
为了防止运行时出现并发问题,此技术消除了对操作系统或其他管理内存或死锁的库函数的调用。因此,在资源有限的目标平台上,测试环境反映了最终应用程序执行的速度和功能。
系统级测试不必将多个组件级测试拼凑在一起,只需更少的通过即可完成,从而节省大量测试时间。
图1:TBvision 的交互式调用图显示实现的单个测试用例覆盖率,因此您可以专注于哪些测试用例提供覆盖率,并确定可能需要进一步测试的代码方面。
图2:TBvision 的流程图允许您放大各个测试用例的流程,并了解流程如何连接到代码。
验证技术的新“最佳”
验证技术中的两个新“最佳”有助于使多核系统实现这种合规性。
现在可以将结构设置为充分利用每个位。每个决策点一位使仪器尽可能轻巧,并最大限度地减少内存占用。
内联结构操作在编译时完成,产生一到三条指令。将其与传统方法进行比较,传统方法可能导致每个探测点有 10-20 条指令,您可以看到这两种方法的巨大差异。
用户共同验证了这些方法,在可执行文件大小和执行时间方面产生了 1-10% 的总体开销,这标志着其他机制的开销显著减少。
最小化系统测试框架和代码覆盖率检测的内存和性能开销可以做两件事:
现在,开发人员可以在资源受限的平台(如多核平台)上检测应用程序。
此外,他们还能够运行一次测试并捕获整个应用程序的数据。
此更改有助于减少或消除测试重复,从而提高生产力 — 对于行业降低 SWaP 所固有的紧张开发计划尤其重要。
随着行业越来越多地转向多核解决方案,很明显,传统的测试方法是不够的。超轻型仪表填补了这一空白,它提供了一种彻底、但经济高效且高效的方式来满足安全关键标准。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !