- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
?
?
浅议大型嵌入式软件设计中的缺陷定位技术研究
?
?
关键词:大型嵌入式;软件设计;缺陷定位技术
1、动态方法嵌入式软件设计中的缺陷定位技术
1.1整型符号转换缺陷
本文方法检测整型符合转换缺陷过程中,应先截获内存相关库函数,检测整型参数的符号种类,定义需要截获的内存相关库函数和潜在函数。
1.2总体设计
检测整型符号转换缺陷时,应先获取程序变量的符号种类信息,再采集引发符号冲突的指令地址,对缺陷形成的位置实时定位。设计的缺陷检测系统构建在二进制插桩框架Valgrind上,将整型符号检测转换缺陷的检测方法应用到原型工具Sconveheck的实现中。系统总体架构如图1左边所示。
图1左边中描述的系统包括Valgrind内核部分和原型工具Sconvcheck,Valgrind内核可同底层参照系统完成交互。Sconvcheck提供的功能能够完成符号转换缺陷的检测和定位。总体系统的运行流程是:将二进制代码变换成中间描述形式(VEX,IR),为分析指令的隐藏信息提供依据;在中间代码层面中,检测各条中间代码指令,采集变量存储单元中涵盖的符号种类信息;收集内存相关函数定义,得到少数参数的符号种类信息,对这些映射关系实施初始化设置;采用数据流分析各变量的符号种类信息,存储变量符号信息。后续得到新种类符号时,将其同前期获取的符号种类进行对比,如果不一致,则说明是冲突种类,存储当前指令;通过种类推导方法检索潜在符号缺陷候选集,依据存储的符号种类信息对整型符号变换缺陷代码实时定位。原型工具Sconvcheck的运行流程由信息采集、检测方案和缺陷定位三部分组成,其中的符号种类信息采集流程,如图1右边所示。
图1
1.3检测方案
基于图1右边描述的符号种类信息采集过程,能够获取包含冲突种类的单元存储单元集。将其当成潜在的符号变换缺陷候选集。还应采用检测方案对整型符号变换缺陷进行进一步辨识。整型符号转换缺陷的检测方案的流程如图2所示。
从图2可以看出,检测方案得到内存相关库函数的调用后,便得到描述内存分配长度的全部参数存储单元。如果是冲突种类,则在符号前插入检测代码,在程序运行过程中检测传递的实参是否是负数;如果不是冲突种类,则结束检测;否则,呈现运行过程中将负数反馈给冲突种类参数的现象判定成实际的符号变换缺陷。
图2
1.4缺陷定位
采集符号种类信息时既要采集变量的符号种类信息,也要在存在冲突种类信息时将当前指令地址信息存储下来。若变量被辨识成冲突种类,则用当前操作指令地址替换前期记录的地址信息,依据新指令地址信息对缺陷代码实施定位。检测方案检测到整型符号转换缺陷时,采集变量信息,并对映射表进行检测,将获取的指令地址信息当成产生缺陷的指令地址。
2、实验分析
实验采用本文方法对E?mail服务器thrownmial7.7.2实施检测,结果如图3左边所示。能够看出本文方法有效检测出了thrownmial7.7.2的中的缓冲区溢出以及整型符号转换缺陷,并对检测出的缺陷给出警告。
实验选择三种待测程序,使它们分别运行在正常状态下、Buffcheck以及本文方法中的工具Valgrind下,检测不同程序的运行效率,分析不同状态下的程序运行性能,结果如图3右边所示。
分析图3右边可得,待测程序在本文方法下的运行速率比正常运行下和其他状态下高,说明本文方法在提高程序运行效率方面具有较强的优越性和较高的性能。
图3
结束语
本文提出了基于动态方法的嵌入式软件设计中的缺陷定位技术,其采用面向二进制程序整型符号变换缺陷检测方法,对整型符号变换引起的缓冲区溢出缺陷进行准确定位。结果表明,所提方法准确检测出了整型符号转换缺陷,性能较高。
Reference
[1]林永峰.面向安全性分析的嵌入式软件测试方法研究[J].现代电子技术,2016.
[2]常佩佩.基于代码结构信息的软件缺陷定位方法研究[J].计算机应用研究,2016.
[3]王赞.一种基于遗传算法的多缺陷定位方法[J].软件学报,2016.
?
-全文完-
文档评论(0)