DeepLaBB: A Deep Learning Framework for Blocking Bugs
暂无分享,去创建一个
Blocking bugs (BBs) refer to flaws in software components that prevent other bugs from being resolved. The severe nature of this bug has occasioned the building of blocking bug prediction (BBP) models for early detection of BBs during software maintenance. Traditional approaches to building these models usually rely on software metrics (i.e., Lack of cohesion, coupling between objects, cyclomatic complexity, and LOC) mined from source code files, and the use of machine learning techniques. However, empirical evidence suggests that these metrics often fail to capture the syntax and semantic information between programs. This significantly affects the performance of the prediction models built on these features. To address these issues, this paper introduces a framework that leverages a deep learning model, DeepLaBB, to automatically learn semantic features using token vectors, and then applies the features to build and train a model that predicts whether a bug is considered blocking or non-blocking. To show the effectiveness of the proposed approach, eight large-scale open-source projects, namely Chromium, Eclipse, NetBeans, OpenOffice, Gentoo, Fedora, Mozilla, and NetBeans containing over 609,800 bugs were used for the training and validation needs of the models. The proposed ensemble deep learning model (DeepLaBB) was benchmarked against four traditional machine learning techniques, namely Random Forest, Artificial Neural Network, Classification, and regression Tree, and K-Nearest Neighbour. Performance evaluation measures, namely F1-score, MCC, and AUC were used to measure the performance of the models. On average, DeepLaBB achieved an MCC of 0.8504%, F1 Score of 0.4292%, and AUC of 2.9459%. The results show that DeepLaBB achieves a better BB prediction performance than the baseline conventional machine learning models proposed in previous studies. The proposed framework DeepLaBB is efficient in predicting BB.