
5 THREATS TO VALIDITY
In this section, we discuss threats to the validity of the
study.
Construct validity: The validity of our study is
threatened by the validity of the source code measur-
ing method, which we used. We employ the runSZZ
method in this sense, which is widely utilized in other
research and is accessible to the public.
Internal validity: Elements that may sway our ob-
servations pose a threat to internal validity. Specif-
ically, whether the measurements are sufficient and
whether the parameters are relevant to our findings.
A meticulous data-gathering procedure was used for
this.
External validity: Our findings’ capacity to be
broadly applied poses a danger to external validity.
While we looked at three popular open-source sys-
tems with different sizes, domains, time frames, and
commit counts, we are conscious that more empirical
validation on commercial systems would be helpful
to strengthen our conclusions. The type of reported
flaws in commercial systems is different from those
of open source systems. Because the tools we utilized
are limited to Java applications, we were only able to
consider systems written in Java. This is another con-
straint of our work. As a result, we are unable to make
generalizations about projects from industrial settings
or systems built in other languages.
6 CONCLUSIONS
A bug indicates a fault that causes the software to mal-
function and is usually attributable to code errors. Not
all bugs are visible, in fact, some errors, due to the de-
velopment of the source code and rarely to the com-
piler, are imperceptible, in the sense that they do not
affect the functionality of the software.
At the same time, software evolution and mainte-
nance are important and ongoing processes that likely
result in the introduction of new bugs. Since it can re-
duce resource waste and aid in decision making, there
is therefore growing interest in evaluating and predict-
ing the time and money needed to fix bugs. Bug pre-
vention is therefore of fundamental importance, and
in this regard, this document proposes a pipeline for
just-in-time bug identification.
Specifically, the document focuses on a double ob-
jective, on the one hand identifying the set of pro-
cess metrics most suitable for bug detection, and on
the other evaluating whether the proposed approach
is also valid cross-project, thanks to transher learning.
The approach has been validated on three open-source
software systems and the results are very satisfactory.
Finally, to assess the effectiveness of our paradigm
in practice, we intend to carry out a controlled study
involving practitioners. This would enable defect pre-
diction to be more practically used and to assist with
real-time development tasks, including code writing
and/or code reviews.
REFERENCES
Ayewah, N., Pugh, W., Morgenthaler, J. D., Penix, J.,
and Zhou, Y. (2007). Evaluating static analysis de-
fect warnings on production software. In Proceed-
ings of the 7th ACM SIGPLAN-SIGSOFT workshop
on Program analysis for software tools and engineer-
ing, pages 1–8.
Cutler, A., Cutler, D. R., and Stevens, J. R. (2012). Random
forests. Ensemble machine learning: Methods and
applications, pages 157–175.
di Biase, M., Rastogi, A., Bruntink, M., and van Deursen,
A. (2019). The delta maintainability model: Measur-
ing maintainability of fine-grained code changes. In
2019 IEEE/ACM International Conference on Techni-
cal Debt (TechDebt), pages 113–122. IEEE.
Geurts, P., Ernst, D., and Wehenkel, L. (2006). Extremely
randomized trees. Machine learning, 63:3–42.
Khanan, C., Luewichana, W., Pruktharathikoon, K.,
Jiarpakdee, J., Tantithamthavorn, C., Choetkiertikul,
M., Ragkhitwetsagul, C., and Sunetnanta, T. (2021).
Jitbot: An explainable just-in-time defect prediction
bot. In Proceedings of the 35th IEEE/ACM Interna-
tional Conference on Automated Software Engineer-
ing, ASE ’20, page 1336–1339, New York, NY, USA.
Association for Computing Machinery.
Magee, J. F. (1964). Decision trees for decision making.
Harvard Business Review Brighton, MA, USA.
Malhotra, R. (2015). A systematic review of machine learn-
ing techniques for software fault prediction. Applied
Soft Computing, 27:504–518.
Marengo, A., Pagano, A., and Ladisa, L. (2018). Towards
a mobile augmented reality prototype for corporate
training: A new perspective. page 129 – 135. Cited
by: 8.
Nagwani, N. K. and Suri, J. S. (2023). An artificial intel-
ligence framework on software bug triaging, techno-
logical evolution, and future challenges: A review. In-
ternational Journal of Information Management Data
Insights, 3(1):100153.
Neelofar, Javed, M. Y., and Mohsin, H. (2012). An au-
tomated approach for software bug classification. In
2012 Sixth International Conference on Complex, In-
telligent, and Software Intensive Systems, pages 414–
419.
Osman, H. (2017). Empirically-Grounded Construction of
Bug Prediction and Detection Tools. PhD thesis, Uni-
versit
¨
at Bern.
Adopting Delta Maintainability Model for Just in Time Bug Prediction
425