DOI QR코드

DOI QR Code

2진수를 활용한 MCC 테스트 케이스 생성기 설계 및 구현

A Design and Implementation of MCC Test Cases Generator using Binary Numbers

  • 이로빈 (경상국립대학교 컴퓨터공학과) ;
  • 남영호 (경상국립대학교 컴퓨터공학과)
  • 투고 : 2024.05.13
  • 심사 : 2024.06.25
  • 발행 : 2024.08.30

초록

소프트웨어 테스트는 소프트웨어 개발 프로세스의 필수적인 부분이다. 특히 MC/DC(Modified Condition / Decision Coverage)는 복잡한 조건과 결정 구조를 효과적으로 검증하여 소프트웨어의 안정성과 신뢰성을 높이는 데 사용된다. 본 연구에서는 MC/DC 수행의 최대 커버리지 값 확인을 위해 2진수를 활용한 MCC(Multiple Condition Coverage) 테스트 케이스 생성하는 MTC(MCC Test Cases) 생성기를 제안한다. 제안한 MTC 생성기는 TCAS(Traffic alert and Collision Avoidance System)-II 명세서 조건의 일부를 사용하여 CSV(Comma-Separated Values) 파일로 변환 후, VectorCAST 프로그램을 통해 커버리지 결과를 확인하였다. 그 결과 MCC 테스트 케이스로 MC/DC를 수행하여 TCAS-II 명세서의 각 조건들의 MC/DC 수행 시 최대 커버리지 값을 확인하였다. 이는 MC/DC 수행 시 커버리지 최댓값을 확인 함으로써 MC/DC 테스트 케이스 검증 연구에 도움이 된다. 또한 더 많은 테스트 케이스를 통해 결함발견 가능성도 증가시킨다. 이를 통해 소프트웨어 테스트의 커버리지 검증의 효율성과 소프트웨어의 품질 및 안정성을 향상하는 데 기여할 수 있다.

Software testing is essential in the software development process. Modified Condition / Decision Coverage (MC/DC) is a test case derivation technique that enhances the stability and reliability of software by effectively verifying complex conditions and decision structures. We propose the MCC Test Cases (MTC) generator in this study. This generator generates Multiple Condition Coverage (MCC) test cases using binary numbers to confirm the maximum coverage value of MC/DC testing. The proposed MTC generator utilizes some conditions from the Traffic Alert and Collision Avoidance System (TCAS)-II specification. It converts them into a Comma-Separated Values (CSV) file and then validates the coverage results through the VectorCAST program. So, MC/DC testing was performed using the MCC test case to confirm the maximum coverage value when performing MC/DC tests for each condition of the TCAS-II specification. This research is helpful for the verification of MC/DC test cases by confirming the maximum coverage value when performing MC/DC tests. Moreover, having more test cases increases the likelihood of discovering defects. Therefore, it can improve the efficiency of software test coverage verification, as well as the quality and stability of software.

키워드

과제정보

이 연구는 2024년도 경상국립대학교 발전기금재단 재원으로 수행되었음

