journal article·2023-08-11Open access

Empirical Comparison of Higher-Order Mutation Testing and Data-Flow Testing of C# with the Aid of Genetic Algorithm

Eman H. Abd-Elkawy, Rabie Ahmed

Applied Sciences· Volume 13· Issue 16

Abstract

Data-Flow and Higher-Order Mutation are white-box testing techniques. To our knowledge, no work has been proposed to compare data flow and Higher-Order Mutation. This paper compares all def-uses Data-Flow and second-order mutation criteria. The comparison will support the testing decision-making, especially when choosing a suitable criterion. This compassion investigates the subsumption relation between these two criteria and evaluates the effectiveness of test data developed for each. To compare the two criteria, a set of test data satisfying each criterion is generated using genetic algorithms; the set is then used to explore whether one criterion subsumes the other criterion and assess the effectiveness of the test set that was developed for one methodology in terms of the other. The results showed that the mean mutation coverage ratio of the all du-pairs adequate test cover is 80.9%, and the mean data flow coverage ratio of the second-order mutant adequate test cover is 98.7%. Consequently, second-order mutation “ProbSubsumes” the all du-pairs data flow. The failure detection efficiency of the mutation (98%) is significantly better than the failure detection efficiency of data flow (86%). Consequently, second-order mutation testing is “ProbBetter” than all du-pairs data flow testing. In contrast, the size of the test suite of second-order mutation is more significant than the size of the test suite of all du-pairs.
Source: crossref · Quality: baseline

Research context

OpenAlex topics: Software Testing and Debugging Techniques · Advanced Malware Detection Techniques · Radiation Effects in Electronics

SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.

Affiliations

Department of Computer Science, Faculty of Computing & IT, Northern Border University, Arar 73213, Saudi Arabia

Department of Mathematics and Computer Science, Faculty of Science, Beni-Suef University, Beni-Suef 62521, Egypt

Funding

Deanship of Scientific Research at Northern Border University

References (22)

Show source-provided references
1. Software testing and verification10.1016/S0065-2458(08)60010-8 ↗
2. An Experimental Evaluation of Data Flow and Mutation Testing10.1002/(SICI)1097-024X(199602)26:2<165::AID-SPE5>3.0.CO;2-K ↗
3. An empirical comparison of data flow and mutation-based adequacy criteria10.1002/stvr.4370040104 ↗
4. Offutt, A.J., and Voas, J.M. (1996). Subsumption of Condition Coverage Techniques by Mutation Testing, Information and Software Systems Engineering George Mason University. Technical Report ISSE-TR-96-01.
5. All-uses vs. mutation testing: An experimental comparison of effectiveness10.1016/S0164-1212(96)00154-9 ↗
6. Kakarla, S., Momotaz, S., and Namin, A.S. (2011, January 21–25). An Evaluation of Mutation and Data-Flow Testing: A Meta-analysis. Proceedings of the 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops, Berlin, Germany.10.1109/ICSTW.2011.51 ↗
7. Zamojski, W., Kacprzyk, J., Mazurkiewicz, J., Sugier, J., and Walkowiak, T. (2011). Dependable Computer Systems, Springer. Advances in Intelligent and Soft Computing.10.1007/978-3-642-21393-9 ↗
8. Comparing the fault detection effectiveness of mutation and data flow testing: An empirical study
9. Tewary, K., and Harrold, M.J. (1994, January 6–9). Fault modeling using the program dependence graph. Proceedings of the Fifth International Symposium on Software Reliability Engineering, Monterey, CA, USA.
10. Aho, A.V., Sethi, R., and Ullman, J.D. (1986). Compilers, Principles, Techniques, and Tools, Addison-Wesley Publishing Company.
11. An applicable family of data flow testing criteria10.1109/32.6194 ↗
12. Higher order mutation testing10.1016/j.infsof.2009.04.016 ↗
13. Higher-order mutation testing: A systematic literature review
14. Hints on test data selection: Help for the practicing programmer10.1109/C-M.1978.218136 ↗
15. Testing programs with the aid of a compiler10.1109/TSE.1977.231145 ↗
16. Weyuker, E.J., Weiss, S.N., and Hamlet, R.G. (1991, January 8–10). Comparison of program testing strategies. Proceedings of the Fourth Symposium on Software Testing, Analysis, and Verification, Victoria, BC, Canada.10.1145/120807.120808 ↗
17. Michalewicz, Z. (1998). Genetic algorithms + Data Structures = Evolution Programs, Springer. [3rd ed.].
18. Harman, M., Jia, Y., and Langdon, B. (2011, January 5–9). Strong higher order mutation-based test data generation. Proceedings of the 8th European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE ’11), Szeged, Hungary.10.1145/2025113.2025144 ↗
19. Enhancement of Mutation Testing via Fuzzy Clustering and Multi-population Genetic Algorithm10.1109/TSE.2021.3052987 ↗
20. Derezińska, A., and Szustek, A. (2007). CREAM—A System for Object-Oriented Mutation of C# Programs, Warsaw University of Technology.
21. Derezińska, A. (2005). Advanced Mutation Operators Applicable in C# Programs, Warsaw University of Technology.
22. Derezińska, A. (2006, January 27–28). Quality assessment of mutation operators dedicated for C# programs. Proceedings of the 6th International Conference on Quality Software (QSIC’06), Beijing, China.10.1109/QSIC.2006.51 ↗