Skip to main content
Log in

MC/DC guided Test Sequence Prioritization using Firefly Algorithm

  • Special Issue
  • Published:
Evolutionary Intelligence Aims and scope Submit manuscript

Abstract

Optimization of the regression testing process has been playing an important role in developing quality software. Still, it is difficult to achieve satisfactory results on the generation of non-redundant and optimized test sequences. There are many optimization techniques applied to regression testing. Firefly algorithm (FA) has gained its popularity as an optimization technique to provide better solutions in the areas of science and engineering. But, the original FA needs to have a better or modified objective function. This work uses FA with an improvised objective function to generate optimal test paths guided by “Modified Condition/Decision Coverage” (MC/DC) criteria in the form of a guided matrix. This matrix is built with MC/DC influence values that we obtained from the predicate nodes of “control flow graph” (CFG). This guided matrix also helps in measuring the fault-finding potential of a node. It also helps in routing fireflies to move between the nodes of a CFG. We have chosen MC/DC criteria, as it is the second strongest code coverage criteria due to its linear time complexity. Then, FA is used by defining an appropriate objective function to traverse the graph using fireflies. We obtain optimal test sequences after executing the FA. These test sequences are ranked by computing the mean brightness of nodes along a path and then prioritized based on their ranks. Our simulation and comparison are validated by experimenting on several moderate sized Java programs.

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

Similar content being viewed by others

Notes

  1. https://github.com/osl/jcute/tree/master/src/tests.

