Abstract
Mutation based test generation is a popular and effective process for creating the test suite that is appraised for its caliber over a pool of artificial faults. These artificial faults can be infused by imposing mutagenic rules that further assist meta-heuristic techniques for searching the evolved test suite in search space. Meta-heuristic techniques switch between multiple solutions in search space and result in an optimized solution. This paper implements and presents a new test set generation algorithm, SGO-MT, by embracing a recently developed search based approach, Social Group Optimization algorithm (SGO) for exposing numerous artificial faults in the software. It works on the principle of human learning nature from society and a teacher in the group. The efficacy of the proposed approach is measured on thirteen Java programs widely used in academia. The results demonstrate the good performance for finding the simple and stubborn faults.
Similar content being viewed by others
References
Myers GJ (1989) The art of software testing. Wiley, New York
Jia Y, Harman M (2011) An analysis and survey of the development of mutation testing. IEEE Transaction Softw Eng 37(5):649–678
Zhu Q, Panichella A, Zaidman A (2018) A systematic literature review on how mutation testing supports quality assurance processes. Softw Test Verification Reliab 28(6):1675
Andrews JH, Briand LC, Labiche Y (2005) Is mutation an appropriate tool for testing experiments? In Proceedings of the 27th International Conference on Software Engineering, ICSE ’05. ACM, pp 402–411
Dave M, Agrawal R (2015) Search based techniques and mutation analysis in automatic test case generation: a survey. In IEEE International Advance Computing Conference (IACC). pp 795–799
McMinn P (2004) Search-based software test data generation: a survey: research articles. Softw Test Verification Reliab 14(2):105–156
McMinn P (2011) Search-based software testing: past, present and future. In Proceedings of the 2011 IEEE Fourth International Conference on software testing, verification and validation workshops (ICSTW’11). IEEE Computer Society, pp 153–163
Sahin O, Akay B (2016) Comparisons of metaheuristic algorithms and fitness functions on software test data generation. Appl Soft Comput 49:1202–1214
Ali S, Briand LC, Hemmati H, Panesar-Walawege RK (2010) A systematic review of the application and empirical investigation of search-based test case generation. IEEE Transactions Softw Eng 36(6):742–762
Miller W, Spooner DL (1976) Automatic generation of floating-point test data. IEEE Transactions Softw Eng 2(3):223–226
Fraser G, Zeller A (2012) Mutation-driven generation of unit tests and oracles. IEEE Transaction Softw Eng 38(2):278–292
Fraser G, Arcuri A (2015) Achieving scalable mutation-based generation of whole test suites. Empir Softw Eng 20(3):783–812
Silva RA, de Souza SRS, de Souza PSL (2017) A systematic review on search based mutation testing. Information Softw Technol 81:19–35
Jatana N, Suri B, Rani S (2017) Systematic literature review on search based mutation testing. e-Informatica Softw Eng J 11(1):59–76
Rodrigues DS, Delamaro ME, Correa CG, Nunes FLS (2018) Using genetic algorithms in test data generation critical systematic mapping. ACM Comput Surv 51(2):41(1)-41(23)
Poli R, Kennedy J, Blackwell T (2007) Particle swarm optimization. Swarm Intell 1(1):33–57
Elbes M, Alzubi S, Kanan T, Al-Fuqaha A, Hawashin B (2019) A survey on particle swarm optimization with emphasis on engineering and network applications. Evolut Intell 12(2):113–129
Holland JH (1992) Adaptation in natural and artificial systems: an control and artificial intelligenceintroductory analysis with applications to biology. MIT Press, Cambridge
Luke S (2009) Essentials of metaheuristics. Lulu, available for free at http://cs.gmu.edu/ sean/book/metaheuristics/
Shah D, Chatterjee S (2020) An intelligent programmed genetic algorithm with advanced deterministic diversity creating operator using objective surface visualization. Evol Intell 13:705–723. https://doi.org/10.1007/s12065-020-00385-w
Chu SC, Pei-Wei T (2007) Computational intelligence based on the behavior of cats. Int J Innov Computing Information Control 3(1):163–173
Singh H, Kumar Y (2020) A neighborhood search based cat swarm optimization algorithm for clustering problems. Evolut Intell 13(4):593–609
Mirjalili S (2015) Moth-flame optimization algorithm: a novel nature-inspired heuristic paradigm. Knowl Based Syst 89:228–249
Helmi A, Alenany A (2020) An enhanced moth-flame optimization algorithm for permutation-based problems. Evolut Intell 13(4):741–764
Sayed GI, Khoriba G, Haggag MH (2018) A novel chaotic salp swarm algorithm for global optimization and feature selection. Appl Intell 48(10):3462–3481
Rizk-Allah RM, Hassanien AE (2020) Locomotion-based hybrid salp swarm algorithm for parameter estimation of fuzzy representation-based photovoltaic modules. J Mod Power Syst Clean Energy 9(2):384–394
Yang XS, Xingshi H (2013) Firefly algorithm: recent advances and applications. Int J Swarm Int 1(1):36–50
Wahid F, Ghazali R (2019) Hybrid of firefly algorithm and pattern search for solving optimization problems. Evolut Intell 12(1):1–10
Rizk-Allah RM (2018) Hybridizing sine cosine algorithm with multi-orthogonal search strategy for engineering design problems. J Comput Des Eng 5(2):249–273
Rizk-Allah RM (2019) An improved sine-cosine algorithm based on orthogonal parallel information for global optimization. Soft Comput 23(16):7135–7161
Rizk-Allah RM, El-Fergany AA (2020) Conscious neighborhood scheme-based Laplacian barnacles mating algorithm for parameters optimization of photovoltaic single-and double-diode models. Energy Convers Manag 226:113522
Rizk-Allah RM (2021) A quantum-based sine cosine algorithm for solving general systems of nonlinear equations. Artif Intell Rev. https://doi.org/10.1007/s10462-020-09944-0
Islam MR, Saifullah CMK, Mahmud MR (2019) Chemical reaction optimization: survey on variants. Evolut Intell 12(3):395–420
Satapathy SC, Naik A (2016) Social group optimization (SGO): a new population evolutionary optimization technique. Complex Intell Syst 2:173–203
Rani S, Suri B (2019) Adopting social group optimization algorithm using mutation testing for test suite generation: SGO-MT. In International Conference on Computational Science and Its Applications (ICCSA'19). Lecture Notes in Computer Science, 11622:520–528
Fang J, Zhang H, Liu J, Zhao J, Zhang Y, Wang K (2018) A transformer fault diagnosis model using an optimal hybrid dissolved gas analysis features subset with improved social group optimization-support vector machine classifier. Energies MDPI 11(8):1–18
Naik A, Satapathy SC, Ashour AS, Dey N (2016) Social group optimization for global optimization of multimodal functions and data clustering problems. Neural Comput Appl 30(1):271–287
Naik A, Satapathy SC, Abraham A (2020) Modified Social Group Optimization-a meta-heuristic algorithm to solve short-term hydrothermal scheduling. Appl Soft Comput J 95:106524
Yang XS (2010) Nature-inspired metaheuristic algorithms. Luniver Press, p 504
Ma YS, Offutt J (2005) Description of method-level mutation operators for java. Rep, Electronics, and Telecommunications Research Institute, Korea Tech
Offutt AJ, Pan J (1996) Detecting equivalent mutants and the feasible path problem In Proceedings of 11th Annual Conference on Computer Assurance (COMPASS’96). IEEE, pp 224–236
Kintis M, Papadakis M, Jia Y, Malevris N, Traon YL, Harman M (2018) Detecting trivial mutant equivalences via compiler optimisations. IEEE Transactions Softw Eng 44(4):308–333
Baudry B, Hanh VL, Jezequel J, Traon YL (2000) Building trust into OO components using a genetic analogy. In Proceedings of the 11th International Symposium on Software Reliability Engineering (ISSRE). IEEE, pp 4–14
Louzada J, Camilo-Junior C, Vincenzi A, Rodrigues C (2012) An elitist evolutionary algorithm for automatically generating test data. In Proceedings of 2012 IEEE Congress on Evolutionary Computation (CEC). IEEE, pp 1–8
Subramanian S, Natarajan N (2011) A tool for generation and minimization of test suite by mutant gene algorithm. J Comput Sci 7(10):1581–1589
Estero-Botaro A, García-Domínguez A, Domínguez-Jiménez JJ, Palomo-Lozano F, Medina-Bulo I (2014) A framework for genetic test-case generation for WS-BPEL compositions. In 26th IFIP International Conference on Testing Software and Systems (ICTSS). Springer, pp 1-16
Ghiduk AS, Arabia S (2014) Using evolutionary algorithms for higher-order mutation testing. Int J Comput Sci Issues (IJCSI) 11(2):93
Dang X, Yao X, Gong D, Tian T (2019) Efficiently generating test data to kill stubborn mutants by dynamically reducing the search domain. IEEE Transactions Reliab 69(1):334–348
Du Y, Pan Y, Ao H, Alexander NO, Fan Y (2019) Automatic test case generation and optimization based on mutation testing. In: 19th International Conference on Software Quality, Reliability and Security Companion (QRS-C). IEEE, pp 522-523
Rani S, Suri B (2019) On the effectiveness of using elitist genetic algorithm in mutation testing. Symmetry 11(9):1145
Nilsson R, Offutt J, Mellin J (2004) Test case generation for mutation-based testing of timeliness. Electron Notes Theoretical Comput Sci 164(4):97–114
Benito-Parejo M, Mercedes GM (2020) An evolutionary algorithm for selection of test cases. In IEEE Congress on Evolutionary Computation (CEC). pp 1-8
Hanh LTM, Binh NT, Khuat TT (2016) A novel fitness function of metaheuristic algorithms for test data generation for simulink models based on mutation analysis. J Syst Softw 120:17–30
Ferreira MM, Costa LM, Souza FCM (2020) Search-based Test Data Generation for Mutation Testing: a tool for Python programs. Zenodo
Bottaci L (2001) A genetic algorithm fitness function for mutation testing. In Proceeding of International Workshop on Software Engineering. pp 3–7
Arcuri A (2018) Test suite generation with the many independent objective (MIO) algorithm. Information Softw Technol 104:195–206
Souza FCM, Papadakis M, Traon YL, Delamaro ME (@016) Strong Mutation-Based Test Data Generation Using Hill Climbing. In Proceedings of the 9th International Workshop on Search-Based Software Testing. pp 45-54
Delamaro ME, Maldonado JC, Vincenzi AMR (2001) Proteum/IM 2.0: an integrated mutation testing environment. In: Wong WE (ed) Mutation testing for the new century. The Springer International Series on Advances in Database Systems, vol 24. Springer, Boston, pp 91–101
Papadakis M, Malevris N (2013) Searching and generating test inputs for mutation testing. SpringerPlus 2(1):121
Jatana N, Suri B (2019) Particle swarm and genetic algorithm applied to mutation testing for test data generation: a comparative evaluation. J King Saud Univ -Comput Information Sci 32(4):514–521
Jatana N, Suri B (2020) An improved crow search algorithm for test data generation using search-based mutation testing. Neural Process Lett 52(1):767–784
Hasan IH, Ahmed BS, Potrus MY, Zamli KZ (2020) Generation and application of constrained interaction test suites using base forbidden tuples with a mixed neighborhood Tabu search. Int Softw Eng Knowl Eng 30(03):363–398
Fraser G, Wotawa F (2007) Redundancy Based Test-Suite Reduction. In FASE’07 Proceedings of the 10th international conference on Fundamental approaches to software engineering. pp 291–305
EvoSuite - automated generation of JUnit test suites for Java classes. Available Online: https://github.com/EvoSuite/evosuite/ (accessed on May, 2019)
Liang YD (2011) Introduction to Java programming. Pearson Education Inc, New Jersey, USA
Ammann P, Offutt J (2012) Introduction to software testing. Cambridge University Press, UK
Singh Y (2012) Software testing. Cambridge University Press, UK
Smallest Largest. Available Online: https://github.com/VMehta99/SmallestLargest/blob/master/SmallestLargest.java (accessed on August, 2018)
Software-artifact Infrastructure Repository. Available Online: http://sir.unl.edu/portal/index.php (accessed on May, 2019)
Ma YS, Offutt J, Kwon YR (2005) MuJava: An automated class mutation system. Softw Test Verification Reliab 15(2):97–133
Sivanandam SN, Deepa SN (2008) Introduction to genetic algorithms. Springer, New York
Gonzalez-Hernandez L, Offutt J, Potena P (2018) Using mutant stubbornness to create minimal and prioritized test sets. In International Conference on Software Quality, Reliability, and Security. IEEE, pp 446–457
Acknowledgements
Supported by Visvesvaraya PhD Scheme, MeitY, Govt. of India. \(\langle\) MEITY-PHD-704 \(\rangle\). The authors would like to acknowledge the Ministry of Electronics and Information Technology, Govt. of India for supporting this research under Visvesvaraya Ph. D. Scheme for Electronics and IT.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflicts of interest
The authors declare no conflict of interest.
Authors’ Contribution
All authors contributed equally to this work.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Rani, S., Suri, B. Mutation based test generation using search based social group optimization approach. Evol. Intel. 15, 2105–2114 (2022). https://doi.org/10.1007/s12065-021-00618-6
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12065-021-00618-6