杭州电子科技大学王兴起获国家专利权
买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
龙图腾网获悉杭州电子科技大学申请的专利一种基于信息和层次泛化修复模板的软件修复方法获国家发明授权专利权,本发明授权专利权由国家知识产权局授予,授权公告号为:CN115858387B 。
龙图腾网通过国家知识产权局官网在2026-02-17发布的发明授权授权公告中获悉:该发明授权的专利申请号/专利号为:202211689885.1,技术领域涉及:G06F11/3668;该发明授权一种基于信息和层次泛化修复模板的软件修复方法是由王兴起;马云;魏丹;方景龙设计研发完成,并于2022-12-27向国家知识产权局提交的专利申请。
本一种基于信息和层次泛化修复模板的软件修复方法在说明书摘要公布了:本发明公开了一种基于信息和层次泛化修复模板的软件修复方法,本发明采用的对代码的抽象语法树进行提取信息,进一步利用提出的术语表示,生成了信息更全面的代码表示以丰富训练数据集并解决了代码的结构信息丢失的问题;采用了一种单独泛化和层次泛化相结合的方法,成功的解决了某些修复的测试用例被错误泛化甚至不泛化的缺陷,成功的挖掘出了更全面的修复模板,通过在泛化过程中利用测试用例的信息来对泛化的程度加以控制,进一步减少了泛化程度太高导致无意义的模板数量,进一步提高了模板的匹配准确率。
本发明授权一种基于信息和层次泛化修复模板的软件修复方法在权利要求书中公布了:1.一种基于信息和层次泛化修复模板的软件修复方法,其特征在于,包括以下步骤: 步骤1、对软件故障数据集中的原始数据进行预处理; 步骤1‑1:采用抽象语法树AST进行代码表示;并对AST的标签为SimpleName叶节点进行细化操作; 步骤1‑2:基于细化后的AST,定位代码段中的故障代码,并提取其父节点及兄弟节点所在的语句,共同构成故障代码的上下文; 步骤2、对故障相关信息和修复操作进行表示并使用深度学习算法聚类故障; 步骤2‑1:将步骤1得到的故障代码上下文及故障代码的AST,按节点遍历并以Value: Label的键值对形式进行表示,得到故障代码及其上下文的令牌向量表示; 步骤2‑2:通过树型差分算法,对比故障代码与修复后代码的AST,提取出插入、删除、更新、移动四种原子修复操作;步骤2‑3:将所述令牌向量表示与所述修复操作表示组合并数值化,通过无监督学习模型进行特征提取与聚类,根据聚类的相似故障代码的个数进行分组; 步骤3、对多元测试用例分组进行自适应层次泛化步骤3‑1、故障代码的模板定义定义包含泛化的AST模板:;其中通配符#表示节点的值,通配符表示节点的标签,通配符?表示以该节点为根节点的整棵子树;完成上述定义,对故障上下文代码进行初步泛化,即将所有变量值用通配符#表示,对应的标签不进行泛化; 步骤3‑2、故障代码的修复操作模板定义定义泛化后的修复操作模板O:;其中Operator表示修复操作类型,?表示AST子树,location表示位置,只在操作类型为删除和插入时需要;对修复操作进行初步泛化,即将操作中所有变量值用通配符#表示,对应标签不进行泛化; 步骤3‑3、自适应层次泛化将初步泛化后的模板放入集合W中,遍历集合W,每次选取两个模板进行配对比较,将泛化后得到的模板设置为泛化使用的两个模板的上层父模板;直到集合W中没有任何模板可以泛化,此时集合W中的模板则为模板集合的最高层次模板; 泛化操作为:首先对比两个模板的修复操作,若二者的操作数量、类型及顺序均相同,则判定为可泛化;若不可泛化,则从模板集合中重新选取模板进行配对;对比修复操作中的操作元素的标签部分,若是节点标签相同,则不进行泛化,若节点标签不同,则进行泛化,即使用通配符占位;根据所述修复操作的泛化结果,对故障代码的模板进行相应泛化,得到完整的泛化后模板; 步骤4、对单元测试用例分组进行自适应统计信息泛化步骤4‑1、根据步骤2‑1中的令牌向量表示,计算令牌的出现次数,按照常量、变量和方法三个大种类统计出现的各个令牌的频率; 步骤4‑2、根据步骤3‑1和3‑2中对故障代码的模板和故障代码的修复操作的模板的定义,依次对模板进行泛化;首先按照修复操作中留有的令牌的频率从低到高选择进行泛化,接着泛化对应故障代码中的令牌,得到模板集合; 步骤5、对步骤3和步骤4中分别得到的模板集合进行去重和整理; 步骤6:根据步骤5得到的修复模板集合对软件故障代码进行修复。
如需购买、转让、实施、许可或投资类似专利技术,可联系本专利的申请人或专利权人杭州电子科技大学,其通讯地址为:310018 浙江省杭州市下沙高教园区2号大街;或者联系龙图腾网官方客服,联系龙图腾网可拨打电话0551-65771310或微信搜索“龙图腾网”。
以上内容由龙图腾AI智能生成。
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。

皖公网安备 34010402703815号
请提出您的宝贵建议,有机会获取IP积分或其他奖励