PHANTOM: Curating GitHub for engineered software projects using time-series clustering
Artikel i vetenskaplig tidskrift, 2020
Objective: The objective of this study is to develop a method capable of filtering large quantities of software projects in a resource-efficient way.
Method: This study follows the Design Science Research (DSR) methodology. The proposed method, PHANTOM, extracts five measures from Git logs. Each measure is transformed into a time-series, which is represented as a feature vector for clustering using the k-means algorithm.
Results: Using the ground truth from a previous study, PHANTOM was shown to be able to rediscover the ground truth on the training dataset, and was able to identify “engineered” projects with up to 0.87 Precision and 0.94 Recall on the validation dataset. PHANTOM downloaded and processed the metadata of 1,786,601 GitHub repositories in 21.5 days using a single personal computer, which is over 33% faster than the previous study which used a computer cluster of 200 nodes. The possibility of applying the method outside of the open-source community was investigated by curating 100 repositories owned by two companies.
Conclusions: It is possible to use an unsupervised approach to identify engineered projects. PHANTOM was shown to be competitive compared to the existing supervised approaches while reducing the hardware requirements by two orders of magnitude.
GitHub
Curation tools
Mining software repositories
Data curation
Författare
Peter Pickerill
Student vid Chalmers
Heiko Joshua Jungen
Student vid Chalmers
M. Ochodek
Politechnika Poznanska
Michał Maćkowiak
Politechnika Poznanska
Miroslaw Staron
Göteborgs universitet
Chalmers, Data- och informationsteknik, Software Engineering
Empirical Software Engineering
1382-3256 (ISSN) 1573-7616 (eISSN)
Vol. 25 4 2897-2929Ämneskategorier (SSIF 2025)
Programvaruteknik
Datavetenskap (datalogi)
DOI
10.1007/s10664-020-09825-8