AST增强型或AST过载型?基于混合图表示的AST克隆检测的惊人影响
人工智能
2025-06-18 v1 软件工程
摘要
作为最有害的代码异味之一,代码克隆显著增加软件维护成本并提高漏洞风险,因此其检测是软件工程中的关键挑战。抽象语法树(Abstract Syntax Trees, ASTs)因其精确的语法结构表示而主导深度学习基于代码的克隆检测,但其本质上缺乏语义深度。最近的研究通过引入语义图(如控制流图(Control Flow Graphs, CFGs)和数据流图(Data Flow Graphs, DFGs)来丰富AST基础表示,但不同丰富AST表示的有效性以及其与不同图基机器学习技术的兼容性仍为未开放问题,亟需进一步调查以发挥其在解决代码克隆检测复杂性方面的潜力。本文提出了一项全面的实证研究,严格评估AST基础混合图表示在图神经网络(Graph Neural Network, GNN)基于代码克隆检测中的有效性。我们系统比较了各种混合表示(CFG、DFG、Flow-Augmented ASTs, FA-AST) across 多种GNN架构。我们的实验揭示,混合表示对GNN影响各异:尽管AST+CFG+DFG在卷积型和注意力型模型(图卷积网络(Graph Convolutional Networks, GCN)、图注意力网络(Graph Attention Networks, GAT))中持续提升准确率,但FA-AST经常引入结构复杂性而损害性能。值得注意的是,GMN即使仅使用标准AST表示也能领先其他模型,凸显其在跨代码相似性检测方面的优势,减少了对丰富结构的需求。
引用
@article{arxiv.2506.14470,
title = {AST-Enhanced or AST-Overloaded? The Surprising Impact of Hybrid Graph Representations on Code Clone Detection},
author = {Zixian Zhang and Takfarinas Saber},
journal= {arXiv preprint arXiv:2506.14470},
year = {2025}
}