申请/专利权人:东南大学
申请日:2021-05-27
公开(公告)日:2024-03-22
公开(公告)号:CN113282495B
主分类号:G06F11/36
分类号:G06F11/36
优先权:
专利状态码:有效-授权
法律状态:2024.03.22#授权;2021.09.07#实质审查的生效;2021.08.20#公开
摘要:本发明公开了一种基于轨迹监控的Java软件故障定位方法,针对Java应用程序构建了二次故障定位算法,首先通过动态插桩技术获取程序的执行轨迹信息,对获取的执行轨迹信息进行预处理,构造出对应的函数调用树,在函数级别对故障进行定位。然后对于可疑度高的函数,进行语句块级别的执行轨迹获取,构建出语句块的控制依赖图,在语句块级别进行故障定位,输出故障定位报告。与现有的故障定位方法相比,本发明方法操作简单,故障定位效果好。
主权项:1.一种基于轨迹监控的Java软件故障定位方法,其特征在于,该方法包括如下步骤:步骤1运行待测的Java应用程序,利用动态插桩工具向其中植入获取函数级别轨迹信息记录的代码,输入测试用例集合T={t1,t2,...,tn}并执行,获得待测程序运行时函数级别的执行轨迹信息记录集合S={s1,s2,.....,sn}和测试用例的执行结果集合R={r1,r2,...,rn};步骤2对步骤1中所获得的S与R,进行预处理,构造出测试用例执行成功的函数调用树Ts与测试用例执行失败的函数调用树Tf,对其进行可疑度计算,函数按照可疑度从大到小进行排序,输出函数级别的故障定位报告;步骤3基于步骤2中获得的函数级别的故障定位报告,选择可疑度高的函数,作为参数输入到动态插桩工具中,动态插桩工具向待测程序中植入获取语句块级别轨迹信息记录的代码;步骤4输入测试用例集合T并执行,获得语句块级别的执行轨迹信息记录集合P={p1,p2,...,pn}和测试用例的执行结果集合R;步骤5对步骤4中所获得的P与R,进行预处理,构造出测试用例执行成功的控制依赖图Gs与测试用例执行失败的控制依赖图Gf,对其进行可疑度计算,语句块按照可疑度从大到小进行排序,输出语句块级别的故障定位报告。
全文数据:
权利要求:
百度查询: 东南大学 一种基于轨迹监控的Java软件故障定位方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。