-
公开(公告)号:CN118051257A
公开(公告)日:2024-05-17
申请号:CN202311825583.7
申请日:2023-12-27
Applicant: 清华大学
IPC: G06F8/75
Abstract: 本发明提供一种融合深度子树交互的代码克隆检测方法、装置及电子设备,其中的方法包括:获取基准代码块对应的第一抽象语法树,以及待检测代码块对应的第二抽象语法树;将第一抽象语法树划分为多棵第一子树,并将第二抽象语法树划分为多棵第二子树;计算第一子树与第二子树的子树相似度,以及第一抽象语法树与第二抽象语法树的语法树相似度;根据子树相似度和语法树相似度,获取待检测代码块的代码克隆检测结果。该方法通过以代码块为检测粒度,在比较抽象语法树级别的相似度的基础上,将子树级别的相似度也纳入代码克隆检测范畴,极大地提升了代码克隆检测的精确度和召回度,具有广泛的应用价值。
-
公开(公告)号:CN118567715A
公开(公告)日:2024-08-30
申请号:CN202410700489.7
申请日:2024-05-31
Applicant: 清华大学
IPC: G06F8/75
Abstract: 本发明提供一种二进制代码的克隆检测方法及系统,该方法包括:基于二进制代码确定二进制函数的静态汇编代码和动态执行轨迹;根据静态汇编代码和动态执行轨迹确定无标注的二进制函数数据集;根据无标注的二进制函数数据集,采用自监督掩码学习的方式预训练语言模型,得到训练后的语言模型,以使语言模型学习二进制函数的执行语义;根据有标注的二进制函数数据集,对训练后的语言模型进行有监督的微调训练,得到微调后的语言模型;根据微调后的语言模型进行二进制代码克隆检测。本发明不仅能够通过预训练的语言模型自动提取除对二进制代码的克隆检测的特征,省去大量的特征工程开销,而且具有较强的泛化能力,可以应用于不同的平台和编译环境中。
-
公开(公告)号:CN118568516A
公开(公告)日:2024-08-30
申请号:CN202410700555.0
申请日:2024-05-31
Applicant: 清华大学
IPC: G06F18/22 , G06F8/75 , G06F18/213 , G06F21/57
Abstract: 本发明提供一种二进制文件相似性分析方法、系统、设备及存储介质,首先对二进制的主文件和二进制的比对文件进行二进制文件逆向,然后对逆向得到的主文件的二进制函数信息和比对文件的二进制函数信息进行特征提取,之后将得到的主文件的初始特征向量和比对文件的初始特征向量输入预训练的二进制函数嵌入模型,得到二进制函数嵌入模型输出的主文件的函数嵌入特征向量和比对文件的函数嵌入特征向量;根据主文件的函数嵌入特征向量和比对文件的函数嵌入特征向量,基于近邻搜索算法确定备选的相似函数对;基于最大权重匹配算法对备选的相似函数对进行最佳匹配求解,得到匹配的相似函数对,能够在复杂场景下实现对二进制文件相似性的准确、高效分析。
-
-