[发明专利]一种基于有限状态机的程序错误检测方法及系统在审
| 申请号: | 201510976002.9 | 申请日: | 2015-12-22 |
| 公开(公告)号: | CN105468530A | 公开(公告)日: | 2016-04-06 |
| 发明(设计)人: | 陈灯;魏巍;张彦铎;李晓林;李迅;周华兵;朱锐;卢涛;彭丽 | 申请(专利权)人: | 武汉工程大学 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 湖北武汉永嘉专利代理有限公司 42102 | 代理人: | 许美红 |
| 地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 有限状态机 程序 错误 检测 方法 系统 | ||
1.一种基于有限状态机的程序错误检测方法,其特征在于,包括以下步骤:
S1、获取有限状态机和待检测程序,从待检测程序中提取待检测的函数调用序列集合,记作待检测集合;
S2、从待检测集合中获取单个待检测的函数调用序列,记作待检测序列,求解有限状态机中与该待检测序列距离最短的函数调用序列,记作距离最短序列;
S3、比较待检测序列和距离最短序列进行错误检测与定位,若两者相同,则待检测序列为正确的函数调用序列;否则,待检测序列中含有错误的函数调用,此时以最少的编辑操作将待检测序列转换为距离最短序列;
S4、完成该待检测序列的检测和修复后,记录检测到的各个错误信息及修复方案,包括:错误的函数调用名称、错误产生的位置;
S5、对待检测集合中的所有待检测序列检测完毕后,输出程序错误报告。
2.根据权利要求1所述的基于有限状态机的程序错误检测方法,其特征在于,步骤S1中的有限状态机为API使用协议库,该有限状态机由人为给出,或采用自动化方法从程序中获得。
3.根据权利要求1所述的基于有限状态机的程序错误检测方法,其特征在于,步骤S1中待检测程序的提供形式包括:程序源代码、可执行程序或其它能够提取出函数调用序列的程序。
4.根据权利要求1所述的基于有限状态机的程序错误检测方法,其特征在于,步骤S2中使用编辑距离作为求解最短距离时的度量。
5.根据权利要求1所述的基于有限状态机的程序错误检测方法,其特征在于,步骤S3中检测到的程序错误包括:对象未正确初始化、资源泄露和API函数调用缺失。
6.一种基于有限状态机的程序错误检测系统,其特征在于,包括:
程序分析器单元,用于获取有限状态机和待检测程序,从待检测程序中提取待检测的函数调用序列集合,记作待检测集合;
API使用协议库单元,用于为系统提供有限状态机描述的API使用协议,用户可以向协议库中添加自定义的协议,有限状态机的状态或迁移表示函数调用;
正确函数调用序列求解器单元,用于从待检测集合中获取单个待检测的函数调用序列,记作待检测序列,求解有限状态机中与该待检测序列距离最短的函数调用序列,记作距离最短序列;
函数调用序列比较器单元,用于比较待检测序列和距离最短序列进行错误检测与定位,若两者相同,则待检测序列为正确的函数调用序列;否则,待检测序列中含有错误的函数调用,此时以最少的编辑操作将待检测序列转换为距离最短序列;
程序错误报告器单元,用于对程序错误及修复方法进行格式化输出。
7.根据权利要求6所述的基于有限状态机的程序错误检测系统,其特征在于,所述程序分析器单元包括程序静态分析器、程序动态分析器和二者结合的混合程序分析器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉工程大学,未经武汉工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510976002.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种挖掘漏洞的方法、装置及电子设备
- 下一篇:基于数据组合的测试方法及装置





