一种基于代码语义和度量的代码异味识别方法

    公开(公告)号:CN115952076A

    公开(公告)日:2023-04-11

    申请号:CN202211529670.3

    申请日:2022-11-30

    Abstract: 基于代码语义和度量的代码异味识别方法,包括以下步骤:构建代码异味数据集;对代码片段进行数据预处理,得到代码语义表征信息和代码度量信息;将所述代码语义表征信息输入代码语义表征学习模型,得到代码语义嵌入;将所述代码度量信息输入代码度量关系学习模型,得到代码度量关系嵌入;将所述代码语义嵌入和代码度量关系嵌入进行融合,得到融合学习模型;构造所述融合学习模型的损失函数,对所述融合学习模型进行训练,得到代码异味识别模型;将待检测的代码片输入所述代码异味识别模型,得到代码异味识别结果。本发明设计的方法可以自动化识别多种代码异味,适用于不同语言和代码粒度。

    一种基于图表示学习的代码克隆检测方法

    公开(公告)号:CN116225526A

    公开(公告)日:2023-06-06

    申请号:CN202211605460.8

    申请日:2022-12-14

    Abstract: 本发明提供一种基于图表示学习的代码克隆检测方法。本发明针对代码语义克隆,即Type‑IV克隆,设计了一种基于图的代码克隆检测模型,该模型结合了图注意力网络GAT和边收缩池化EdgePool,同时,本发明构造出一种并行节点内部注意力机制PNIAT,将源代码中解析出的控制流图CFG或程序依赖图PDG转换为标准的图神经网络GNN输入数据,然后将其输入由图注意力网络GAT和边收缩池化EdgePool构建的图神经网络中,输出对应的图嵌入表示,最后采用基于双向长短期记忆网络BiLSTM构建的解码器将成对的图嵌入表示并行解码,得到代码克隆检测的批量检测结果。

Patent Agency Ranking