SNCD: A fast and scalable distributed near-miss code clone detector for big code based on partial index

IF 6.2 2区 计算机科学 Q1 COMPUTER SCIENCE, THEORY & METHODS Future Generation Computer Systems-The International Journal of Escience Pub Date : 2025-02-06 DOI:10.1016/j.future.2025.107743
Liming Yang , Jun Zhao , Rulin Xie, Yi Ren, Jianbo Guan, Bao Li, Jun Ma, Yusong Tan
{"title":"SNCD: A fast and scalable distributed near-miss code clone detector for big code based on partial index","authors":"Liming Yang ,&nbsp;Jun Zhao ,&nbsp;Rulin Xie,&nbsp;Yi Ren,&nbsp;Jianbo Guan,&nbsp;Bao Li,&nbsp;Jun Ma,&nbsp;Yusong Tan","doi":"10.1016/j.future.2025.107743","DOIUrl":null,"url":null,"abstract":"<div><div>A number of techniques have been proposed over the years to detect clones for improving software maintenance, reusability or security. However, there is still a lack of language agnostic approaches with code granularity flexibility for near-miss clone detection in big code in scale. It is challenging to detect near-miss clones in big code across large scale source repositories with hundreds of millions of lines of code (MLOC) or more. The main reason is that it requires more computing and memory resources as the scale of the source code increases. In particular, near-miss clone detection is more difficult and need more resources. In this paper, we present SNCD, a fast and scalable distributed clone detection approach. It overcomes single node CPU and memory resource limitation with MapReduce and HDFS by scalable distributed parallelization. Furthermore, it is partial index based and optimized with multi-threading strategy which further improve the efficiency. It can not only detect Type-1 and Type-2 clones but can also discover the most computationally expensive Type-3 clones for large repositories. Meanwhile, it works for both function and file granularities, and it supports many different programming languages. Experimental results show that SNCD scales better for big code with the size of code in terms of lines of code increases compared to existing clone detection techniques, with recall and precision comparable to state-of-art approaches. With BigCloneBench and the Mutation Framework, two recent and widely used benchmarks, SNCD achieves both high recall and precision, which is competitive with other existing tools.</div></div>","PeriodicalId":55132,"journal":{"name":"Future Generation Computer Systems-The International Journal of Escience","volume":"167 ","pages":"Article 107743"},"PeriodicalIF":6.2000,"publicationDate":"2025-02-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Future Generation Computer Systems-The International Journal of Escience","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0167739X2500038X","RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, THEORY & METHODS","Score":null,"Total":0}
引用次数: 0

Abstract

A number of techniques have been proposed over the years to detect clones for improving software maintenance, reusability or security. However, there is still a lack of language agnostic approaches with code granularity flexibility for near-miss clone detection in big code in scale. It is challenging to detect near-miss clones in big code across large scale source repositories with hundreds of millions of lines of code (MLOC) or more. The main reason is that it requires more computing and memory resources as the scale of the source code increases. In particular, near-miss clone detection is more difficult and need more resources. In this paper, we present SNCD, a fast and scalable distributed clone detection approach. It overcomes single node CPU and memory resource limitation with MapReduce and HDFS by scalable distributed parallelization. Furthermore, it is partial index based and optimized with multi-threading strategy which further improve the efficiency. It can not only detect Type-1 and Type-2 clones but can also discover the most computationally expensive Type-3 clones for large repositories. Meanwhile, it works for both function and file granularities, and it supports many different programming languages. Experimental results show that SNCD scales better for big code with the size of code in terms of lines of code increases compared to existing clone detection techniques, with recall and precision comparable to state-of-art approaches. With BigCloneBench and the Mutation Framework, two recent and widely used benchmarks, SNCD achieves both high recall and precision, which is competitive with other existing tools.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
求助全文
约1分钟内获得全文 去求助
来源期刊
CiteScore
19.90
自引率
2.70%
发文量
376
审稿时长
10.6 months
期刊介绍: Computing infrastructures and systems are constantly evolving, resulting in increasingly complex and collaborative scientific applications. To cope with these advancements, there is a growing need for collaborative tools that can effectively map, control, and execute these applications. Furthermore, with the explosion of Big Data, there is a requirement for innovative methods and infrastructures to collect, analyze, and derive meaningful insights from the vast amount of data generated. This necessitates the integration of computational and storage capabilities, databases, sensors, and human collaboration. Future Generation Computer Systems aims to pioneer advancements in distributed systems, collaborative environments, high-performance computing, and Big Data analytics. It strives to stay at the forefront of developments in grids, clouds, and the Internet of Things (IoT) to effectively address the challenges posed by these wide-area, fully distributed sensing and computing systems.
期刊最新文献
Self-sovereign identity framework with user-friendly private key generation and rule table Accelerating complex graph queries by summary-based hybrid partitioning for discovering vulnerabilities of distribution equipment DNA: Dual-radio Dual-constraint Node Activation scheduling for energy-efficient data dissemination in IoT Blending lossy and lossless data compression methods to support health data streaming in smart cities Energy–time modelling of distributed multi-population genetic algorithms with dynamic workload in HPC clusters
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1