Enhancing integration testing efficiency through AI-driven combined structural and textual class coupling metric

Iyad Alazzam 1 * , Anas Mohammad Ramadan AlSobeh 1 * , Basil Bani Melhem 1
More Detail
1 Department of Information Systems, Faculty of Information Technology and Computer Science, Yarmouk University, Irbid, JORDAN
* Corresponding Author
Online Journal of Communication and Media Technologies, Volume 14, Issue 4, Article No: e202460. https://doi.org/10.30935/ojcmt/15524
OPEN ACCESS   190 Views   116 Downloads   Published online: 28 Oct 2024
Download Full Text (PDF)

ABSTRACT

Integration testing, a critical and resource-intensive phase in the software development lifecycle, can account for up to a high percentage of the total testing cost. Identifying classes with high coupling is crucial for efficient integration testing, as these classes are more susceptible to the impact of maintenance-related changes. This research introduces a novel metric called combined structural and textual class coupling (CSTCC), which harnesses the power of artificial intelligence (AI) techniques to predict and rank the most critical classes in an object-oriented software system. CSTCC integrates structural coupling metrics with latent semantic indexing (LSI)-based textual coupling, providing a comprehensive measure of class coupling. LSI, an information retrieval technique, analyses the semantic relationships between classes based on their textual content, enabling CSTCC to capture both structural and conceptual dependencies, resulting in a more accurate identification of high-risk classes. The effectiveness of the proposed approach is rigorously evaluated using mutation testing on four Java open-source projects, and the results demonstrate that test cases developed based on CSTCC achieve high mutation scores, indicating their ability to detect a significant percentage of integration faults. By focusing testing efforts on high-coupling classes identified by CSTCC, developers can potentially save time and cost during integration testing. The results demonstrate that test cases developed based on CSTCC achieve high mutation scores, ranging from 98% to 100%, indicating their ability to detect a significant percentage of integration faults. Additionally, the approach results in substantial efficiency gains, with a notable reduction in the number of test cases needed, saving up to 33.3% of the testing effort in some cases. By focusing testing efforts on high-coupling classes identified by CSTCC, developers can potentially save time and cost during integration testing. The CSTCC metric provides a novel and effective approach to prioritize testing resources and improve the efficiency of integration testing in object-oriented software systems.

CITATION

Alazzam, I., AlSobeh, A. M. R., & Bani Melhem, B. (2024). Enhancing integration testing efficiency through AI-driven combined structural and textual class coupling metric. Online Journal of Communication and Media Technologies, 14(4), e202460. https://doi.org/10.30935/ojcmt/15524

