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.
Similar content being viewed by others
References
Yajing Z, Jing D, Tu P (2010) Ontology classification for semantic-web-based software engineering. IEEE Trans Serv Comput 2(4):303–317
Mall R (2018) Fundamental of software engineering. PHI Learning Private Limited, New Delhi
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
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
Chauhan N (2016) Software testing principles and practices. Oxford University Press, New Delhi
Bhattacherjee V, Suri D, Mahanti P (2005) Application of regular matrix theory to software testing. Eur J Sci Res 12(1):60–70
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
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
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
Stutzle T, Dorigo M (2003) The ant colony optimization metaheuristic: algorithms, applications, and advances. Int Ser Oper Res Manag 57:250–285
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
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
Karger’s algorithm. https://en.wikipedia.org/wiki/Karger
Liu CL, Mohapatra DP (2013) Element of discrete mathematics, 4th edn. Tata McGraw-Hill, New Delhi
Kleinberg J, Tardos E (2006) Algorithm design. Pearson Education India, Bangalore
EAs (2019). University of Granada. https://sci2s.ugr.es/EAMHCO
Yelghi A, Köse C (2018) A modified firefly algorithm for global minimum optimization. Appl Soft Comput 62:29–44
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
Senthilnath J, Omkar SN, Mani V (2011) Clustering using firefly algorithm: performance study. Swarm Evol Comput 1(3):164–171
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
Nasiri B, Meybodi M (2012) Speciation based firefly algorithm for optimization in dynamic environments. Int J Artif Intell 8(12):118–132
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
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
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
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
Wang H, Wang W, Sun H, Rahnamayan S (2016) Firefly algorithm with random attraction. Int J Bio-Inspired Comput 8(1):33–41
Omur S, Bahriye A (2016) Comparisons of metaheuristic algorithms and fitness functions on software test data generation. Appl Soft Comput 49:1202–1214
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
Fister I, Fister I Jr, Yang XS, Brest J (2013) A comprehensive review of firefly algorithms. Swarm Evol Comput 13:34–46
Yang XS, He X (2013) Firefly algorithm: recent advances and applications. Int J Swarm Intell 1(1):36–50
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
Srivatsava PR, Mallikarjun B, Yang XS (2013) Optimal test sequence generation using firefly algorithm. Swarm Evol Comput 8:44–53
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
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
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
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
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
Hashim NL, Dawood SY (2018) Test case minimization applying firefly algorithm. Int J Adv Sci Eng Inf Technol 8(4):1777–1783
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
Samuel P, Mall R, Bothra AK (2008) Automatic test case generation using unified modeling language UML state diagrams. IET Softw 2(2):1080–1086
Author information
Authors and Affiliations
Corresponding author
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
About this article
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12065-019-00322-6