arrow
返回

Cross-project code clones in GitHub

delete2018-09-05
delete20
PRE
AI
M
Mohammad Gharehyazie *
B
Baishakhi Ray
M
Mehdi Keshani
M
Masoumeh Soleimani Zavosht
A
Abbas Heydarnoori
V
Vladimir Filkov
DOI:10.1007/s10664-018-9648-zdelete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
Code reuse has well-known benefits on code quality, coding efficiency, and maintenance. Open Source Software (OSS) programmers gladly share their own code and they happily reuse others'. Social programming platforms like GitHub have normalized code foraging via their common platforms, enabling code search and reuse across different projects. Removing project borders may facilitate more efficient code foraging, and consequently faster programming. But looking for code across projects takes longer and, once found, may be more challenging to tailor to one's needs. Learning how much code reuse goes on across projects, and identifying emerging patterns in past cross-project search behavior may help future foraging efforts. Our contribution is two fold. First, to understand cross-project code reuse, here we present an in-depth empirical study of cloning in GitHub. Using Deckard, a popular clone finding tool, we identified copies of code fragments across projects, and investigate their prevalence and characteristics using statistical and network science approaches, and with multiple case studies. By triangulating findings from different analysis methods, we find that cross-project cloning is prevalent in GitHub, ranging from cloning few lines of code to whole project repositories. Some of the projects serve as popular sources of clones, and others seem to contain more clones than their fair share. Moreover, we find that ecosystem cloning follows an onion model: most clones come from the same project, then from projects in the same application domain, and finally from projects in different domains. Second, we utilized these results to develop a novel tool named CLONE-HUNTRESS that streamlines finding and tracking code clones in GitHub. The tool is GitHub integrated, built around a user-friendly interface and runs efficiently over a modern database system. We describe the tool and make it publicly available at http://clone-det.ictic.sharif.edu/.
Keyword:
Clone detection
Cross-project cloning
Deckard
GitHub
AI总结

AI总结

对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。

期刊

Empirical Software Engineering 封面图
Empirical Software Engineering
IF:
3.6
论文数:
2.0K
被引数:
5.3K

机构

C
Columbia University
学者数:
7.1W
论文数: 6.4W
被引数: 263
S
Sharif University of Technology
学者数:
1.1W
论文数: 1.1W
被引数: 9.5K
University of California System 封面图
University of California System
学者数:
37.7W
论文数: 33.8W
被引数: 6.6K
学者 查看更多机构
引用论文

引用论文

No Perisaccadic Mislocalization with Abruptly Cancelled Saccades
err2014-04-16
err0
errOAAI
errJeroen Atsma; Femke Maij; Brian D. Corneil; W. Pieter Medendorp
err分享
err收藏
Balanocarpol, a new polyphenol from Balanocarpus zeylanicus(trimen) and Hopea jucunda(Thw.)(Dipterocarpaceae)
err1985-01-01
err0
PREAI
errM. N. Champika Diyasena; Subramaniam Sotheeswaran; Sivagnanasunderam Surendrakumar; Sinnathamby Balasubramanian; Michael Bokel; Wolfgang Kraus
err分享
err收藏
err分享
err收藏
Neuroscience research in Africa: Current status
err2016-06-01
err0
errOAAI
errFoad Abd-Allah; Najib Kissani; Anthony William; Mohammed Ibrahim Oraby; Ramez Reda Moustafa; Ehab Shaker; Mohamed Soliman El-Tamawy; Raad Shakir
err分享
err收藏
Significance of Magnetic Field on Carreau Dissipative Flow Over a Curved Porous Surface with Activation Energy
err2021-03-01
err0
PREAI
errGadamsetty Revathi; Jayachandra Babu Macherla; Chakravarthula Sivakrishnam Raju; Rohit Sharma; Ali J. Chamkha
err分享
err收藏
err分享
err收藏
学者 查看更多内容