[发明专利]基于程序切片的软件关联配置错误诊断方法及装置有效
申请号: | 202210096739.1 | 申请日: | 2022-01-26 |
公开(公告)号: | CN114661503B | 公开(公告)日: | 2023-10-27 |
发明(设计)人: | 胡雪;许光全;刘健 | 申请(专利权)人: | 天津大学 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F9/445 |
代理公司: | 北京劲创知识产权代理事务所(普通合伙) 11589 | 代理人: | 王闯 |
地址: | 300354 *** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 程序 切片 软件 关联 配置 错误 诊断 方法 装置 | ||
1.一种基于程序切片的软件关联配置错误诊断方法,其特征在于,包括:
指定软件的源代码中的配置类以及配置项列表,查找所述配置项在所述源代码中对应的配置变量;
将配置变量的声明语句作为种子,进行程序切片,找到所述配置变量所影响的程序语句;
对所述程序语句进行插桩运行,根据插桩运行的结果定位错误配置项;
通过对比各配置项切片的重合度检测各配置项之间的关联度,生成关联配置项列表;
通过所述关联配置项列表匹配与所述错误配置项相关联的配置项。
2.根据权利要求1所述的方法,其特征在于,所述指定软件的源代码中配置项的配置类以及配置项列表,查找所述配置项在所述源代码中对应的配置变量,包括:
指定软件的源代码中的配置类以及配置项列表,通过查找配置类定位到配置项的声明位置,并将所述配置项映射成所述源代码中的配置变量。
3.根据权利要求1所述的方法,其特征在于,所述将配置变量的声明语句作为种子,进行程序切片,找到所述配置变量所影响的程序语句,包括:
基于wala切片工具从配置变量的声明语句的位置开始进行前向切片,找到所述配置变量所影响的谓词语句。
4.根据权利要求3所述的方法,其特征在于,所述对所述程序语句进行插桩运行,根据插桩运行的结果定位错误配置项,包括:
对所述谓词语句进行插桩运行,记录所述谓词语句的执行情况,根据所述谓词语句正确运行和错误运行之间统计数据定位错误配置项。
5.一种基于程序切片的软件关联配置错误诊断装置,其特征在于,包括:
配置变量定位单元,用于指定软件的源代码中的配置类以及配置项列表,查找所述配置项在所述源代码中对应的配置变量;
程序切片单元,用于将配置变量的声明语句作为种子,进行程序切片,找到所述配置变量所影响的程序语句;
错误配置项定位单元,用于对所述程序语句进行插桩运行,根据插桩运行的结果定位错误配置项;
关联配置项列表生成单元,用于通过对比各配置项切片的重合度检测各配置项之间的关联度,生成关联配置项列表;
配置项匹配单元,用于通过所述关联配置项列表匹配与所述错误配置项相关联的配置项。
6.根据权利要求5所述的装置,其特征在于,所述配置变量定位单元进一步用于指定软件的源代码中的配置类以及配置项列表,通过查找配置类定位到配置项的声明位置,并将所述配置项映射成所述源代码中的配置变量。
7.根据权利要求5所述的装置,其特征在于,所述程序切片单元进一步基于wala切片工具从配置变量的声明语句的位置开始进行前向切片,找到所述配置变量所影响的谓词语句。
8.根据权利要求7所述的装置,其特征在于,所述错误配置项定位单元进一步用于对所述谓词语句进行插桩运行,记录所述谓词语句的执行情况,根据所述谓词语句正确运行和错误运行之间统计数据定位错误配置项。
9.一种电子设备,其特征在于,该电子设备包括:
处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行根据权利要求1-4中任一项所述的基于程序切片的软件关联配置错误诊断方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现权利要求1-4中任一项所述的基于程序切片的软件关联配置错误诊断方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津大学,未经天津大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210096739.1/1.html,转载请声明来源钻瓜专利网。