基于事件嵌入与事件依赖的代码克隆检测
软件工程
2021-11-30 v1 人工智能
摘要
基于语义相似度的代码克隆检测方法在软件工程任务(如软件演化、软件复用)中具有重要价值。传统的代码克隆检测技术更多关注代码在语法层面的相似性,而较少关注代码的语义相似性。结果,语义上相似的候选代码被忽略。为解决此问题,我们提出了一种基于语义相似度的代码克隆检测方法。通过将代码视为一系列连续发生的相互依赖的事件,我们设计了一个名为EDAM的模型,基于事件嵌入与事件依赖对代码语义信息进行编码。EDAM模型使用事件嵌入方法对程序语句的执行特征以及所有语句间的数据依赖信息进行建模。通过这种方式,我们能将程序语义信息嵌入为向量,并利用该向量检测语义相似的代码。实验结果表明,我们的EDAM模型性能优于当前最先进的代码克隆检测开源模型。
引用
@article{arxiv.2111.14183,
title = {Code Clone Detection based on Event Embedding and Event Dependency},
author = {Cheng Huang and Hui Zhou and Chunyang Ye and Bingzhuo Li},
journal= {arXiv preprint arXiv:2111.14183},
year = {2021}
}