References

  1. Yajing Z, Jing D, Tu P (2010) Ontology classification for semantic-web-based software engineering. IEEE Trans Serv Comput 2(4):303–317

    Google Scholar 

  2. Mall R (2018) Fundamental of software engineering. PHI Learning Private Limited, New Delhi

    Google Scholar 

  3. Godboley S, Dutta A, Mohapatra DP, Mall R (2018) GECOJAP: a novel source-code preprocessing technique to improve code coverage. Comput Stand Interfaces 55:27–46

    Article  Google Scholar 

  4. Godboley S, Dutta A, Mohapatra DP, Mall R (2018) Scaling modified condition/decision coverage using distributed concolic testing for Java programs. Comput Stand Interfaces 59:61–86

    Article  Google Scholar 

  5. Chauhan N (2016) Software testing principles and practices. Oxford University Press, New Delhi

    Google Scholar 

  6. Bhattacherjee V, Suri D, Mahanti P (2005) Application of regular matrix theory to software testing. Eur J Sci Res 12(1):60–70

    Google Scholar 

  7. Sharma B, Girdhar I, Taneja M, Basia P, Vadla S, Srivastava PR (2011) Software coverage: a testing approach through ant colony optimization. In: Proceedings of international conference on swarm, evolutionary, and memetic computing, Berlin, Heidelberg. Springer, pp 618–625

  8. Srivastava PR, Baby MK, Raghurama G (2009) An approach of optimal path generation using ant colony optimization. In: TENCON 2009 IEEE region 10 conference, Singapore. IEEE, pp 1–6

  9. Kumar S, Ranjan P, Rajesh R (2016) An overview of test case optimization using meta-heuristic approach. In: Recent advances in mathematics, statistics and computer science. World Scientific, pp 475–485

  10. Stutzle T, Dorigo M (2003) The ant colony optimization metaheuristic: algorithms, applications, and advances. Int Ser Oper Res Manag 57:250–285

    MathSciNet  MATH  Google Scholar 

  11. Shi G, Chen W, Shi CJR (2007) A graph reduction approach to symbolic circuit analysis. In: 2007 Asia and South Pacific design automation conference. IEEE, pp 197–202

  12. Xu Y, Salapaka SM, Beck CL (2011) On reduction of graphs and Markov chain models. In: 2011 50th IEEE conference on decision and control and European control conference. IEEE, pp 2317–2322

  13. Karger’s algorithm. https://en.wikipedia.org/wiki/Karger

  14. Liu CL, Mohapatra DP (2013) Element of discrete mathematics, 4th edn. Tata McGraw-Hill, New Delhi

    Google Scholar 

  15. Kleinberg J, Tardos E (2006) Algorithm design. Pearson Education India, Bangalore

    Google Scholar 

  16. EAs (2019). University of Granada. https://sci2s.ugr.es/EAMHCO

  17. Yelghi A, Köse C (2018) A modified firefly algorithm for global minimum optimization. Appl Soft Comput 62:29–44

    Article  Google Scholar 

  18. Jiang S, Shi J, Zhang Y, Han H (2015) Automatic test data generation based on reduced adaptive particle swarm optimization algorithm. Neurocomputing 158:109–116

    Article  Google Scholar 

  19. Senthilnath J, Omkar SN, Mani V (2011) Clustering using firefly algorithm: performance study. Swarm Evol Comput 1(3):164–171

    Article  Google Scholar 

  20. Yong C, Yong Z (2008) Automatic path oriented test data generation using a multi-population genetic algorithm. In: Proceedings of the fourth international conference (IEEE) on natural computation. ICNC, pp 566–570

  21. Nasiri B, Meybodi M (2012) Speciation based firefly algorithm for optimization in dynamic environments. Int J Artif Intell 8(12):118–132

    Google Scholar 

  22. Leidenfrost R, Elmenreich P (2008) Establishing wireless time-triggered communication using a firefly clock synchronization approach. In: Proceedings of ternational workshop on intelligent solutions in embedded systems, Regensburg, Germany. IEEE, pp 1–18

  23. Jumadinova J, Dasgupt P (2008) Firefly-inspired synchronization for improved dynamic pricing in online markets. In: Proceedings of the 2008 IEEE international conference on self-adaptive and self-organizing systems, Venice, Italy. IEEE, pp 403–412

  24. Srivastava PR (2012) Optimal software release using time and cost benefits via fuzzy multi-criteria and fault tolerance. J Inf Process Syst 8(1):21–24

    Article  Google Scholar 

  25. Nayak J, Naik B, Behera HS (2016) A novel nature inspired firefly algorithm with higher order neural network: performance analysis. Eng Sci Technol Int J 19(1):197–211

    Google Scholar 

  26. Wang H, Wang W, Sun H, Rahnamayan S (2016) Firefly algorithm with random attraction. Int J Bio-Inspired Comput 8(1):33–41

    Article  Google Scholar 

  27. Omur S, Bahriye A (2016) Comparisons of metaheuristic algorithms and fitness functions on software test data generation. Appl Soft Comput 49:1202–1214

    Article  Google Scholar 

  28. Antosiewicz M, Koloch G, Kamiński B (2013) Choice of best possible metaheuristic algorithm for the travelling salesman problem with limited computational time: quality, uncertainty and speed. J Theor Appl Comput Sci 7(1):46–55

    Google Scholar 

  29. Fister I, Fister I Jr, Yang XS, Brest J (2013) A comprehensive review of firefly algorithms. Swarm Evol Comput 13:34–46

    Article  Google Scholar 

  30. Yang XS, He X (2013) Firefly algorithm: recent advances and applications. Int J Swarm Intell 1(1):36–50

    Article  Google Scholar 

  31. Yang XS, Hosseini SSS, Gandomi AH (2012) Firefly algorithm for solving non-convex economic dispatch problems with valve loading effect. Appl Soft Comput 12(3):1180–1186

    Article  Google Scholar 

  32. Srivatsava PR, Mallikarjun B, Yang XS (2013) Optimal test sequence generation using firefly algorithm. Swarm Evol Comput 8:44–53

    Article  Google Scholar 

  33. Panthi V, Mohapatra DP (2017) Generation and prioritization of test scenarios for object-oriented software using UML state machines. J Appl Res Technol 16:466–483

    Google Scholar 

  34. Panthi V, Mohapatra DP (2015) Generating prioritized test sequences using firefly optimization technique. In: Jain L, Behera H, Mandal J, Mohapatra D (eds) Computational intelligence in data mining, vol 2. Springer, New Delhi, pp 627–635

    Google Scholar 

  35. Bodiwala S S, Jinwala C D (2016) Optimizing test case generation in glass box testing using bio-inspired algorithms. In: Proceedings of software engineering and service science (ICSESS), 7th IEEE international conference, Beijing, China. IEEE, pp 40–44

  36. Sahoo RK, Mohapatra DP, Patra MR (2016) A firefly algorithm based approach for automated generation and optimization of test cases. Int J Comput Sci Eng 4(8):54–58

    Google Scholar 

  37. Kaur A, Agrawal A P (2017) A comparative study of bat and cuckoo search algorithm for regression test case selection. In: 7th international conference cloud computing, data science & engineering-confluence, 2017. IEEE, pp 164–170

  38. Hashim NL, Dawood SY (2018) Test case minimization applying firefly algorithm. Int J Adv Sci Eng Inf Technol 8(4):1777–1783

    Article  Google Scholar 

  39. Srivastava PR, Vinod R, Gourab TKM, Tiwari Vivek, Sharma P (2008) Generation of test data using meta heuristics approach. In: Proceedings of the TENCON 2008. IEEE, pp 1–6

  40. Samuel P, Mall R, Bothra AK (2008) Automatic test case generation using unified modeling language UML state diagrams. IET Softw 2(2):1080–1086

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Swadhin Kumar Barisal.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

First Author's Study Leave Sponsored by Siksha ‘O’ Anusandhan (Deemed to be) University Bhubaneswar, Odisha, India.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Barisal, S.K., Dutta, A., Godboley, S. et al. MC/DC guided Test Sequence Prioritization using Firefly Algorithm. Evol. Intel. 14, 105–118 (2021). https://doi.org/10.1007/s12065-019-00322-6

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s12065-019-00322-6

Keywords

Navigation