[发明专利]一种虚拟化嵌入式二进制软件缺陷检测系统有效
申请号: | 201410113492.5 | 申请日: | 2014-03-25 |
公开(公告)号: | CN103955424A | 公开(公告)日: | 2014-07-30 |
发明(设计)人: | 方景龙;张东升;邹雪;王兴起;王大全 | 申请(专利权)人: | 杭州电子科技大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 杜军 |
地址: | 310018 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种虚拟化嵌入式二进制软件缺陷检测系统。本发明中的用户管理模块对整个系统进行控制,指定缺陷检测类型与检测的范围,将原始的二进制文件和指令传送给缺陷检测引擎模块。缺陷检测引擎模块为嵌入式二进制软件缺陷检测提供分析工具,根据用户指定的缺陷检测范围、缺陷检测类型指令对原始的待检测二进制软件进行插桩操作。多体系结构仿真器模块在计算机上仿真出嵌入式平台硬件,接收缺陷检测引擎模块插桩好后的二进制程序中间代码并将其编译成特定的嵌入式平台上的可执行文件。本发明使用纯软件的方式进行嵌入式二进制软件的缺陷检测,摆脱了对昂贵的开发板和外部设备的依赖,具有很好的通用性。 | ||
搜索关键词: | 一种 虚拟 嵌入式 二进制 软件 缺陷 检测 系统 | ||
【主权项】:
一种虚拟化嵌入式二进制软件缺陷检测系统,包括用户管理模块、缺陷检测引擎模块和多体系结构仿真器模块,其特征在于:所述的用户管理模块对整个系统进行控制,指定缺陷检测类型与检测的范围,将原始的二进制文件和指令传送给缺陷检测引擎模块,并根据缺陷检测引擎模块的反馈信息生成缺陷检测报告;所述的缺陷检测引擎模块为嵌入式二进制软件缺陷检测提供分析工具,根据用户指定的缺陷检测范围、缺陷检测类型指令对原始的待检测二进制软件进行插桩操作,得到插桩后的二进制程序中间代码,然后将中间代码传递给多体系结构仿真器模块,并根据多体系结构仿真模块反馈的信息对软件的缺陷进行判别;所述的多体系结构仿真器模块在计算机上仿真出嵌入式平台硬件,接收缺陷检测引擎模块插桩好后的二进制程序中间代码并将其编译成特定的嵌入式平台上的可执行文件,在缺陷检测引擎模块的指导下运行可执行文件,然后将运行的结果反馈给缺陷检测引擎模块;其中用户管理模块包括报告管理模块和图形界面模块;所述报告管理模块将缺陷引擎模块反馈的信息利用数据可视化技术生成便于用户理解的报告;图形界面模块提供便于交互的图形界面的人机接口,用户通过图形界面模块与检测引擎模块进行交互,指定待测的程序的类型;缺陷检测引擎模块包括内存检查模块、函数调用分析模块、缓存分析模块、线程分析模块和堆栈分析模块;所述内存检查模块对软件内存方面的缺陷检测,所述函数调用分析模块用来对软件中的各种函数调用关系进行分析;所述缓存分析模块模拟程序与机器进行交互的缓存系统和分支预测系统,分析程序的cache命中问题;所述线程分析模块用来检查C\C++、Fortran程序中使用POSIX pthread原语的线程同步与竞争的问题;所述堆栈分析模块对程序中使用的堆栈进行衡量,分析程序中堆内存的使用情况;多体系结构仿真器模块包括加载器模块、初始化模块、代码cache模块和OS调用仿真模块,所述加载器模块将Guest Code和Guest Data写入到专门用于暂存客户机映像的内存区中,并且加载运行时软件的代码;所述初始化模块为代码cache和异常索引表分配内存空间,同时建立起客户机应用程序运行时所需的全部环境;所述代码cache模块将翻译过的基本代码块暂存,利用缓存的技术,避免重复翻译导致的性能下降;所述OS调用仿真模块在遇到执行客户机程序中的系统调用时,将其转化为一个或者多个作了修改的本地系统调用进行处理,然后将结果返回给客户机程序。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410113492.5/,转载请声明来源钻瓜专利网。