[发明专利]一种基于马尔可夫模型的软件错误定位系统及错误定位方法有效
| 申请号: | 201310308553.9 | 申请日: | 2013-07-20 |
| 公开(公告)号: | CN103455417A | 公开(公告)日: | 2013-12-18 |
| 发明(设计)人: | 张震宇;刘畅;张云乾 | 申请(专利权)人: | 中国科学院软件研究所 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 北京科迪生专利代理有限责任公司 11251 | 代理人: | 成金玉;杨学明 |
| 地址: | 100190 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 马尔可夫 模型 软件 错误 定位 系统 方法 | ||
1.一种基于马尔可夫模型的软件错误定位系统,其特征在于包括:测试信息获取模块、自定制模块、图形交互界面模块、一步转移概率矩阵模块、错误定位模块、错误修正模块和数据库模块;其中:
测试信息获取模块:用户使用编译系统软件对被测试程序进行插装,统计程序语句执行次数等信息;同时编写并运行测试用例,将获得的测试用例执行成功与否、程序每个语句执行的次数的测试信息保存到excel文件中,excel文件中的测试信息通过图形交互界面模块将测试信息存储到数据库模块的数据库中;
自定制模块:用户注册用户账号,登录定位系统,然后用户构建错误定位技术备选集,根据备选集划分错误类型,用户选择或添加被测试程序版本信息;自定制模块的具体实施是用户通过图形交互界面模块与数据库模块交互配合完成的;
图形交互界面模块:负责用户沟通测试信息获取模块、自定制模块、一步转移概率矩阵模块、错误定位模块、错误修正模块及数据库模块,具体实现其余各模块对数据库的操作;用户登录自己的账号,如没有账号则需注册新的账号;用户根据自定制模块构建的错误定位技术备选集在图形交互界面选择或添加相应的错误定位技术,根据自定制模块确定错误定位的程序版本;图形交互界面显示一步转移概率矩阵模块的一步转移概率矩阵;图形交互界面显示错误定位模块预测的当前错误的类型及确定当前错误的真实类型,并在确定当前错误类型后更新数据库中的错误历史序列,进而触发一步转移概率矩阵模块更新一步转移概率矩阵的事件,即时显示在图形交互界面上;
一步转移概率矩阵模块:根据数据库模块存储的错误历史序列和自定制模块构建的存储于数据库中的错误定位技术备选集,计算获得一步转移概率矩阵信息,在图形交互界面模块进行显示;
错误定位模块:结合一步转移概率矩阵模块的一步转移概率矩阵信息和测试信息获取模块获取并在数据库模块中存储的测试信息,预测当前错误的类型并选择相应的错误定位技术定位错误,计算备选集中各错误定位技术定位当前错误的代价,确定当前错误的真实类型,更新数据库中的错误历史序列,触发更新一步转移概率矩阵模块一步转移概率矩阵的事件;
错误修正模块:根据错误定位模块定位到的错误的位置,结合错误修正方法修正错误,然后进行新一轮的测试,直到程序中没有错误;
数据库模块:存储测试信息获取模块获取的测试信息、自定制模块构建的错误定位技术备选集、程序错误历史序列信息和用户注册信息等。
2.一种基于马尔可夫模型的软件错误定位方法,其特征在于实现步骤如下:
(1)测试信息获取:用户使用编译系统软件对被测程序进行插装,编写并运行测试用例,统计运行测试用例获得的测试用例成功执行与否、语句执行次数等测试信息,将统计获得的测试信息保存到excel文件中,通过图形交互界面保存到数据库中;
(2)自定制信息:用户注册/登录进入系统,用户登录后选择/添加错误定位技术构成错误定位技术备选集,根据构建的错误定位技术备选集划分错误类型,选择/添加被定位的程序及版本;用户信息、错误定位技术备选集信息和被测试程序版本信息通过图形交互界面保存到数据库中;
(3)信息存储:保存在excel文件中的测试信息通过图形交互界面保存到数据库相应的表中,用户通过在图形交互界面上的操作完成用户注册/登录、错误定位技术备选集构建和程序版本的选择/添加操作,并将相应的自定制信息保存到数据库。
(4)一步转移概率矩阵:根据数据库中存储的程序错误历史序列,建立一步转移概率矩阵。错误定位完成后,更新数据库中的错误历史序列同时触发更新一步转移概率矩阵的事件,更新一步转移概率矩阵;
(5)错误定位:根据一步转移概率矩阵信息、错误历史序列信息和错误定位技术备选集信息,预测当前错误的类型;选择相应的错误定位技术,结合数据库中的测试信息,计算在该错误定位技术下,程序每条语句包含错误的可疑度,生成可疑度列表;参考生成的可疑度列表,确定程序中错误的位置,计算获得错误定位技术备选集中所有错误定位技术对应的程序可疑度列表;确定当前错误的真实类型;
(6)修正错误:根据前面定位到的错误的位置,用户使用错误修正方法在源程序上修正错误,修正错误后继续进行测试如仍有错误则开始新一轮的错误定位,如没有错误则错误定位结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310308553.9/1.html,转载请声明来源钻瓜专利网。





