Authors:
Lerina Aversano
1
;
Martina Iammarino
2
;
Antonella Madau
3
;
Debora Montano
4
and
Chiara Verdone
3
Affiliations:
1
Dept. of Agricultural Science, Food, Natural Resources and Engineering, University of Foggia, Foggia, Italy
;
2
Dept. of Informatics, University of Bari Aldo Moro, Bari, Italy
;
3
Dept. of Engineering, University of Sannio, Benevento, Italy
;
4
CeRICT scrl, Regional Center Information Communication Technology, Benevento, Italy
Keyword(s):
Just-In-Time Bug Prediction, Process Metrics, Pipeline.
Abstract:
A flaw that leads to a software malfunction is called a bug. Preventing bugs from the beginning reduces the need to address complex problems in later stages of development or after software release. Therefore, bug prevention helps create more stable and robust code because bug-free software is easier to maintain, update, and expand over time. In this regard, we propose a pipeline for the prevention of bugs in the source code, consisting of a machine learning model capable of predicting just in time whether a new commit inserted into the repository can be classified as ”good” or ”bad”. This is a critical issue as it directly affects the quality of our code. The approach is based on a set of features containing process software metrics at the commit level, some of which are related to the impact of changes. The proposed method was validated on data obtained from three open-source systems, for which the entire evolutionary history was considered, focusing mainly on those affected by bug
s. The results are satisfactory and show not only the effectiveness of the proposed pipeline capable of working in continuous integration but also the ability of the approach to work cross-project, thus generalizing the results obtained.
(More)