Maximizing Test Coverage for Security Threats Using Optimal Test Data Generation
Source abstract
Abstract
As time continues to advance, the need for robust security threat mitigation has become increasingly vital in software. It is a constant struggle to maximize test coverage through optimal data generation. We conducted explanatory research to maximize test coverage of security requirements as modeled in the structured misuse case description (SMCD). The acceptance test case is designed through the structured misuse case description for mitigation of security threats. Mal activity is designed from SMCD upon which constraints are specified in object constraint language (OCL) in order to minimize human dependency and improve consistency in the optimal test case design. The study compared two state-of-the-art test coverage maximization approaches through optimal test data generation. It was evident through the results that MC/DC generated optimal test data, i.e., n + 1 test conditions in comparison to the decision coverage approach, i.e., 2n test conditions for security threats. Thus, MC/DC resulted in a significantly lower number of test cases yet maximized test coverage of security threats. We, therefore, conclude that MC/DC maximizes test coverage through optimal test data in comparison to decision coverage at the design level for security threat mitigation.
Source: crossref · Quality: baseline
Research context
OpenAlex topics: Software Testing and Debugging Techniques · Software Engineering Research · Software Reliability and Analysis Research
SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.
Affiliations
Faculty of Computing, Riphah International University, Islamabad 46000, Pakistan
Department of Computer Science, Faculty of Information Technology, Zarqa University, Zarqa 13110, Jordan
Department of Information Technology, Faculty of Prince Al-Hussein Bin Abdallah II for Information Technology, The Hashemite University, Zarqa 13116, Jordan
Funding
Zarqa University
References (36)
Show source-provided references
1. Hybrid Particle Swarm and Ranked Firefly Metaheuristic Optimization-Based Software Test Case Minimization10.4018/IJAMC.2022010106 ↗
2. A systematic review on search-based test suite reduction: State-of-the-art, taxonomy, and future directions10.1049/sfw2.12104 ↗
3. Huang, T., and Fang, C.C. (2023). Optimization of Software Test Scheduling under Development of Modular Software Systems. Symmetry, 15.10.3390/sym15010195 ↗
4. Black-Box Testing of Deep Neural Networks Through Test Case Diversity10.1109/TSE.2023.3243522 ↗
5. Mohi-Aldeen, S.M., Mohamad, R., and Deris, S. (2020). Optimal path test data generation based on hybrid negative selection algorithm and genetic algorithm. PLoS ONE, 15.10.1371/journal.pone.0242812 ↗
6. Wang, J., Lutellier, T., Qian, S., Pham, H.V., and Tan, L. (2022, January 22–27). EAGLE: Creating Equivalent Graphs to Test Deep Learning Libraries. Proceedings of the 44th International Conference on Software Engineering, Pittsburgh, PA, USA.10.1145/3510003.3510165 ↗
7. Performance analysis of six meta-heuristic algorithms over automated test suite generation for path coverage-based optimization10.1007/s00500-019-04444-y ↗
8. Refactoring for reuse: An empirical study10.1007/s11334-021-00422-6 ↗
9. A machine learning approach to software model refactoring
10. A systematic literature review on software defect prediction using artificial intelligence: Datasets, Data Validation Methods, Approaches, and Tools10.1016/j.engappai.2022.104773 ↗
11. AspectOCL: Using aspects to ease maintenance of evolving constraint specification10.1007/s10664-019-09717-6 ↗
12. MC/DC guided Test Sequence Prioritization using Firefly Algorithm10.1007/s12065-019-00322-6 ↗
13. Towards situational aware cyber-physical systems: A security-enhancing use case of blockchain-based digital twins10.1016/j.compind.2022.103699 ↗
14. Ami, A.S., Cooper, N., Kafle, K., Moran, K., Poshyvanyk, D., and Nadkarni, A. (2022, January 22–26). Why Crypto-detectors Fail: A Systematic Evaluation of Cryptographic Misuse Detection Techniques. Proceedings of the 2022 IEEE Symposium on Security and Privacy (SP), San Francisco, CA, USA.10.1109/SP46214.2022.9833582 ↗
15. Canakci, S., Delshadtehrani, L., Eris, F., Taylor, M.B., Egele, M., and Joshi, A. (2021, January 5–9). DirectFuzz: Automated Test Generation for RTL Designs using Directed Graybox Fuzzing. Proceedings of the 2021 58th ACM/IEEE Design Automation Conference (DAC) 2021, San Francisco, CA, USA.10.1109/DAC18074.2021.9586289 ↗
16. Aleman, J.L.M., Agenjo, A., Carretero, S., and Kosmidis, L. (2022, January 18–22). On the MC/DC Code Coverage of Vulkan SC GPU Code. Proceedings of the 41st Digital Avionics System Conference, Portsmouth, VA, USA.10.1109/DASC55683.2022.9925766 ↗
17. Automatic Generation and Optimization of Combinatorial Test Cases from UML Activity Diagram Using Particle Swarm Optimization
18. Avdeenko, T., and Serdyukov, K. (2021). Automated test data generation based on a genetic algorithm with maximum code coverage and population diversity. Appl. Sci., 11.10.3390/app11104673 ↗
19. Lemieux, C., Inala, J.P., Lahiri, S.K., and Sen, S. (2023, March 14). CODAMOSA: Escaping Coverage Plateaus in Test Generation with Pre-trained Large Language Models. Available online: https://github.com/microsoft/codamosa.10.1109/ICSE48619.2023.00085 ↗
20. Innovations in t-way test creation based on a hybrid hill climbing-greedy algorithm
21. Multi-objective test suite optimization for detection and localization of software faults
22. A review paper: Optimal test cases for regression testing using artificial intelligent techniques
23. BOOMPizer: Minimization and prioritization of CONCOLIC based boosted MC/DC test cases
24. A Search-Based Approach to Generate MC/DC Test Data for OCL Constraints10.1007/978-3-030-27455-9_8 ↗
25. Zafar, M.N., Afzal, W., and Enoiu, E. (2022, January 17–18). Evaluating System-Level Test Generation for Industrial Software: A Comparison between Manual, Combinatorial and Model-Based Testing. Proceedings of the 3rd ACM/IEEE International Conference on Automation of Software Test, Pittsburgh, PA, USA.10.1145/3524481.3527235 ↗
26. Jha, P., Sahu, M., and Isobe, T. (2023). A UML Activity Flow Graph-Based Regression Testing Approach. Appl. Sci., 13.10.3390/app13095379 ↗
27. Tiwari, R.G., Pratap Srivastava, A., Bhardwaj, G., and Kumar, V. (2021, January 28–30). Exploiting UML Diagrams for Test Case Generation: A Review. Proceedings of the 2021 2nd International Conference on Intelligent Engineering and Management (ICIEM), London, UK.10.1109/ICIEM51511.2021.9445383 ↗
28. Liu, Y., Li, Y., Deng, G., Liu, Y., Wan, R., Wu, R., Ji, D., Xu, S., and Bao, M. (2022). Morest: Model-Based RESTful API Testing with Execution Feedback, Association for Computing Machinery.10.1145/3510003.3510133 ↗
29. Using security robustness analysis for early-stage validation of functional security requirements10.1007/s00766-014-0208-9 ↗
30. Evaluation of Static Vulnerability Detection Tools With Java Cryptographic API Benchmarks10.1109/TSE.2022.3154717 ↗
31. Ribeiro, V., Cruzes, D.S., and Travassos, G.H. (2020, January 1–4). Understanding Factors and Practices of Software Security and Performance Verification. Proceedings of the 19th Brazilian Symposium on Software Quality, Sbcopenlib, Brazil.
32. Comparison of DC and MC/DC Code Coverages10.15546/aeei-2013-0050 ↗
33. TestSelector: Automatic Test Suite Selection for Student Projects10.1007/978-3-031-17196-3_17 ↗
34. Senjyu, T., Mahalle, P.N., Perumal, T., and Joshi, A. (2020). ICT with Intelligent Applications, Springer.
35. A Survey on Deep Learning for Software Engineering10.1145/3505243 ↗
36. Elyasaf, A., Farchi, E., Margalit, O., Weiss, G., and Weiss, Y. (2023). Generalized Coverage Criteria for Combinatorial Sequence Testing. IEEE Trans. Softw. Eng., 1–12.10.1109/TSE.2023.3279570 ↗