TY - GEN
T1 - A Complete Set of Related Git Repositories Identified via Community Detection Approaches Based on Shared Commits
AU - Mockus, Audris
AU - Spinellis, Diomidis
AU - Kotti, Zoe
AU - Dusing, Gabriel John
PY - 2020/6/29
Y1 - 2020/6/29
N2 - In order to understand the state and evolution of the entirety of open source software we need to get a handle on the set of distinct software projects. Most of open source projects presently utilize Git, which is a distributed version control system allowing easy creation of clones and resulting in numerous repositories that are almost entirely based on some parent repository from which they were cloned. Git commits are unlikely to get produce and represent a way to group cloned repositories. We use World of Code infrastructure containing approximately 2B commits and 100M repositories to create and share such a map. We discover that the largest group contains almost 14M repositories most of which are unrelated to each other. As it turns out, the developers can push git object to an arbitrary repository or pull objects from unrelated repositories, thus linking unrelated repositories. To address this, we apply Louvain community detection algorithm to this very large graph consisting of links between commits and projects. The approach successfully reduces the size of the megacluster with the largest group of highly interconnected projects containing under 400K repositories. We expect that the resulting map of related projects as well as tools and methods to handle the very large graph will serve as a reference set for mining software projects and other applications. Further work is needed to determine different types of relationships among projects induced by shared commits and other relationships, for example, by shared source code or similar filenames.
AB - In order to understand the state and evolution of the entirety of open source software we need to get a handle on the set of distinct software projects. Most of open source projects presently utilize Git, which is a distributed version control system allowing easy creation of clones and resulting in numerous repositories that are almost entirely based on some parent repository from which they were cloned. Git commits are unlikely to get produce and represent a way to group cloned repositories. We use World of Code infrastructure containing approximately 2B commits and 100M repositories to create and share such a map. We discover that the largest group contains almost 14M repositories most of which are unrelated to each other. As it turns out, the developers can push git object to an arbitrary repository or pull objects from unrelated repositories, thus linking unrelated repositories. To address this, we apply Louvain community detection algorithm to this very large graph consisting of links between commits and projects. The approach successfully reduces the size of the megacluster with the largest group of highly interconnected projects containing under 400K repositories. We expect that the resulting map of related projects as well as tools and methods to handle the very large graph will serve as a reference set for mining software projects and other applications. Further work is needed to determine different types of relationships among projects induced by shared commits and other relationships, for example, by shared source code or similar filenames.
KW - forks and clones
UR - http://www.scopus.com/inward/record.url?scp=85093657588&partnerID=8YFLogxK
U2 - 10.1145/3379597.3387499
DO - 10.1145/3379597.3387499
M3 - Conference contribution
AN - SCOPUS:85093657588
T3 - Proceedings - 2020 IEEE/ACM 17th International Conference on Mining Software Repositories, MSR 2020
SP - 513
EP - 517
BT - Proceedings - 2020 IEEE/ACM 17th International Conference on Mining Software Repositories, MSR 2020
PB - Association for Computing Machinery (ACM)
T2 - 17th IEEE/ACM International Conference on Mining Software Repositories, MSR 2020, co-located with the 42nd International Conference on Software Engineering. ICSE 2020
Y2 - 29 June 2020 through 30 June 2020
ER -