Đánh giá các mô hình học sâu cho bài toán dự đoán lỗi phần mềm trên bộ dữ liệu BugHunter
Từ khóa
DOI:
https://doi.org/10.32913/mic-ict-research-vn.v2025.n1.1374Tóm tắt
Dự đoán lỗi phần mềm (SFP) quá trình xác định các mô-đun có khả năng chứa lỗi trước giai đoạn kiểm thử trong vòng đời phát triển phần mềm. Việc dự đoán lỗi sớm trong quá trình phát triển cho phép các nhà phát triển phần mềm tập trung nguồn lực vào các thành phần tiềm ẩn lỗi, từ đó nâng cao chất lượng và độ tin cậy tổng thể của phần
mềm. Các kỹ thuật học máy và học sâu đã được áp dụng rộng rãi để huấn luyện các mô hình SFP. Tuy nhiên, những phương pháp này vẫn đối mặt với nhiều thách thức, bao gồm sự tồn tại của các đặc trưng không liên quan hoặc dư thừa, sự mất cân bằng dữ liệu, hiện tượng quá khớp (overfitting), và cấu trúc mô hình phức tạp. Trong số các bộ dữ liệu được sử dụng cho nhiệm vụ dự đoán lỗi, bộ dữ liệu NASA từ kho PROMISE là bộ phổ biến nhất. Gần đây, bộ dữ liệu BugHunter với số lượng mẫu lớn hơn đáng kể đã được khai thác nhằm huấn luyện các mô hình SFP. Nghiên cứu này trình bày một phân tích so sánh giữa ba mô hình học sâu gồm Mạng Nơ-ron Tích chập (CNN), Mạng Nơ-ron Hồi tiếp (RNN), và Bộ nhớ dài-ngắn hạn (LSTM), cùng với bốn mô hình học máy bao gồm K-Nearest Neighbors (KNN), Multilayer Perceptron (MLP), Adaptive Boosting (AdaBoost), và Extreme Gradient Boosting (XGB) nhằm đánh giá hiệu năng của các mô hình SFP trên bộ dữ liệu BugHunter. Phương pháp Lasso được sử dụng để lựa chọn đặc trưng, trong khi kỹ thuật Synthetic Minority Oversampling Technique (SMOTE) được áp dụng nhằm giải quyết vấn đề mất cân bằng dữ liệu, với mục tiêu cải thiện độ chính xác của mô hình. Kết quả thực nghiệm cho thấy, CNN và RNN vượt trội hơn các mô hình học máy còn lại và đạt được hiệu suất tổng thể tốt nhất.