Measuring and evaluating source code similarity is a fundamental software engineering activity that embraces a broad range of applications, including but not limited to code recommendation, duplicate code, plagiarism, malware, and smell detection. This paper proposes a systematic literature review and meta-analysis on code similarity measurement and evaluation techniques to shed light on the existing approaches and their characteristics in different applications. We initially found over 10000 articles by querying four digital libraries and ended up with 136 primary studies in the field. The studies were classified according to their methodology, programming languages, datasets, tools, and applications. A deep investigation reveals 80 software tools, working with eight different techniques on five application domains. Nearly 49% of the tools work on Java programs and 37% support C and C++, while there is no support for many programming languages. A noteworthy point was the existence of 12 datasets related to source code similarity measurement and duplicate codes, of which only eight datasets were publicly accessible. The lack of reliable datasets, empirical evaluations, hybrid methods, and focuses on multi-paradigm languages are the main challenges in the field. Emerging applications of code similarity measurement concentrate on the development phase in addition to the maintenance.


翻译:度量和评估源代码相似性是软件工程的一项基础性活动,涵盖广泛的应用领域,包括但不限于代码推荐、重复代码、剽窃、恶意软件及代码异味检测。本文提出了一项关于代码相似度度量与评估技术的系统性文献综述和元分析,旨在揭示现有方法及其在不同应用中的特性。我们最初通过查询四个数字图书馆检索到超过10000篇文章,最终筛选出该领域的136篇主要研究。这些研究根据其方法、编程语言、数据集、工具和应用进行了分类。深入调查揭示了80款软件工具,这些工具在五个应用领域中采用八种不同的技术。近49%的工具支持Java程序,37%支持C和C++,但对许多其他编程语言缺乏支持。值得注意的是,存在12个与源代码相似度及重复代码相关的数据集,其中仅8个可公开访问。该领域面临的主要挑战包括缺乏可靠的数据集、经验性评估、混合方法以及对多范式语言的关注不足。代码相似度度量的新兴应用除维护阶段外,还集中于开发阶段。

0
下载
关闭预览

相关内容

Linux导论,Introduction to Linux,96页ppt
专知会员服务
82+阅读 · 2020年7月26日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
164+阅读 · 2019年10月12日
强化学习最新教程,17页pdf
专知会员服务
182+阅读 · 2019年10月11日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
40+阅读 · 2019年10月9日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
41+阅读 · 2019年10月9日
RL解决'BipedalWalkerHardcore-v2' (SOTA)
CreateAMind
31+阅读 · 2019年7月17日
灾难性遗忘问题新视角:迁移-干扰平衡
CreateAMind
17+阅读 · 2019年7月6日
利用动态深度学习预测金融时间序列基于Python
量化投资与机器学习
18+阅读 · 2018年10月30日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
CVE-2018-7600 - Drupal 7.x 远程代码执行exp
黑客工具箱
14+阅读 · 2018年4月17日
国家自然科学基金
18+阅读 · 2017年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
6+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
6+阅读 · 2014年12月31日
Arxiv
0+阅读 · 2023年8月17日
VIP会员
最新内容
《基于深度强化学习的反无人机技术研究》178页
“史诗怒火”行动与“AI中心战”模式的浮现
专知会员服务
5+阅读 · 6月10日
【CVPR2026教程】扩散模型的解析理解
专知会员服务
2+阅读 · 6月10日
马赛克战:俄乌战场透析
专知会员服务
15+阅读 · 6月10日
《利用人工智能增强军事决策》
专知会员服务
7+阅读 · 6月10日
《自动机器学习在军事数据耕耘法中的应用》
专知会员服务
8+阅读 · 6月10日
为何指挥所生存能力要求范式转变
专知会员服务
6+阅读 · 6月10日
打造“新蛛网”模式与高科技动员
专知会员服务
4+阅读 · 6月10日
“蛛网”行动一周年:远程无人机战争
专知会员服务
3+阅读 · 6月10日
相关资讯
相关基金
国家自然科学基金
18+阅读 · 2017年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
6+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
6+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员