Just-in-Time Defect Prediction for Self-driving Software via a Deep Learning Model
DOI:
https://doi.org/10.13052/jwe1540-9589.2225Keywords:
Software defect prediction, edge computing applications, self-driving, deep learningAbstract
Edge computing is applied to various applications and is typically applied to autonomous driving software. As the self-driving system becomes complicated and the proportion of software increases, accidents caused by software defects increase. Just-in-time (JIT) defect prediction is a technique that identifies defects during the software development phase, which helps developers prioritize code inspection. Many researchers have proposed various JIT models, but it is difficult to find a case in which JIT defect prediction was performed on edge computing applications. In particular, due to the characteristic of self-driving software, which is frequently updated, there is a high risk of inducing defects into the update process. In this work, we propose a JIT defect prediction model via deep learning for edge computing applications called JIT4EA. Our research goal is to develop an effective model to predict defects in edge computing applications. To do this, we perform defect prediction on self-driving software, a representative edge computing application. We use pre-trained unified cross-modal pre-training for code representation (UniXCoder) to embed commit messages and code changes. We use bidirectional-LSTM(Bi-LSTM) for context and semantic learning. As a result of the experiment, it was confirmed that the proposed JIT4EA performed better than state-of-the-art methods and could reduce the code inspection effort.
Downloads
References
Watch: “Tesla Model 3 on Autopilot hit by a semi-truck and pushed for half mile”, HT auto, Updated on 18 Oct 2021, https://auto.hindustantimes.com/auto/cars/watch-tesla-model-3-on-autopilot-hit-by-a-semi-truck-and-pushed-for-half-mile-41634546063019.html
L. Jiang, S. Jiang, L. Gong, Y. Dong, Q. Yu, “Which process metrics are significantly important to change of defects in evolving projects: An empirical study,” IEEE Access, vol. 8, pp. 93705–93722, 2020.
S. Wang, T. Liu, J. Nam, L. Tan, “Deep semantic feature learning for software defect prediction,” IEEE Transactions on Software Engineering, vol. 46, no. 12, pp. 1267–1293, 2018.
L. Šikić, A. S. Kurdija, K. Vladimir, M. Šilić, Graph neural network for source code defect prediction,” IEEE Access, vol. 10, pp. 10402–10415, 2022.
D. Guo, S. Lu, N. Duan, Y. Wang, M. Zhou, J. Yin, “UniXcoder: Unified cross-modal pre-training for code representation,” arXiv preprint arXiv:2203.03850, 2022.
T. Hoang, H. K. Dam, Y. Kamei, D. Lo, N. Ubayashi, “DeepJIT: an end-to-end deep learning framework for just-in-time defect prediction,” in 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR), 2019, pp. 34–45.
T. Hoang, H. J. Kang, D. Lo, J. Lawall, “Cc2vec: Distributed representations of code changes,” in Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering, 2020, pp. 518–529.
C. Pornprasit and C. K. Tantithamthavorn, “Jitline: A simpler, better, faster, finer-grained just-in-time defect prediction,” in 2021 IEEE/ACM 18th International Conference on Mining Software Repositories (MSR), 2021, pp. 369–379.
X. Zhou, D. Han, D. Lo, “Assessing generalizability of CodeBERT,” in 2021 IEEE International Conference on Software Maintenance and Evolution (ICSME), 2021, pp. 425–436.
C. Jiwon, S. Manikandan, R. Duksan, B. Jongmoon, “An empirical analysis on just-in-time defect prediction models for self-driving software systems,” 2nd International Workshop on Big Data-driven Edge Cloud Services (BECS), 2022.
G. Rosa, L. Pascarella, S. Scalabrino, R. Tufano, G. Bavota, M. Lanza, R. Oliveto, “Evaluating SZZ implementations through a developer-informed oracle,” in 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE), 2021, pp. 436–447.
L. Šikić, A. S. Kurdija, K. Vladimir, M. Šilić, “Graph neural network for source code defect prediction,” IEEE Access, vol. 10, pp. 10402–10415, 2022.
Y. Kamei, E. Shihab, B. Adams, A. E. Hassan, A. Mockus, A. Sinha, N. Ubayashi, “A large-scale empirical study of just-in-time quality assurance,” IEEE Transactions on Software Engineering, vol. 39, no. 6, pp. 757–773, 2012.
Z. Yang, D. Yang, C. Dyer, X. He, A. Smola, E. Hovy, “Hierarchical attention networks for document classification,” in Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, pp. 1480–1489, 2016.
Z. Feng, D. Guo, D. Tang, N. Duan, X. Feng, M. Gong, et al., “Codebert: A pre-trained model for programming and natural languages,” arXiv preprint arXiv:2002.08155, 2020.
D. Spadini, M. Aniche, A. Bacchelli, “Pydriller: Python framework for mining software repositories,” in Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, 2018, pp. 908–911.
Y. Fan, X. Xia, D. A. Da Costa, D. Lo, A. E. Hassan, S. Li, “The impact of mislabeled changes by SZZ on just-in-time defect prediction,” IEEE Transactions on Software Engineering, vol. 47, no. 8, pp. 1559–1586, 2019.
D. Ryu and J. Baik, “Effective multi-objective naïve Bayes learning for cross-project defect prediction,” Applied Soft Computing, vol. 49, pp. 1062–1077, 2016.
G. Esteves, E. Figueiredo, A. Veloso, M. Viggiato, N. Ziviani, “Understanding machine learning software defect predictions,” Automated Software Engineering, vol. 27, no. 3, pp. 369–392, 2020.
K. E. Bennin, J. W. Keung, A. Monden, “On the relative value of data resampling approaches for software defect prediction,” Empirical Software Engineering, vol. 24, no. 2, pp. 602–636, 2019.
G. Esteves, E. Figueiredo, A. Veloso, M. Viggiato, N. Ziviani, “Understanding machine learning software defect predictions,” Automated Software Engineering, vol. 27, no. 3, pp. 369–392, 2020.
Y. Kamei, E. Shihab, B. Adams, A. E. Hassan, A. Mockus, A. Sinha, N. Ubayashi, “A large-scale empirical study of just-in-time quality assurance,” IEEE Transactions on Software Engineering, vol. 39, no. 6, pp. 757–773, 2012.
J. Lee, J. Choi, D. Ryu, S. Kim, “Holistic parameter optimization for software defect prediction,” IEEE Access, vol. 10, pp. 106781–106797, 2022.