Clone-Seeker:利用标注进行有效代码克隆搜索
软件工程
2021-06-08 v1 信息检索
摘要
源代码搜索在软件开发中起着重要作用,例如用于探索性开发或从代码库中机会性复用现有代码。通常,对于自动化软件移植、软件多样化和软件修复等任务,需要探索具有相同功能的不同实现。代码克隆是语法或语义上相似的代码片段,是此类任务的理想候选。搜索代码克隆涉及给定搜索查询以检索相关代码片段。我们提出了一种称为 Clone-Seeker 的新方法,专注于利用克隆类特征来检索代码克隆。为此,我们以自然语言文档的形式为每个代码克隆生成元数据。该元数据包括来自代码克隆的预处理标识符列表,并辅以指示代码克隆语义的关键词列表。该关键词列表可从克隆类的手动标注总体描述中提取,或从整个克隆类的源代码中自动生成。该方法帮助开发人员基于以源代码术语或自然语言编写的搜索查询执行代码克隆搜索。在我们的定量评估中,我们表明(1)Clone-Seeker 在 BigCloneBench 中搜索语义代码克隆(即 Type-4)时比最先进方法具有更高的召回率;且(2)Clone-Seeker 可通过应用自然语言查询准确搜索相关代码克隆。
引用
@article{arxiv.2106.03042,
title = {Clone-Seeker: Effective Code Clone Search Using Annotations},
author = {Muhammad Hammad and Önder Babur and Hamid Abdul Basit and Mark van den Brand},
journal= {arXiv preprint arXiv:2106.03042},
year = {2021}
}