REFERENCES

  • Alazzam, I. (2012). Using information retrieval to improve integration testing [Doctoral dissertation, North Dakota State University].
  • Alenezi, M. K. (2014). A new coupling metric: Combining structural and semantic relationships [Doctoral dissertation, North Dakota State University].
  • Ali, S., Briand, L. C., Rehman, H., Asghar, H., Iqbal, M. Z., & Nadeem, A. (2007). A state-based approach to integration testing based on UML models. Information and Software Technology, 49(11–12), 1087–1106. https://doi.org/10.1016/j.infsof.2006.11.002
  • AlSobeh, A. M. R. (2023). OSM: Leveraging model checking for observing dynamic behaviors in aspect-oriented applications. Online Journal of Communication and Media Technologies, 13(4), Article e202355. https://doi.org/10.30935/ojcmt/13771
  • AlSobeh, A. M. R., Magableh, A. A. A., & AlSukhni, E. M. (2018). Runtime reusable weaving model for cloud services using aspect-oriented programming: The security-related aspect. International Journal of Web Services Research, 15(1), 71–88. https://doi.org/10.4018/IJWSR.2018010104
  • AlSobeh, A., & Magableh, A. (2018). Architectural aspect-aware design for IoT applications: Conceptual proposal. International Journal of Computer Science & Information Technology, 10(6), 1–11. https://doi.org/10.5121/ijcsit.2018.10601
  • AlSobeh, A., & Shatnawi, A. (2023). Integrating data-driven security, model checking, and self-adaptation for IoT systems using BIP components: A conceptual proposal model. In Proceedings of the 2023 International Conference on Advances in Computing Research. https://doi.org/10.1007/978-3-031-33743-7_44
  • Amalfitano, D., Faralli, S., Hauck, J. C. R., Matalonga, S., & Distante, D. (2023). Artificial intelligence applied to software testing: A tertiary study. ACM Computing Surveys, 56(3), 1–38. https://doi.org/10.1145/3616372
  • Ammann, P., & Offutt, J. (2016). Introduction to software testing. Cambridge University Press. https://doi.org/10.1017/9781316771273
  • Asad, A., & Alsmadi, I. (2014). Evaluating the impact of software metrics on defects prediction. Computer Science Journal of Moldova, 22(64), 127–144.
  • Bidve, V. S., & Khare, A. (2012). Simplified coupling metrics for OO software. International Journal of Computer Science and Information Technologies, 3(2), 3839–3842.
  • Briand, L. C., Feng, J., & Labiche, Y. (2002). Using genetic algorithms and coupling measures to devise optimal integration test orders. In Proceedings of the 14th International Conference on Software Engineering and Knowledge Engineering (pp. 43–50). ACM. https://doi.org/10.1145/568760.568769
  • Chidamber, S. R., & Kemerer, C. F. (1994). A metrics suite for object oriented design. IEEE Transactions on Software Engineering, 20(6), 476–493. https://doi.org/10.1109/32.295895
  • Durelli, V. H., Araújo, R. F., Silva, M. A., Oliveira, R. A., Maldonado, J. C., & Delamaro, M. E. (2019). ML applied to software testing: A systematic mapping study. IEEE Transactions on Reliability, 68(3), 1189–1212. https://doi.org/10.1109/TR.2019.2892517
  • Ganti, A. (2019). Weighted average. Investopedia. https://www.investopedia.com/terms/w/weightedaverage.asp
  • Garousi, V., & Mäntylä, M. V. (2016). When and what to automate in software testing? A multi-vocal literature review. Information and Software Technology, 76, 92–117. https://doi.org/10.1016/j.infsof.2016.04.015
  • Gethers, M., & Poshyvanyk, D. (2010). Using relational topic models to capture coupling among classes in OO software systems. In Proceedings of the IEEE International Conference on Software Maintenance (pp. 1–10). IEEE. https://doi.org/10.1109/ICSM.2010.5609665
  • Giray, G. (2021). A software engineering perspective on engineering machine learning systems: State of the art and challenges. Journal of Systems and Software, 180, Article 111031. https://doi.org/10.1016/j.jss.2021.111031
  • Goel, B., & Gupta, S. (2017). Dynamic coupling-based performance analysis of OO systems. International Journal of Advanced Research in Computer Science, 8(5), 112–115.
  • Grechanik, M., & DevanlaG, K. (2016). Mutation integration testing. In Proceedings of the 2016 IEEE International Conference on Software Quality, Reliability and Security (pp. 353–364). IEEE. https://doi.org/10.1109/QRS.2016.46
  • Harrold, M. J., & Rothermel, G. (1998). Empirical studies of a safe regression test selection technique. IEEE Transactions on Software Engineering, 24(6), 401–419. https://doi.org/10.1109/32.689399
  • Jia, Y., & Harman, M. (2011). An analysis and survey of the development of mutation testing. IEEE Transactions on Software Engineering, 37(5), 649–678. https://doi.org/10.1109/TSE.2010.62
  • Jorayeva, M., Akbulut, A., Catal, C., & Mishra, A. (2022). Machine learning-based software defect prediction for mobile applications: A systematic literature review. Sensors, 22(7), Article 2551. https://doi.org/10.3390/s22072551
  • Khan, M. A., & Sadiq, M. (2011). Analysis of black box software testing techniques: A case study. In Proceedings of the International Conference on Current Trends in Information Technology (pp. 1–5). IEEE. https://doi.org/10.1109/CTIT.2011.6107931
  • Li, Y., Wang, J., Yang, Y., & Wang, T. (2020). An extensive study of class-level and method-level test case selection for continuous integration. Journal of Systems and Software, 167, Article 110615. https://doi.org/10.1016/j.jss.2020.110615
  • Liu, H., & Chen, J. (2014). A coupling-based approach for class integration and test order. In Proceedings of the IEEE Asia-Pacific Services Computing Conference (pp. 1–6). IEEE. https://doi.org/10.1109/APSCC.2014.39
  • Lu, Y., Sun, W., & Sun, M. (2022). Towards mutation testing of reinforcement learning systems. Journal of Systems Architecture, 131, Article 102701. https://doi.org/10.1016/j.sysarc.2022.102701
  • Pargaonkar, S. (2022). An examination of the integration of artificial intelligence techniques in software testing: A comparative analysis. In Algorithms of intelligence: Exploring the world of machine learning (pp. 174–188).
  • Poshyvanyk, D., & Marcus, A. (2006). The conceptual coupling metrics for OO systems. In Proceedings of the 22nd IEEE International Conference on Software Maintenance (pp. 469–478). IEEE. https://doi.org/10.1109/ICSM.2006.67
  • Poshyvanyk, D., Marcus, A., Ferenc, R., & Gyimóthy, T. (2009). Using information retrieval based coupling measures for impact analysis. Empirical Software Engineering, 14(1), 5–32. https://doi.org/10.1007/s10664-008-9088-2
  • Revelle, M., Gethers, M., & Poshyvanyk, D. (2011). Using structural and textual information to capture feature coupling in OO software. Empirical Software Engineering, 16(6), 773–811. https://doi.org/10.1007/s10664-011-9159-7
  • Roongruangsuwan, S., & Daengdej, J. (2010). Test case prioritization techniques. Journal of Theoretical and Applied Information Technology, 3, 45–60.
  • Sharif, A., Marijan, D., & Liaaen, M. (2021). Deeporder: Deep learning for test case prioritization in continuous integration testing. In Proceedings of the 2021 IEEE International Conference on Software Maintenance and Evolution (pp. 525–534). IEEE. https://doi.org/10.1109/ICSME52107.2021.00053
  • Tan, J., Khalili, R., & Karl, H. (2024). Multi-objective optimization using adaptive distributed reinforcement learning. IEEE Transactions on Intelligent Transportation Systems. https://doi.org/10.1109/TITS.2024.3378007
  • Újházi, B., Ferenc, R., Poshyvanyk, D., & Gyimóthy, T. (2010). New conceptual coupling and cohesion metrics for OO systems. In Proceedings of the 10th IEEE Working Conference on Source Code Analysis and Manipulation (pp. 33–42). IEEE. https://doi.org/10.1109/SCAM.2010.16
  • Utting, M., Pretschner, A., & Legeard, B. (2012). A taxonomy of model-based testing approaches. Software Testing, Verification and Reliability, 22(5), 297–312. https://doi.org/10.1002/stvr.456
  • Yang, Y., Li, Z., He, L., & Zhao, R. (2020). A systematic study of reward for reinforcement learning based continuous integration testing. Journal of Systems and Software, 170, Article 110787. https://doi.org/10.1016/j.jss.2020.110787