嵌入式系统故障注入技术与边界扫描技术的应用分析
1. 嵌入式系统软件故障注入实验结果与相关工具
在嵌入式系统的故障注入研究中,初步实验结果展现出了一定的潜力。这些结果为目标系统(如ECU)在故障情况下的行为提供了丰富且有价值的信息。不过,目前的结果主要集中在覆盖率的测量方面,研究人员正在对INERTE工具进行改进,以实现对延迟的计算。
在相关工作中,有几款软件实现的故障注入(SWIFI)工具值得关注:
- Flex - Fi :这是唯一使用嵌入式处理器调试机制的SWIFI工具。它有不同的实现方式,其中一种利用了摩托罗拉处理器中的BDM(背景调试模式)接口。BDM通过专用串行通道控制嵌入式处理器,无需在应用程序中添加外部代码即可在运行时注入故障。其故障注入模型为位翻转,但存在两个主要缺点:一是会显著降低应用程序的执行速度;二是只能用于包含摩托罗拉BDM端口的处理器。
- Xception :它是首个利用处理器调试功能进行故障注入的工具,主要针对处理器功能单元进行注入。注入方式取决于被注入的功能单元,例如应用程序执行到注入触发点后进入跟踪模式,然后逐步执行到要注入的指令,对其进行解码并选择要修改的参数。该工具可在处理器功能单元(如指令执行控制单元、整数单元、浮点单元等)和内存中注入故障,注入触发条件可以是操作数搜索或从特定地址加载、存储到特定地址以及应用程序启动后的时间等。为了能在实时系统中进行注入,其一个版本将侵入性降低到与实时内核中断延迟和工作负载输出抖动相同的数量级。
- MAFALDA :这是一个用于验证微内核的工具,与INERTE类似,它可以通过翻转内