Skip to main content

Advertisement

Log in

Mutation based test generation using search based social group optimization approach

  • Research Paper
  • Published:
Evolutionary Intelligence Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

References

  1. Myers GJ (1989) The art of software testing. Wiley, New York

    MATH  Google Scholar 

  2. Jia Y, Harman M (2011) An analysis and survey of the development of mutation testing. IEEE Transaction Softw Eng 37(5):649–678

    Article  Google Scholar 

  3. 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

    Article  Google Scholar 

  4. 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

  5. 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

  6. McMinn P (2004) Search-based software test data generation: a survey: research articles. Softw Test Verification Reliab 14(2):105–156

    Article  Google Scholar 

  7. 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

  8. Sahin O, Akay B (2016) Comparisons of metaheuristic algorithms and fitness functions on software test data generation. Appl Soft Comput 49:1202–1214

    Article  Google Scholar 

  9. 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

    Article  Google Scholar 

  10. Miller W, Spooner DL (1976) Automatic generation of floating-point test data. IEEE Transactions Softw Eng 2(3):223–226

    Article  MathSciNet  Google Scholar 

  11. Fraser G, Zeller A (2012) Mutation-driven generation of unit tests and oracles. IEEE Transaction Softw Eng 38(2):278–292

    Article  Google Scholar 

  12. Fraser G, Arcuri A (2015) Achieving scalable mutation-based generation of whole test suites. Empir Softw Eng 20(3):783–812

    Article  Google Scholar 

  13. Silva RA, de Souza SRS, de Souza PSL (2017) A systematic review on search based mutation testing. Information Softw Technol 81:19–35

    Article  Google Scholar 

  14. Jatana N, Suri B, Rani S (2017) Systematic literature review on search based mutation testing. e-Informatica Softw Eng J 11(1):59–76

    Google Scholar 

  15. 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)

    Google Scholar 

  16. Poli R, Kennedy J, Blackwell T (2007) Particle swarm optimization. Swarm Intell 1(1):33–57

    Article  Google Scholar 

  17. 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

    Article  Google Scholar 

  18. Holland JH (1992) Adaptation in natural and artificial systems: an control and artificial intelligenceintroductory analysis with applications to biology. MIT Press, Cambridge

    Book  Google Scholar 

  19. Luke S (2009) Essentials of metaheuristics. Lulu, available for free at http://cs.gmu.edu/ sean/book/metaheuristics/

  20. 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

  21. Chu SC, Pei-Wei T (2007) Computational intelligence based on the behavior of cats. Int J Innov Computing Information Control 3(1):163–173

    Google Scholar 

  22. Singh H, Kumar Y (2020) A neighborhood search based cat swarm optimization algorithm for clustering problems. Evolut Intell 13(4):593–609

    Article  Google Scholar 

  23. Mirjalili S (2015) Moth-flame optimization algorithm: a novel nature-inspired heuristic paradigm. Knowl Based Syst 89:228–249

    Article  Google Scholar 

  24. Helmi A, Alenany A (2020) An enhanced moth-flame optimization algorithm for permutation-based problems. Evolut Intell 13(4):741–764

    Article  Google Scholar 

  25. 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

    Article  Google Scholar 

  26. 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

  27. Yang XS, Xingshi H (2013) Firefly algorithm: recent advances and applications. Int J Swarm Int 1(1):36–50

    Google Scholar 

  28. Wahid F, Ghazali R (2019) Hybrid of firefly algorithm and pattern search for solving optimization problems. Evolut Intell 12(1):1–10

    Article  Google Scholar 

  29. 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

    MathSciNet  Google Scholar 

  30. Rizk-Allah RM (2019) An improved sine-cosine algorithm based on orthogonal parallel information for global optimization. Soft Comput 23(16):7135–7161

    Article  Google Scholar 

  31. 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

    Article  Google Scholar 

  32. 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

  33. Islam MR, Saifullah CMK, Mahmud MR (2019) Chemical reaction optimization: survey on variants. Evolut Intell 12(3):395–420

    Article  Google Scholar 

  34. Satapathy SC, Naik A (2016) Social group optimization (SGO): a new population evolutionary optimization technique. Complex Intell Syst 2:173–203

    Article  Google Scholar 

  35. 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

  36. 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

    Google Scholar 

  37. 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

    Article  Google Scholar 

  38. 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

    Article  Google Scholar 

  39. Yang XS (2010) Nature-inspired metaheuristic algorithms. Luniver Press, p 504

  40. Ma YS, Offutt J (2005) Description of method-level mutation operators for java. Rep, Electronics, and Telecommunications Research Institute, Korea Tech

  41. 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

  42. 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

    Article  Google Scholar 

  43. 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

  44. 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

  45. 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

    Article  Google Scholar 

  46. 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

  47. Ghiduk AS, Arabia S (2014) Using evolutionary algorithms for higher-order mutation testing. Int J Comput Sci Issues (IJCSI) 11(2):93

    Google Scholar 

  48. 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

    Article  Google Scholar 

  49. 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

  50. Rani S, Suri B (2019) On the effectiveness of using elitist genetic algorithm in mutation testing. Symmetry 11(9):1145

    Article  Google Scholar 

  51. 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

    Article  Google Scholar 

  52. Benito-Parejo M, Mercedes GM (2020) An evolutionary algorithm for selection of test cases. In IEEE Congress on Evolutionary Computation (CEC). pp 1-8

  53. 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

    Article  Google Scholar 

  54. Ferreira MM, Costa LM, Souza FCM (2020) Search-based Test Data Generation for Mutation Testing: a tool for Python programs. Zenodo

  55. Bottaci L (2001) A genetic algorithm fitness function for mutation testing. In Proceeding of International Workshop on Software Engineering. pp 3–7

  56. Arcuri A (2018) Test suite generation with the many independent objective (MIO) algorithm. Information Softw Technol 104:195–206

    Article  Google Scholar 

  57. 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

  58. 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

  59. Papadakis M, Malevris N (2013) Searching and generating test inputs for mutation testing. SpringerPlus 2(1):121

    Article  Google Scholar 

  60. 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

    Google Scholar 

  61. 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

    Article  Google Scholar 

  62. 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

    Article  Google Scholar 

  63. 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

  64. EvoSuite - automated generation of JUnit test suites for Java classes. Available Online: https://github.com/EvoSuite/evosuite/ (accessed on May, 2019)

  65. Liang YD (2011) Introduction to Java programming. Pearson Education Inc, New Jersey, USA

    Google Scholar 

  66. Ammann P, Offutt J (2012) Introduction to software testing. Cambridge University Press, UK

    Google Scholar 

  67. Singh Y (2012) Software testing. Cambridge University Press, UK

    Google Scholar 

  68. Smallest Largest. Available Online: https://github.com/VMehta99/SmallestLargest/blob/master/SmallestLargest.java (accessed on August, 2018)

  69. Software-artifact Infrastructure Repository. Available Online: http://sir.unl.edu/portal/index.php (accessed on May, 2019)

  70. Ma YS, Offutt J, Kwon YR (2005) MuJava: An automated class mutation system. Softw Test Verification Reliab 15(2):97–133

    Article  Google Scholar 

  71. Sivanandam SN, Deepa SN (2008) Introduction to genetic algorithms. Springer, New York

    MATH  Google Scholar 

  72. 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

Download references

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

Authors

Corresponding author

Correspondence to Shweta Rani.

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s12065-021-00618-6

Keywords

Navigation