paperbot · PL 论文追踪

全部论文 待读 收藏

P2 CLCDSA: Cross Language Code Clone Detection using Syntactical Features and API Documentation

CLCDSA:使用句法特征与 API 文档的跨语言代码克隆检测
ASE 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE)2019匹配度 3/10 · 该论文将机器学习用于跨语言代码克隆检测,属于“机器学习+程序分析”的相邻方向,但与用户核心关注的 LLM/Agent 与静态分析交叉、浮点程序分析、贝叶斯程序分析均无直接关系。其问题设定和贡献也不在用户强调的 Agentic 程序、形式化验证或工业落地工具链上。引用 103 inbox
Kawser Wazed Nafi, Tonny Shekha Kar, Banani Roy, Chanchal K. Roy, Kevin A. Schneider
crossref: 2026-09-12

AI 速览

一句话:提出 CLCDSA,利用跨语言句法特征与 API 调用相似性,结合深度神经网络,无需中间表示即可检测跨语言代码克隆。

软件克隆会妨碍维护与演化,但现有克隆检测器大多只面向单一语言。多平台应用常以不同语言编写,产生的跨语言克隆(CLC)更难被现有工具发现。本文提出 CLCDSA:它无需大量源码处理,也不生成中间表示,而是分析不同语言的句法特征来检测 CLC;为支持大规模检测,还用基于跨语言 API 调用相似性的 action filter 过滤非潜在克隆。其设计分两阶段:比较特征相似度在线检测,以及用深度神经网络特征向量学习模型学习并检测。早期评估中,两阶段平均 precision/recall/F-measure 分别为 0.55/0.86/0.64 和 0.61/0.93/0.71,表明 CLCDSA 优于现有模型。

问题
现有克隆检测工具主要面向单一编程语言,难以发现多平台应用中因不同语言实现而产生的跨语言克隆(CLC),后者给维护带来额外挑战。
方法
CLCDSA 不进行大量源码处理或生成中间表示,而是提取跨语言句法特征,并利用基于跨语言 API 调用相似性的 action filter 过滤非潜在克隆;它支持在线特征相似度比较和基于深度神经网络的特征向量学习两种检测方式。
评估
在两阶段早期评估中,模型平均 precision、recall、F-measure 分别达到 0.55、0.86、0.64 和 0.61、0.93、0.71,作者称其优于所有现有跨语言克隆检测模型。
原文摘要(Abstract)

Software clones are detrimental to software maintenance and evolution and as a result many clone detectors have been proposed. These tools target clone detection in software applications written in a single programming language. However, a software application may be written in different languages for different platforms to improve the application's platform compatibility and adoption by users of different platforms. Cross language clones (CLCs) introduce additional challenges when maintaining multi-platform applications and would likely go undetected using existing tools. In this paper, we propose CLCDSA, a cross language clone detector which can detect CLCs without extensive processing of the source code and without the need to generate an intermediate representation. The proposed CLCDSA model analyzes different syntactic features of source code across different programming languages to detect CLCs. To support large scale clone detection, the CLCDSA model uses an action filter based on cross language API call similarity to discard non-potential clones. The design methodology of CLCDSA is two-fold: (a) it detects CLCs on the fly by comparing the similarity of features, and (b) it uses a deep neural network based feature vector learning model to learn the features and detect CLCs. Early evaluation of the model observed an average precision, recall and F-measure score of 0.55, 0.86, and 0.64 respectively for the first phase and 0.61, 0.93, and 0.71 respectively for the second phase which indicates that CLCDSA outperforms all available models in detecting cross language clones.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot5325,
  title = {CLCDSA: Cross Language Code Clone Detection using Syntactical Features and API Documentation},
  author = {Kawser Wazed Nafi and Tonny Shekha Kar and Banani Roy and Chanchal K. Roy and Kevin A. Schneider},
  booktitle = {ASE},
  year = {2019},
  doi = {10.1109/ase.2019.00099}
}