[发明专利]一种去除完美理解假设的软件故障定位系统有效
申请号: | 201810728884.0 | 申请日: | 2018-07-05 |
公开(公告)号: | CN108984402B | 公开(公告)日: | 2021-07-16 |
发明(设计)人: | 杨波;于茜 | 申请(专利权)人: | 北方工业大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F11/34 |
代理公司: | 北京市广友专利事务所有限责任公司 11237 | 代理人: | 张洪飞 |
地址: | 100144 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 去除 完美 理解 假设 软件 故障 定位 系统 | ||
本发明公开了一种关于去除完美理解假设的软件故障定位方法,本方法通过实现Eclipse监控插件,将用户的调试信息保存在MYSQL数据库中,这些信息包括用户的调试行为信息和程序上下文情景信息。通过分析这些信息发现,对于同一故障调试人员的调试轨迹具有一定的关联性,参照关键类本方法给出了调试中的关键信息,并采用基于标签的关键信息识别方法,作为通用的推荐规则,将关键信息作为推荐的内容,直接反馈到用户的集成开发环境中,从而辅助调试人员定位故障。
技术领域
本发明涉及软件故障定位方法,特别是去除完美理解假设的情况下,定义与识别关键信息,并计算关键程度推荐给用户,辅助调试人员定位故障。
背景技术
对于软件调试来说,如何找到可用于推荐的关键信息是推荐系统在故障定位中应用的最重要一环。这激励Lisa Burnell和Eric Horvitz研究如何利用逻辑和概率推理的方法来支持软件调试,他们描述了一个基于逻辑的合成和概率推理的方法[18],可以被用来识别在复杂的软件中故障的来源和位置.该方法可以被用来诊断Sabre系统在运行时的错误,Sabre系统是世界上最大的分时预定系统.验证结果显示,该方法可以把软件工程师的注意力引向那些有很大可能包含错误的程序执行路径和程序指令上,从而提高调试效率.利用公式计算可疑度,将语句按照可疑度进行排名,推荐给用户。这种方式很大程度上减少了开发人员理解程序故障的时间,更快速的定位故障。其中较典型的比如Tarantula公式,Tarantula利用了从标准测试工具中很容易获得的信息:关于每组测试用例的成功/失败信息,每个测试用例执行的实体(比如,语句,分支,方法),以及待测程序的源代码。Tarantula的思路是,在一个主要执行失败的测试用例的程序比那些主要通过成功测试用例的程序更有可能是错误的.不同于此前使用的故障定位技术,Tarantula允许一些对错误的容忍偶尔可以通过成功的测试用例.这种容忍经常可以提供更有效的故障定位信息。
从2008年至今,国内外出现很多关于关键类识别的文献,比如:《AutomaticIdentification of Key Classes in a Software System Using WebminingTechniques》、《一种基于关键类判定的代码提交理解辅助方法》、《基于关键类判定的代码提交理解辅助方法》,国内外学者不断通过实验验证关键类关键变量的识别可以提高软件在开发和调试过程中的速度和准确度。但目前尚缺乏关于调试时的关键类、关键变量规则的提出,本课题针对这一缺陷,通过监控、搜集调试信息,提出关键变量存在的通用规则,给出代码推荐的统一模式。
本方法关于关键信息的定义参照Philippe Galinier等学者对关键类的定义:
(1)最重要的类一定需要更深层的测试
(2)频繁修改的类是最复杂的且发生错误倾向最大的
(3)从本质上来说,某个元素引用的其他元素的数量越多,这个元素就越重要.
发明内容
本发明作为辅助软件故障定位的手段,所要解决的是如何从调试信息中识别出关键信息,并将计算后的关键信息按照关键程度排名推荐给用户。
本发明的技术解决问题是:关键信息的识别,并推荐给用户,提高故障定位的效率。
本发明的技术解决方案:基于标签的关键信息识别方法。
调试信息的收集是利用eclipse监控插件监控调试人员调试行为,并将其保存在MYSQL数据库中,包括用户设置的断点位置、断点表达式、查看的变量等信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北方工业大学,未经北方工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810728884.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种解耦测试方法
- 下一篇:FPGA逻辑代码的验证方法及装置