发明名称 |
一种基于有限状态机的程序错误检测方法及系统 |
摘要 |
本发明公开了一种基于有限状态机的程序错误检测方法及系统,该方法包括以下步骤:S1、获取有限状态机和待检测程序,从待检测程序中提取待检测的函数调用序列集合;S2、从待检测集合中获取单个待检测的函数调用序列,求解有限状态机中与该待检测序列距离最短的函数调用序列;S3、比较待检测序列和距离最短序列进行错误检测与定位;S4、完成该待检测序列的检测和修复后,记录检测到的各个错误信息及修复方案;S5、对待检测集合中的所有待检测序列检测完毕后,输出程序错误报告。本发明没有协议转换造成的开销和精度损失,能够准确的定位到程序错误的产生点,具有较高的定位精度,并且能够自动生成错误修复方案。 |
申请公布号 |
CN105468530A |
申请公布日期 |
2016.04.06 |
申请号 |
CN201510976002.9 |
申请日期 |
2015.12.22 |
申请人 |
武汉工程大学 |
发明人 |
陈灯;魏巍;张彦铎;李晓林;李迅;周华兵;朱锐;卢涛;彭丽 |
分类号 |
G06F11/36(2006.01)I |
主分类号 |
G06F11/36(2006.01)I |
代理机构 |
湖北武汉永嘉专利代理有限公司 42102 |
代理人 |
许美红 |
主权项 |
一种基于有限状态机的程序错误检测方法,其特征在于,包括以下步骤:S1、获取有限状态机和待检测程序,从待检测程序中提取待检测的函数调用序列集合,记作待检测集合;S2、从待检测集合中获取单个待检测的函数调用序列,记作待检测序列,求解有限状态机中与该待检测序列距离最短的函数调用序列,记作距离最短序列;S3、比较待检测序列和距离最短序列进行错误检测与定位,若两者相同,则待检测序列为正确的函数调用序列;否则,待检测序列中含有错误的函数调用,此时以最少的编辑操作将待检测序列转换为距离最短序列;S4、完成该待检测序列的检测和修复后,记录检测到的各个错误信息及修复方案,包括:错误的函数调用名称、错误产生的位置;S5、对待检测集合中的所有待检测序列检测完毕后,输出程序错误报告。 |
地址 |
430074 湖北省武汉市洪山区雄楚大街693号 |