An Exploratory Study on Just-in-Time Multi-Programming-Language Bug Prediction
Zengyang Li, Jiabao Ji, Peng Liang, Ran Mo, Hui Liu
TL;DR
This study introduces a just-in-time MPLB (multi-programming-language bug) prediction approach that uses 23 commit-level metrics across 18 Apache MPL projects and finds that Random Forest yields robust predictions with an average AUC around 76%. It analyzes metric importance via Gini impurity, showing that general commit metrics like changed/added LOC and total current LOC drive most predictive power, while MPL-specific metrics can be pruned for a 40% metric subset without major loss. The work demonstrates that cross-project training improves predictive performance compared to single-project training, while within-project modeling remains strongest; simplified metric sets enable practical deployment. Overall, the results establish feasibility for JIT MPLB prediction in MPL software and provide a baseline and guidelines for future research and industrial adaptation.
Abstract
Context: An increasing number of software systems are written in multiple programming languages (PLs), which are called multi-programming-language (MPL) systems. MPL bugs (MPLBs) refers to the bugs whose resolution involves multiple PLs. Despite high complexity of MPLB resolution, there lacks MPLB prediction methods. Objective: This work aims to construct just-in-time (JIT) MPLB prediction models with selected prediction metrics, analyze the significance of the metrics, and then evaluate the performance of cross-project JIT MPLB prediction. Method: We develop JIT MPLB prediction models with the selected metrics using machine learning algorithms and evaluate the models in within-project and cross-project contexts with our constructed dataset based on 18 Apache MPL projects. Results: Random Forest is appropriate for JIT MPLB prediction. Changed LOC of all files, added LOC of all files, and the total number of lines of all files of the project currently are the most crucial metrics in JIT MPLB prediction. The prediction models can be simplified using a few top-ranked metrics. Training on the dataset from multiple projects can yield significantly higher AUC than training on the dataset from a single project for cross-project JIT MPLB prediction. Conclusions: JIT MPLB prediction models can be constructed with the selected set of metrics, which can be reduced to build simplified JIT MPLB prediction models, and cross-project JIT MPLB prediction is feasible.
