当前位置:
X-MOL 学术
›
arXiv.cs.SE
›
论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Modeling Functional Similarity in Source Code with Graph-Based Siamese Networks
arXiv - CS - Software Engineering Pub Date : 2020-11-23 , DOI: arxiv-2011.11228 Nikita Mehrotra, Navdha Agarwal, Piyush Gupta, Saket Anand, David Lo, Rahul Purandare
arXiv - CS - Software Engineering Pub Date : 2020-11-23 , DOI: arxiv-2011.11228 Nikita Mehrotra, Navdha Agarwal, Piyush Gupta, Saket Anand, David Lo, Rahul Purandare
Code clones are duplicate code fragments that share (nearly) similar syntax
or semantics. Code clone detection plays an important role in software
maintenance, code refactoring, and reuse. A substantial amount of research has
been conducted in the past to detect clones. A majority of these approaches use
lexical and syntactic information to detect clones. However, only a few of them
target semantic clones. Recently, motivated by the success of deep learning
models in other fields, including natural language processing and computer
vision, researchers have attempted to adopt deep learning techniques to detect
code clones. These approaches use lexical information (tokens) and(or)
syntactic structures like abstract syntax trees (ASTs) to detect code clones.
However, they do not make sufficient use of the available structural and
semantic information hence, limiting their capabilities. This paper addresses the problem of semantic code clone detection using
program dependency graphs and geometric neural networks, leveraging the
structured syntactic and semantic information. We have developed a prototype
tool HOLMES, based on our novel approach, and empirically evaluated it on
popular code clone benchmarks. Our results show that HOLMES performs
considerably better than the other state-of-the-art tool, TBCCD. We also
evaluated HOLMES on unseen projects and performed cross dataset experiments to
assess the generalizability of HOLMES. Our results affirm that HOLMES
outperforms TBCCD since most of the pairs that HOLMES detected were either
undetected or suboptimally reported by TBCCD.
中文翻译:
使用基于图的暹罗网络在源代码中对功能相似性进行建模
代码克隆是重复的代码片段,它们共享(几乎)相似的语法或语义。代码克隆检测在软件维护,代码重构和重用中起着重要作用。过去已经进行了大量研究以检测克隆。这些方法大多数使用词法和句法信息来检测克隆。但是,其中只有少数针对语义克隆。最近,受深度学习模型在其他领域(包括自然语言处理和计算机视觉)成功的推动,研究人员已尝试采用深度学习技术来检测代码克隆。这些方法使用词法信息(令牌)和(或)句法结构(例如抽象语法树(AST))来检测代码克隆。然而,它们没有充分利用可用的结构和语义信息,因此限制了它们的功能。本文利用结构化的句法和语义信息,解决了使用程序依赖图和几何神经网络进行语义代码克隆检测的问题。我们基于新颖的方法开发了HOLMES原型工具,并根据流行的代码克隆基准对它进行了经验评估。我们的结果表明,HOLMES的性能大大优于其他先进的工具TBCCD。我们还评估了未曾见过的项目中的HOLMES,并进行了跨数据集实验以评估HOLMES的可推广性。我们的研究结果肯定了HOLMES优于TBCCD,因为TBCCD并未检测到HOLMES检测到的大多数配对,或者未对它们进行优化报告。限制他们的能力。本文利用结构化的句法和语义信息,解决了使用程序依赖图和几何神经网络进行语义代码克隆检测的问题。我们基于新颖的方法开发了HOLMES原型工具,并根据流行的代码克隆基准对它进行了经验评估。我们的结果表明,HOLMES的性能大大优于其他先进的工具TBCCD。我们还评估了未曾见过的项目中的HOLMES,并进行了跨数据集实验以评估HOLMES的可推广性。我们的研究结果肯定了HOLMES优于TBCCD,因为TBCCD并未检测到HOLMES检测到的大多数配对,或者未对它们进行优化报告。限制他们的能力。本文利用结构化的句法和语义信息,解决了使用程序依赖图和几何神经网络进行语义代码克隆检测的问题。我们基于新颖的方法开发了HOLMES原型工具,并根据流行的代码克隆基准对它进行了经验评估。我们的结果表明,HOLMES的性能大大优于其他先进的工具TBCCD。我们还评估了未曾见过的项目中的HOLMES,并进行了跨数据集实验以评估HOLMES的可推广性。我们的研究结果肯定了HOLMES优于TBCCD,因为TBCCD并未检测到HOLMES检测到的大多数配对,或者未对它们进行优化报告。本文利用结构化的句法和语义信息,解决了使用程序依赖图和几何神经网络进行语义代码克隆检测的问题。我们基于新颖的方法开发了HOLMES原型工具,并根据流行的代码克隆基准对它进行了经验评估。我们的结果表明,HOLMES的性能大大优于其他先进的工具TBCCD。我们还评估了未曾见过的项目中的HOLMES,并进行了跨数据集实验以评估HOLMES的可推广性。我们的研究结果肯定了HOLMES优于TBCCD,因为TBCCD并未检测到HOLMES检测到的大多数配对,或者未对它们进行优化报告。本文利用结构化的句法和语义信息,解决了使用程序依赖图和几何神经网络进行语义代码克隆检测的问题。我们基于新颖的方法开发了HOLMES原型工具,并根据流行的代码克隆基准对它进行了经验评估。我们的结果表明,HOLMES的性能大大优于其他先进的工具TBCCD。我们还评估了未曾见过的项目中的HOLMES,并进行了跨数据集实验以评估HOLMES的可推广性。我们的研究结果肯定了HOLMES优于TBCCD,因为TBCCD并未检测到HOLMES检测到的大多数配对,或者未对它们进行优化报告。并根据流行的代码克隆基准对它进行了经验评估。我们的结果表明,HOLMES的性能大大优于其他先进的工具TBCCD。我们还评估了未曾见过的项目中的HOLMES,并进行了跨数据集实验以评估HOLMES的可推广性。我们的研究结果肯定了HOLMES优于TBCCD,因为TBCCD并未检测到HOLMES检测到的大多数配对,或者未对它们进行优化报告。并根据流行的代码克隆基准对它进行了经验评估。我们的结果表明,HOLMES的性能大大优于其他先进的工具TBCCD。我们还评估了未曾见过的项目中的HOLMES,并进行了跨数据集实验以评估HOLMES的可推广性。我们的研究结果肯定了HOLMES优于TBCCD,因为TBCCD并未检测到HOLMES检测到的大多数配对,或者未对它们进行优化报告。
更新日期:2020-11-25
中文翻译:
使用基于图的暹罗网络在源代码中对功能相似性进行建模
代码克隆是重复的代码片段,它们共享(几乎)相似的语法或语义。代码克隆检测在软件维护,代码重构和重用中起着重要作用。过去已经进行了大量研究以检测克隆。这些方法大多数使用词法和句法信息来检测克隆。但是,其中只有少数针对语义克隆。最近,受深度学习模型在其他领域(包括自然语言处理和计算机视觉)成功的推动,研究人员已尝试采用深度学习技术来检测代码克隆。这些方法使用词法信息(令牌)和(或)句法结构(例如抽象语法树(AST))来检测代码克隆。然而,它们没有充分利用可用的结构和语义信息,因此限制了它们的功能。本文利用结构化的句法和语义信息,解决了使用程序依赖图和几何神经网络进行语义代码克隆检测的问题。我们基于新颖的方法开发了HOLMES原型工具,并根据流行的代码克隆基准对它进行了经验评估。我们的结果表明,HOLMES的性能大大优于其他先进的工具TBCCD。我们还评估了未曾见过的项目中的HOLMES,并进行了跨数据集实验以评估HOLMES的可推广性。我们的研究结果肯定了HOLMES优于TBCCD,因为TBCCD并未检测到HOLMES检测到的大多数配对,或者未对它们进行优化报告。限制他们的能力。本文利用结构化的句法和语义信息,解决了使用程序依赖图和几何神经网络进行语义代码克隆检测的问题。我们基于新颖的方法开发了HOLMES原型工具,并根据流行的代码克隆基准对它进行了经验评估。我们的结果表明,HOLMES的性能大大优于其他先进的工具TBCCD。我们还评估了未曾见过的项目中的HOLMES,并进行了跨数据集实验以评估HOLMES的可推广性。我们的研究结果肯定了HOLMES优于TBCCD,因为TBCCD并未检测到HOLMES检测到的大多数配对,或者未对它们进行优化报告。限制他们的能力。本文利用结构化的句法和语义信息,解决了使用程序依赖图和几何神经网络进行语义代码克隆检测的问题。我们基于新颖的方法开发了HOLMES原型工具,并根据流行的代码克隆基准对它进行了经验评估。我们的结果表明,HOLMES的性能大大优于其他先进的工具TBCCD。我们还评估了未曾见过的项目中的HOLMES,并进行了跨数据集实验以评估HOLMES的可推广性。我们的研究结果肯定了HOLMES优于TBCCD,因为TBCCD并未检测到HOLMES检测到的大多数配对,或者未对它们进行优化报告。本文利用结构化的句法和语义信息,解决了使用程序依赖图和几何神经网络进行语义代码克隆检测的问题。我们基于新颖的方法开发了HOLMES原型工具,并根据流行的代码克隆基准对它进行了经验评估。我们的结果表明,HOLMES的性能大大优于其他先进的工具TBCCD。我们还评估了未曾见过的项目中的HOLMES,并进行了跨数据集实验以评估HOLMES的可推广性。我们的研究结果肯定了HOLMES优于TBCCD,因为TBCCD并未检测到HOLMES检测到的大多数配对,或者未对它们进行优化报告。本文利用结构化的句法和语义信息,解决了使用程序依赖图和几何神经网络进行语义代码克隆检测的问题。我们基于新颖的方法开发了HOLMES原型工具,并根据流行的代码克隆基准对它进行了经验评估。我们的结果表明,HOLMES的性能大大优于其他先进的工具TBCCD。我们还评估了未曾见过的项目中的HOLMES,并进行了跨数据集实验以评估HOLMES的可推广性。我们的研究结果肯定了HOLMES优于TBCCD,因为TBCCD并未检测到HOLMES检测到的大多数配对,或者未对它们进行优化报告。并根据流行的代码克隆基准对它进行了经验评估。我们的结果表明,HOLMES的性能大大优于其他先进的工具TBCCD。我们还评估了未曾见过的项目中的HOLMES,并进行了跨数据集实验以评估HOLMES的可推广性。我们的研究结果肯定了HOLMES优于TBCCD,因为TBCCD并未检测到HOLMES检测到的大多数配对,或者未对它们进行优化报告。并根据流行的代码克隆基准对它进行了经验评估。我们的结果表明,HOLMES的性能大大优于其他先进的工具TBCCD。我们还评估了未曾见过的项目中的HOLMES,并进行了跨数据集实验以评估HOLMES的可推广性。我们的研究结果肯定了HOLMES优于TBCCD,因为TBCCD并未检测到HOLMES检测到的大多数配对,或者未对它们进行优化报告。