참고문헌

  1. Shekhawat, S., Iqbal, A., Srinivsan, U., Menon, P., "Automation of MC/DC Coverage Test Case Suite Deploying the Optimal Strategic Choice for Tool Development," ICT with Intelligent Applications Smart Innovation, Systems and Technologies, vol. 248, pp. 433-443, Dec. 2021. https://doi.org/10.1007/978-981-16-4177-0_44
  2. Barisal, S. K., Chauhan, S. P. S., Dutta, A., Godboley, S., Sahoo, B. and Mohapatra, D. P, "BOOMPizer: Minimization and prioritization of CONCOLIC based boosted MC/DC test cases," Journal of King Saud University - Computer and Information Sciences, vol. 34, no. 10, pp. 9757-9776, Nov. 2022. https://doi.org/10.1016/j.jksuci.2021.12.007
  3. Barisal, S. K., Dutta, A., Godboley, S., Sahoo, B. and Mohapatra, D. P., "MC/DC guided Test Sequence Prioritization using Firefly Algorithm, Evolutionary Intelligence, vol. 14, pp. 105-118, Mar. 2021. https://doi.org/10.1007/s12065-019-00322-6
  4. Godboley, S., Jaffar, J., Maghareh, R., Dutta, A, "Toward optimal mc/dc test case generation," ISSTA 2021, pp. 505-516, Online, Denmark, Jul. 2021.
  5. Cegin, J., Rastocny, K, "Test Data Generation for MC/DC Criterion using Reinforcement Learning," 2020 ICSTW, pp. 354-357, Porto, Portugal, Oct. 2020.
  6. Jaffar, J., Godboley, S., Maghareh, R., "Optimal MC/DC test case generation," ICSE, 19, pp. 288-289, Montreal, Canada, May 2019.
  7. Zhipeng, Q., Lisong, W., Jiexiang, K., Zhongjie, G., Wang, Hui., Yin, W., Xiangyu, S., "A Method of Test Case Generation Based on VRM Model," 2021 IEEE 6th ICCCS, pp. 1099-1107, Chengdu, China, Jun. 2021.
  8. Y. Wang et al., "Uncovering Bugs in Code Coverage Profilers via Control Flow Constraint Solving," IEEE Transactions on Software Engineering, vol. 49, no. 11, pp. 4964-4987, Nov. 2023. https://doi.org/10.1109/TSE.2023.3321381
  9. Z. Aghababaeyan, M. Abdellatif, L. Briand, R. S and M. Bagherzadeh, "Black-Box Teeing of Deep Neural Networks through Test Case Diversity," IEEE Transactions on Software Engineering, vol. 49, no. 5, pp. 3182-3204, May 2023. https://doi.org/10.1109/TSE.2023.3243522
  10. P. Singh and L. K. Singh, ''Reliability and Safety Engineering for Safety Critical Systems: An Interview Study With Industry Practitioners," IEEE Transactions on Reliability, vol. 70, no. 2, pp. 643-653, Jun. 2021. https://doi.org/10.1109/TR.2021.3051635
  11. L. E. G. Martins and T. Gorschek, "Requirements Engineering for Safety-Critical Systems: An Interview Study with Industry Practitioners," IEEE Transactions on Software Engineering, vol. 46, no. 4, pp. 346-361, Apr. 2020. https://doi.org/10.1109/TSE.2018.2854716
  12. J. Shi, Y. Chen, Q. Li, Y. Huang, Y. Yang and M. Zhao, "Automated Test Cases Generator for IEC 61131-3 Structured Text Based Dynamic Symbolic Execution," IEEE Transactions on Computers, vol. 73, no. 4, pp. 1048-1059, Apr. 2024.
  13. L. Guglielmo, L. Mariani and G. Denaro, "'Measuring Software Testability via Automatically Generated Test Cases," IEEE Access, vol. 12, pp. 63904-63916, May 2024. https://doi.org/10.1109/ACCESS.2024.3396625
  14. A. Perera, A. Aleti, B. Turhan and M. Bohme, "An Experimental Assessment of Using Theoretical Defect Predictors to Guide Search-Based Software Testing," IEEE Transactions on Software Engineering, vol. 49, no. 1, pp. 131-146, Jan. 2023. https://doi.org/10.1109/TSE.2022.3147008
  15. S. D. Semujju, H. Huang, F. Liu, Y. Xiang and Z. Hao, "Search-Based Software Test Data Genera仕 on for Path Coverage Based on a Feedback-Directed Mechanism," Complex System Modeling and Simulation, vol. 3, no. 1, pp. 12-31, Mar. 2023. https://doi.org/10.23919/CSMS.2022.0027
  16. J. Sundell, K. Lundqvist, and H. Forsberg, "Safety-critical software - quantification of test results," 2020 IEEE International Symposium on Software Reliability Engineering Workshops, pp. 303-310, Coimbra, Portugal, Oct. 2020.
  17. E. Weyuker, T. Goradia, and A. Singh, "Automatically generating test data from a Boolean specification," IEEE Transactions on Software Engineering, vol. 20, no. 5, pp. 353-363, May 1994. https://doi.org/10.1109/32.286420
  18. L. Yang, J. Yan, and J. Zhang, "Generating minimal test set satisfying MC/DC criterion via SAT based approach," Proceedings of the 33rd Annual ACM Symposium on Applied Computing, pp. 1899-1906, Pau, France, Apr. 2018.
  19. Kitamura, T., Maissonneuve, Q., Choi, EH., Artho, C., Gargantini, A, "Optimal Test Suite Generation for Modified Condition Decision Coverage Using SAT Solving," SAFECOMP 2018, pp. 123-138, Vasteras, Sweden, Aug. 2018.