HASPO: Harmony Search-Based Parameter Optimization for Just-in-Time Software Defect Prediction in Maritime Software
Source abstract
Abstract
Software is playing the most important role in recent vehicle innovations, and consequently the amount of software has rapidly grown in recent decades. The safety-critical nature of ships, one sort of vehicle, makes software quality assurance (SQA) a fundamental prerequisite. Just-in-time software defect prediction (JIT-SDP) aims to conduct software defect prediction (SDP) on commit-level code changes to achieve effective SQA resource allocation. The first case study of SDP in the maritime domain reported feasible prediction performance. However, we still consider that the prediction model has room for improvement since the parameters of the model are not optimized yet. Harmony search (HS) is a widely used music-inspired meta-heuristic optimization algorithm. In this article, we demonstrated that JIT-SDP can produce better performance of prediction by applying HS-based parameter optimization with balanced fitness value. Using two real-world datasets from the maritime software project, we obtained an optimized model that meets the performance criterion beyond the baseline of a previous case study throughout various defect to non-defect class imbalance ratio of datasets. Experiments with open source software also showed better recall for all datasets despite the fact that we considered balance as a performance index. HS-based parameter optimized JIT-SDP can be applied to the maritime domain software with a high class imbalance ratio. Finally, we expect that our research can be extended to improve the performance of JIT-SDP not only in maritime domain software but also in open source software.
Source: crossref · Quality: baseline
Research context
OpenAlex topics: Software Reliability and Analysis Research · Software Engineering Research · Software System Performance and Reliability
SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.
Affiliations
School of Computing, Korea Advanced Institute of Science and Technology, Daejeon 34141, Korea
Department of Software Engineering, Jeonbuk National University, Jeonju 54896, Korea
Funding
National Research Foundation of Korea · Institute of Information and Communications Technology Planning and Evaluation
References (59)
Show source-provided references
1. Broy, M. (2006, January 20–28). Challenges in automotive software engineering. Proceedings of the 28th International Conference on Software Engineering, Shanghai, China.10.1145/1134285.1134292 ↗
2. Automated vehicles, on-demand mobility, and environmental impacts
3. Analyzing the economic benefit of unmanned autonomous ships: An exploratory cost-comparison between an autonomous and a conventional bulk carrier
4. Höyhtyä, M., Huusko, J., Kiviranta, M., Solberg, K., and Rokka, J. (2017, January 18–20). Connectivity for autonomous ships: Architecture, use cases, and research challenges. Proceedings of the 2017 International Conference on Information and Communication Technology Convergence (ICTC), Jeju, Korea.10.1109/ICTC.2017.8191000 ↗
5. The economics of software quality assurance: A simulation-based case study10.2307/249206 ↗
6. Knight, J.C. (2002, January 25). Safety critical systems: Challenges and directions. Proceedings of the 24th International Conference on Software Engineering, Orlando, FL, USA.10.1145/581339.581406 ↗
7. A large-scale empirical study of just-in-time quality assurance10.1109/TSE.2012.70 ↗
8. MULTI: Multi-objective effort-aware just-in-time software defect prediction10.1016/j.infsof.2017.08.004 ↗
9. Yang, X., Lo, D., Xia, X., Zhang, Y., and Sun, J. (2015, January 3–5). Deep learning for just-in-time defect prediction. Proceedings of the 2015 IEEE International Conference on Software Quality, Reliability and Security, Vancouver, BC, Canada.10.1109/QRS.2015.14 ↗
10. Deep learning approach for software maintainability metrics prediction10.1109/ACCESS.2019.2913349 ↗
11. Researcher bias: The use of machine learning in software defect prediction10.1109/TSE.2014.2322358 ↗
12. Singh, P.D., and Chug, A. (2017, January 12–13). Software defect prediction analysis using machine learning algorithms. Proceedings of the 2017 7th International Conference on Cloud Computing, Data Science & Engineering-Confluence, Noida, India.
13. Hoang, T., Dam, H.K., Kamei, Y., Lo, D., and Ubayashi, N. (2019, January 25–31). DeepJIT: An end-to-end deep learning framework for just-in-time defect prediction. Proceedings of the 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR), Montreal, QC, Canada.10.1109/MSR.2019.00016 ↗
14. Kang, J., Ryu, D., and Baik, J. (2020). Predicting just-in-time software defects to reduce post-release quality costs in the maritime industry. Softw. Pract. Exp.10.1002/spe.2927 ↗
15. A new heuristic optimization algorithm: Harmony search10.1177/003754970107600201 ↗
16. Abualigah, L., Diabat, A., and Geem, Z.W. (2020). A Comprehensive Survey of the Harmony Search Algorithm in Clustering Applications. Appl. Sci., 10.10.3390/app10113827 ↗
17. A survey on applications of the harmony search algorithm10.1016/j.engappai.2013.05.008 ↗
18. An improved harmony search algorithm for solving optimization problems10.1016/j.amc.2006.11.033 ↗
19. Geem, Z.W. (2009). Music-Inspired Harmony Search Algorithm: Theory and Applications, Springer.10.1007/978-3-642-00185-7 ↗
20. Prajapati, A., and Geem, Z.W. (2020). Harmony Search-Based Approach for Multi-Objective Software Architecture Reconstruction. Mathematics, 8.10.3390/math8111906 ↗
21. Software product line test list generation based on harmony search algorithm with constraints support
22. Efficient parameter estimation of software reliability growth models using harmony search10.1049/iet-sen.2015.0171 ↗
23. Harmony search based remodularization for object-oriented software systems
24. Harmony search-based test data generation for branch coverage in software structural testing10.1007/s00521-013-1474-z ↗
25. Global-best harmony search10.1016/j.amc.2007.09.004 ↗
26. Parameter-setting-free harmony search algorithm10.1016/j.amc.2010.09.049 ↗
27. Borg, M., Svensson, O., Berg, K., and Hansson, D. (2019, January 27). SZZ unleashed: An open implementation of the SZZ algorithm-featuring example usage in a study of just-in-time bug prediction for the Jenkins project. Proceedings of the 3rd ACM SIGSOFT International Workshop on Machine Learning Techniques for Software Quality Evaluation, Tallinn, Estonia.10.1145/3340482.3342742 ↗
28. Data preprocessing for supervised leaning
29. SMOTE: Synthetic minority over-sampling technique10.1613/jair.953 ↗
30. Comparing hyperparameter optimization in cross-and within-project defect prediction: A case study10.1007/s13369-018-3564-9 ↗
31. TLEL: A two-layer ensemble learning approach for just-in-time defect prediction10.1016/j.infsof.2017.03.007 ↗
32. Revisiting supervised and unsupervised models for effort-aware just-in-time defect prediction10.1007/s10664-018-9661-2 ↗
33. The impact of context metrics on just-in-time defect prediction10.1007/s10664-019-09736-3 ↗
34. The impact of automated parameter optimization on defect prediction models10.1109/TSE.2018.2794977 ↗
35. A novel hybrid intelligence algorithm for solving combinatorial optimization problems10.5626/JCSE.2014.8.4.199 ↗
36. Distribution-balanced stratified cross-validation for accuracy estimation10.1080/095281300146272 ↗
37. A hybrid instance selection using nearest-neighbor for cross-project defect prediction10.1007/s11390-015-1575-5 ↗
38. Evaluating complexity, code churn, and developer activity metrics as indicators of software vulnerabilities10.1109/TSE.2010.81 ↗
39. Scikit-learn: Machine learning in Python
40. Buitinck, L., Louppe, G., Blondel, M., Pedregosa, F., Mueller, A., Grisel, O., Niculae, V., Prettenhofer, P., Gramfort, A., and Grobler, J. (2013). API design for machine learning software: Experiences from the scikit-learn project. arXiv.
41. Fairchild, G. (2020, July 28). pyHarmonySearch 1.4.3. Available online: https://pypi.org/project/pyHarmonySearch/.
42. Pasting small votes for classification in large databases and on-line10.1023/A:1007563306331 ↗
43. Bagging predictors10.1007/BF00058655 ↗
44. The random subspace method for constructing decision forests10.1109/34.709601 ↗
45. Louppe, G., and Geurts, P. (2012). Ensembles on Random Patches. Machine Learning and Knowledge Discovery in Databases, Springer.10.1007/978-3-642-33460-3_28 ↗
46. CATOLINO, Gemma, DI NUCCI, Dario, and FERRUCCI, Filomena (2019, January 25–26). Cross-project just-in-time bug prediction for mobile apps: An empirical assessment. Proceedings of the 2019 IEEE/ACM 6th International Conference on Mobile Software Engineering and Systems (MOBILESoft), Montreal, QC, Canada.10.1109/MOBILESoft.2019.00023 ↗
47. An empirical evaluation of bagging and boosting
48. An empirical comparison of voting classification algorithms: Bagging, boosting, and variants10.1023/A:1007515423169 ↗
49. Fine-grained just-in-time defect prediction10.1016/j.jss.2018.12.001 ↗
50. A transfer cost-sensitive boosting approach for cross-project defect prediction10.1007/s11219-015-9287-1 ↗
51. Elkan, C. (2001, January 4–10). The foundations of cost-sensitive learning. Proceedings of the International Joint Conference on Artificial Intelligence, Seattle, WA, USA.
52. Cost-sensitive decision tree ensembles for effective imbalanced classification10.1016/j.asoc.2013.08.014 ↗
53. A survey of cost-sensitive decision tree induction algorithms10.1145/2431211.2431215 ↗
54. Tosun, A., Turhan, B., and Bener, A. (2009, January 18–19). Practical considerations in deploying ai for defect prediction: A case study within the turkish telecommunication industry. Proceedings of the 5th International Conference on Predictor Models in Software Engineering, Vancouver, BC, Canada.10.1145/1540438.1540453 ↗
55. Effective multi-objective naïve Bayes learning for cross-project defect prediction10.1016/j.asoc.2016.04.009 ↗
56. Effective harmony search-based optimization of cost-sensitive boosting for improving the performance of cross-project defect prediction
57. Metaheuristic vs. deterministic global optimization algorithms: The univariate case10.1016/j.amc.2017.05.014 ↗
58. Globally-biased BIRECT algorithm with local accelerators for expensive global optimization10.1016/j.eswa.2019.113052 ↗
59. On the efficiency of nature-inspired metaheuristics in expensive global optimization with limited budget10.1038/s41598-017-18940-4 ↗