基于动态方法的嵌入式软件缺陷检测技术研究与实现

被引量 : 0次 | 上传用户:coniji
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件的复杂性和抽象性使在当前软件开发过程中不可避免的存在错误,加之嵌入式系统时间和空间资源有限、高可靠性和高实时性等原因,使得针对嵌入式软件缺陷的检测难度加大。对静态分析方法的研究比较早,研究成果也比较多,但是静态方法难以检测软件运行时错误,且具有高误报率等缺点。动态分析方法是另一种运用比较广泛的软件分析方法,它不仅可以检测出一些隐藏缺陷,还可以追踪到运行时错误。然而,动态分析方法主要针对二进制程序,由于缺乏源码,无法获得准确的语法和语义信息,增加了分析难度。因此,基于动态分析方法的嵌入式软件缺陷检测技术的研究成为当前研究的一个难点,也是一个热点。从CVE[1]统计数据结果可以看出缓冲区溢出缺陷数量在整个软件缺陷中占据着一个很大的比例,整型符号转换缺陷数量也在逐年上升。而目前对这两方面缺陷的检测技术都存在一些不足之处,没有一种很有效的检测方法,导致缺陷数量一直没有下降的趋势。因此,本文主要针对这两种缺陷,利用现在快速发展、应用广泛的动态插桩技术提出一些解决办法:缓冲区溢出缺陷检测方法和整型符号转换缺陷检测方法。本文在上述两种方法的基础上,开展了基于动态分析方法的嵌入式软件缺陷检测技术的研究,实现了一个基于虚拟仿真环境的二进制程序软件缺陷检测系统,论文主要研究内容和创新点如下:1、研究了缓冲区溢出原理。并针对缓冲区溢出缺陷,提出一种有效检测方法。即首先通过为缓冲区内存建立影子内存来记录内存访问情况,然后插入分析代码来更新影子内存,最后通过检查写入操作内存对应的影子内存来识别缓冲区溢出行为,以及通过替换字符串相关函数来检查参数及内容来发现溢出情况。2、研究了整型符号转换错误原理。针对这类缺陷,提出一种准确检测和定位缺陷位置的方法。首先通过类型推断方法来提取整型变量的符号类型信息,然后分析内存相关函数的参数类型信息,将得到的冲突类型集合作为潜在缺陷集合,并记录产生冲突类型的指令地址信息,最后插入检测代码来确定真正的整型符号转换缺陷及定位缺陷位置。3、基于Valgrind插桩框架,利用上述方法设计并实现二进制程序缺陷检测原型工具,并结合QEMU仿真软件搭建的嵌入式运行平台,实现一个嵌入式软件缺陷动态检测系统。最后,进行系统测试,通过实验验证系统对嵌入式软件缺陷检测的有效性。
其他文献
美国的实用主义教育家杜威为我们描绘了一幅直面社会生活的知识图景。他认为,所谓知识就是认识一个事物和各方面的联系,知识既指思维和行动的结果,又指思维和行动的过程,知识
由于信息的不对称,消费者对绿色农产品持有怀疑态度。本文首先介绍了绿色农产品和品牌信任的概念,接着指出消费者对绿色农产品品牌信任的现状,然后说明建立绿色农产品品牌信
自我相关的信息有独特的加工机制,将自我相关信息作为对象的研究有很多。最早的研究者大多从听觉开始研究自我相关的信息,采用著名的双耳分听实验范式,给被试的非注意耳播放
对厚膜集成压力传感器放大电路进行了设计和实验。结果表明,该电路的设计具有功能强、集成容易、调试方便、工作温度范围宽等特点。其性能指标均可达到技术要求,实现了厚膜压力
<正>柳杉云毛虫属鳞翅目、枯叶蛾科,早年报道分布于浙江、福建、江西等省,主要危害柳杉和杉木中龄林以上林分。近年来,安徽省旌德地区庙首林场马家溪杉木林区和蔡家桥林场牛
本文介绍了用MCS-52系列单片机设计的监测风压风速的数据采集和处理系统。该系统采用单片机技术,以AT89S52为核心,把高性能低量程压力传感器安装在步进电机上,使步进电机带动
罗斯福新政是初中阶段历史教科书、历史与社会教科书中重要的学习主题之一。在以罗斯福新政为个案的研究中,通过梳理新政在百年历史教科书中的变迁、比较中美教科书对同一主
<正>免疫系统和肿瘤的相互作用是肿瘤发生发展和清除的重要途径。一方面,通过免疫监视等生理病理过程,免疫系统可以清除微小肿瘤;另一方面,慢性炎症也可以通过增加肿瘤血管形
本科小学教育专业的兴办,是我国教师教育改革的重要成就之一,也是对大学教师教育的严峻挑战。从专业定位来看,本科小学教育属于高等职业教育,培养教育教学能力是该专业教学的
能源短缺、交通拥堵、空气污染已成为汽车工业发展中不能忽视的现实问题。如何促进汽车节能、缓解交通能源安全、减少温室气体排放,是政府、汽车企业、科研单位、个人都亟待正