ESP Journal of Engineering & Technology Advancements |
© 2023 by ESP JETA |
Volume 3 Issue 4 |
Year of Publication : 2023 |
Authors : Jawahar Thangavelu |
![]() |
Jawahar Thangavelu, 2023. "Exploring the Role of AI and Machine Learning In Automated Software Testing and Debugging", ESP Journal of Engineering & Technology Advancements, 3(4): 126-137.
AI and ML are the other new technologies that have been implemented in various fields, including software testing and debugging. The majority of software testing and software debugging paradigms are conventional, and the majority of test cases are usually done manually; this is time-consuming and, hence, prone to developing errors. AI and ML have, therefore, come as the solutions to what they say they are: the automation, accuracy and capacity to handle huge volumes of bugs, test cases and even predict defects. While AI will be used in software testing, it can imitate real-world situations, whereas with ML, it can go through oceans of data and look for trends leading to failures. They allow the developers to shorten the testing time and enhance the quality of the software while reducing the operation cost. In software testing, AI finds great application in automatically writing tests, analyzing source code, and identifying those that are likely to have defects, which helps improve testing accuracy and time. Machine learning models analyze the signs of an issue through data, estimate the time and place at which it would falter, and, if it does, present a recommendation on how best to fix this. However, artificial intelligence technology automates tools for the identification of error origins based on the behavioral and performance analysis of the codes. This paper focuses on SDLC and AUT in the application of angle intelligence and machine learning in automated software testing and control, with the pros and cons analyzed. We also talk about several categories of testing, namely regression testing, unit, and functional testing, with reference to the prospects of using AI-based automated test case creation. Besides, we show ML-based predictive models that assist in defining regions of code as more prone to defects than others. This paper will also discuss smart debugging tools, which are more effective because they take less time to debug, hence increasing the effectiveness of software development. We discuss several classes of testing, including regression testing, unit testing, and functional testing, with a consideration of the potential of AI-based automated test case generation. Furthermore, we present ML-based predictive models that help determine parts of code likely to contain more defects than others. The paper also explores smart debugging tools that will help reduce debugging time and, therefore, increase software development effectiveness. As is evident from this study, it has been possible to push it to the limits in terms of testing accuracy, speed, and cost, as can be seen from the integration of artificial intelligence learning techniques. Nevertheless, there are questions such as how to explain the model outcomes to others, what kind of data was used while training the models and the integration of the tools mentioned above. The conclusion of the work, therefore, recommends that more work should be done to improve such techniques and harmonize them with current software development practices.
[1] Anand, S., Burke, E. K., Chen, T. Y., Clark, J., Cohen, M. B., Grieskamp, W., ... & Zhu, H. (2013). An orchestrated survey of methodologies for automated software test case generation. Journal of systems and software, 86(8), 1978-2001.
[2] Just, R., Jalali, D., & Ernst, M. D. (2014, July). Defects4J: A database of existing faults to enable controlled testing studies for Java programs. In Proceedings of the 2014 International Symposium on Software Testing and Analysis (pp. 437-440).
[3] Heckman, S., & Williams, L. (2011). A systematic literature review of actionable alert identification techniques for automated static code analysis. Information and Software Technology, 53(4), 363-387.
[4] Busjaeger, B., & Xie, T. (2016, November). Learning for test prioritization: an industrial case study. In Proceedings of the 2016 24th ACM SIGSOFT International symposium on foundations of software engineering (pp. 975-980).
[5] Harman, M., Jia, Y., & Zhang, Y. (2012, June). App store mining and analysis: MSR for app stores. In 2012 9th IEEE Working Conference on Mining Software Repositories (MSR) (pp. 108-111) was held. IEEE.
[6] Russell, S. J., & Norvig, P. (2016). Artificial intelligence: a modern approach. Pearson.
[7] Kamei, Y., & Shihab, E. (2016, March). Defect prediction: Accomplishments and future challenges. In 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER) (Vol. 5, pp. 33-45). IEEE.
[8] Nagappan, N., Ball, T., & Zeller, A. (2006, May). Mining metrics to predict component failures. In Proceedings of the 28th International Conference on Software Engineering (pp. 452-461).
[9] Deming, C., Khair, M. A., Mallipeddi, S. R., & Varghese, A. (2021). Software Testing in the Era of AI: Leveraging Machine Learning and Automation for Efficient Quality Assurance. Asian Journal of Applied Science and Engineering, 10(1), 66-76.
[10] Durelli, V. H., Durelli, R. S., Borges, S. S., Endo, A. T., Eler, M. M., Dias, D. R., & Guimarães, M. P. (2019). Machine learning applied to software testing: A systematic mapping study. IEEE Transactions on Reliability, 68(3), 1189-1212.
[11] Hailpern, B., & Santhanam, P. (2002). Software debugging, testing, and verification. IBM Systems Journal, 41(1), 4-12.
[12] Abramson, D., & Sosic, R. (1996). A debugging and testing tool for supporting software evolution. Computer Aided Software Engineering, 185-206.
[13] Job, M. A. (2021). Automating and optimizing software testing using artificial intelligence techniques. International Journal of Advanced Computer Science and Applications, 12(5).
[14] Canaparo, M., Ronchieri, E., & Bertaccini, G. (2022, March). Software defect prediction: A study on software metrics using statistical and machine learning methods. In Proceedings of Science (Vol. 415, No. Isgc, pp. 21-25).
[15] Martínez-Fernández, S., Bogner, J., Franch, X., Oriol, M., Siebert, J., Trendowicz, A., ... & Wagner, S. (2022). Software engineering for AI-based systems: a survey. ACM Transactions on Software Engineering and Methodology (TOSEM), 31(2), 1-59.
[16] Sanodia, G. (2024). Revolutionizing Cloud Modernization through AI Integration. Turkish Journal of Computer and Mathematics Education, 15(2), 266-283.
[17] Panwar, V. AI-Driven Query Optimization: Revolutionizing Database Performance and Efficiency.
[18] Gandhi, S., Mosleh, W., Shen, J., & Chow, C. M. (2018). Automation, machine learning, and artificial intelligence in echocardiography: a brave new world. Echocardiography, 35(9), 1402-1418.
[19] Santiago, D. (2018). A model-based AI-driven test generation system.
[20] Adabala, B., Griessnig, G., Schnellbach, A., Ringdorfer, M., Santer, C., Puchleitner, A. M., ... & Klopic, V. (2024, September). AI-Driven Test Flow Generation from Semi-formal Functional Safety Requirements. In European Conference on Software Process Improvement (pp. 197-205). Cham: Springer Nature Switzerland.
[21] Jawahar Thangavelu, 2022. "Ensuring Compliance with DO-178C: Advanced Techniques in Avionics Software Verification", ESP Journal of Engineering & Technology Advancements, 2(1): 135-146.
Artificial Intelligence (AI), Machine Learning (ML), Automated Software Testing, Debugging, Defect Prediction, Test Case Generation.