[发明专利]一种基于模型检验的时序软件质量缺陷检测方法及系统有效
申请号: | 201010150917.1 | 申请日: | 2010-04-19 |
公开(公告)号: | CN101833504A | 公开(公告)日: | 2010-09-15 |
发明(设计)人: | 张翀斌 | 申请(专利权)人: | 张翀斌 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京安博达知识产权代理有限公司 11271 | 代理人: | 徐国文 |
地址: | 100085 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 模型 检验 时序 软件 质量 缺陷 检测 方法 系统 | ||
技术领域:
本发明涉及一种在软件源代码中检测缺陷的技术,具体讲涉及一种基于静态分析的软件质量缺陷检测方法,属于计算机信息安全技术领域。
背景技术:
随着信息技术的高速发展,软件产品(从底层的操作系统到高层的应用程序)代码量越来越大,程序设计越来越复杂,其本身存在着大量的质量缺陷,危害着信息系统的可用性、可靠性和安全性,因此如何检测软件程序中可能存在的缺陷成为目前信息技术领域高度关注的热点。
软件质量缺陷的检测方法很多,根据是否需要执行被测软件的角度可分为两种:一种是动态分析技术,通过实际运行程序代码来发现其可能存在的缺陷;一种是静态分析技术,它不实际运行代码而只是通过静态地查看代码以找出潜在的缺陷。
静态分析是手动或者借助自动化检测系统来对源代码或者反汇编代码清单进行审查的方法。常用的静态分析自动化软件缺陷检测系统例如:RATS、ITS4以及检查java代码的PMD。上述自动化代码缺陷检测系统工作原理如下:使用钩子函数,在遇到用户自定义属性中的触发条件时,利用一个“钩子”来调用相应的分析函数判断是否违背了所给属性。该方法虽然能在软件质量检测中发现缺陷,但是仍存在着明显的缺点:一、不能保证缺陷发现的完全性;二、虚假错误的缺陷报告占多数,耗费很多额外的人力、物力去进一步分析审查;三、对于缺陷的描述能力不足,某些类型的缺陷不能够很好地被描述;四、不具有跨过程分析的能力,对于全局性、比较微妙的缺陷,则无能为力。
发明内容
本发明目的在于提供一种基于模型检验的,分析能力强、缺陷定位准确、误报率低、可读性高的软件质量缺陷检测方法及系统,从而满足分析各种代码缺陷的要求,达到快速发现软件的缺陷,缩短软件开发周期,提高软件质量,节约软件开发成本的。
为实现上述目的,本发明提供了一种基于模型检验的时序软件质量缺陷检测方法,其改进在于:所述方法的具体步骤如下:
步骤A、输入被检测源代码,并根据所述被检测源代码选择缺陷模式;
步骤B、对所述被检测的源代码进行预处理;
步骤C、对合并完的源代码模型进行控制流图压缩;
步骤D、判断所说缺陷模式的自动机中的终止状态在所述被检测的原程序的建模中相对应的安全模型中是否可达,如果所述终止状态可达,判断所述被检测的源代码程序存在缺陷;如果所述终止状态不可达,则判断所述被检测的源代码程序不存在缺陷;
步骤E、结果处理:将步骤D中检测完的源程序代码终止状态的位置信息转换为于原始源代码的位置信息;
步骤F、输出:将最终的判断结果输出显示出来供用户阅读。
本发明一种基于模型检验的时序软件质量缺陷检测方法的另一优选技术方案为:所述步骤B包括:
B1、分析所述被检测的源代码文件,并生成控制流图;
B2、如果所述被检测的源代码程序由多个代码文件组成,则先生成各自的控制流图,再将控制流图文件合并成一个全局控制流图文件;
B3、根据生成的控制流程图建模。
本发明一种基于模型检验的时序软件质量缺陷检测方法的再一优选技术方案为:所述步骤C中压缩包括:
C1、将所述被检测的源代码模型里与所述缺陷模式没有关系的内容删除;
C2、将状态等价的所述源代码模型合并。
本发明一种基于模型检验的时序软件质量缺陷检测方法的第四优选技术方案为:所述步骤C中所述被检测源代码根据在所述步骤A中所选择的缺陷模式进行源代码模型压缩。
本发明提供了一种基于模型检验的时序软件质量缺陷检测系统,其改进在于:所述系统包括源代码模型生成器、时序缺陷模式库、源代码模型压缩器、时序模型检验器和结果生成模块,所述时序缺陷模式库连接源代码模型生成器和时序模型检验器,所述源代码模型生成器经所述源代码模型压缩器连接时序模型检验器,所述时序模型检验器通向结果生成模块。
本发明一种基于模型检验的时序软件质量缺陷检测系统的另一优选技术方案为:所述源代码模型生成器将被检测源代码的转化为一种形式化的状态自动机模型。
本发明一种基于模型检验的时序软件质量缺陷检测系统的再一优选技术方案为:所述时序缺陷模式库用于存储时序缺陷并用形式化语言对所述时序缺陷描述建模,从而形成用于检测的时序缺陷模式。
本发明一种基于模型检验的时序软件质量缺陷检测系统的第四个优选技术方案为:所述源代码模型压缩器使用时序缺陷模式对被检测的程序系统模型进行压缩。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于张翀斌,未经张翀斌许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010150917.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:ASON自动备份方法、还原方法及装置
- 下一篇:一种化工离心泵轴端的密封装置