RepoMiner: a Language-agnostic Python Framework to Mine Software Repositories for Defect Prediction

Stefano Dalla Palma,Dario Di Nucci,Damian Tamburri
DOI: https://doi.org/10.48550/arXiv.2111.11807
2021-11-23
Abstract:Data originating from open-source software projects provide valuable information to enhance software quality. In the scope of Software Defect Prediction, one of the most challenging parts is extracting valid data about failure-prone software components from these repositories, which can help develop more robust software. In particular, collecting data, calculating metrics, and synthesizing results from these repositories is a tedious and error-prone task, which often requires understanding the programming languages involved in the mined repositories, eventually leading to a proliferation of language-specific data-mining software. This paper presents RepoMiner, a language-agnostic tool developed to support software engineering researchers in creating datasets to support any study on defect prediction. RepoMiner automatically collects failure data from software components, labels them as failure-prone or neutral, and calculates metrics to be used as ground truth for defect prediction models. We present its implementation and provide examples of its application.
Software Engineering
What problem does this paper attempt to address?