在嵌入式软件开发的过程中,很多开发公司将开发速度视为第一要素,力求以最快的速度满足客户需求,但这样的开发模式下,可重用性、扩展性等长期指标被忽略,导致后期的维护、功能增减调整都非常困难。一个小的业务需求会牵一发而动全身,一个小的故障修复可能引入更多的问题,整个系统包袱越来越沉重,软件的质量和开发周期越来越不可控。
导致这些问题的因素有很多,排除软件开发人员的水平和项目进度的原因,主要影响因素还包括软件架构和软件缺陷的修复能力。想要解决这些问题,就需要用到嵌入式系统的漏洞挖掘。
顾名思义,嵌入式系统的漏洞挖掘,就是对嵌入式软件的缺陷进行查找与修复,以安般科技的易复嵌入式模糊测试系统为例,可以来看下这类系统是如何进行漏洞挖掘的。
整体来看,易复嵌入式模糊测试系统具备缺陷检测、过程监控、错误现场复现以及导出测试报告等功能。
在缺陷检测方面,易复基于覆盖率反馈的算法,对程序代码的空间进行深层次探索,从而覆盖被测对象的各种执行路径,发现程序的各类深层缺陷;在过程监控方面,易复支持在测试过程中,实时监控测试数量、运行时长、测试速率、crash数量、任务状态;在错误现场复现方面,易复支持手动重放错误帧复现问题,方便定位、检查和修复缺陷;在导出测试报告方面,易复支持导出HTML格式的测试报告,包含测试时间、运行时长、测试速率、语句覆盖率、分支覆盖率、MC/DC、触发缺陷的用例集等信息。
易复嵌入式模糊测试系统通过全数字仿真运行,可以快速地展开嵌入式系统的测试,解决嵌入式系统测试难的问题;通过锚定语料与激励的关系,控制时序、执行方式等进行单激励、多激励测试,达到与嵌入式系统测试在真实环境测试一致的效果;通过对嵌入式系统源码进行插桩,在运行过程中实时获取运行信息并据此自动生成有效测试用例;基于覆盖率引导的算法能有效提升语句覆盖率、分支覆盖率、MC/DC等多种覆盖率。
总而言之,通过易复嵌入式模糊测试系统可以更好地进行嵌入式系统的漏洞挖掘,让开发人员能够更快更好地进行嵌入式软件的开发。