-
公开(公告)号:CN117113361A
公开(公告)日:2023-11-24
申请号:CN202311168765.1
申请日:2023-09-12
Applicant: 西安电子科技大学杭州研究院
IPC: G06F21/57
Abstract: 本发明属于程序漏洞修复技术领域,公开了一种基于图嵌入的细粒度代码差异获取方法,包括步骤1:数据预处理:对不同版本的Java代码进行预处理,包括针对Java代码生成的抽象语法树进行处理,对抽象语法树中的节点进行特征提取;步骤2:图嵌入生成:利用处理后的抽象语法树以及节点特征向量,得到两棵抽象语法树的同构子树,将同构子树进行合并得到包含了两个版本代码的抽象语法树以及节点嵌入向量,最后将语法树和节点嵌入向量输入到图嵌入算法中。本发明将抽象语法树划分为语句级和词元级,并且使用图嵌入技术很好地保留了节点直接的拓扑关系,为后续代码映射提供更有效的节点信息;不依赖参数设定,具有更高的准确性和泛用性。