MC/DC guided Test Sequence Prioritization using Firefly Algorithm

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.

[1]  M. Kumar,et al.  Generation of test data using meta heuristic approach , 2008, TENCON 2008 - 2008 IEEE Region 10 Conference.

[2]  Janez Brest,et al.  A comprehensive review of firefly algorithms , 2013, Swarm Evol. Comput..

[3]  Xin-She Yang,et al.  Firefly Algorithm: Recent Advances and Applications , 2013, ArXiv.

[4]  Wilfried Elmenreich,et al.  Establishing wireless time-triggered communication using a firefly clock synchronization approach , 2008, 2008 International Workshop on Intelligent Solutions in Embedded Systems.

[5]  Praveen Ranjan Srivastava,et al.  Software Coverage : A Testing Approach through Ant Colony Optimization , 2011, SEMCCO.

[6]  Durga Prasad Mohapatra,et al.  Firefly optimization technique based test scenario generation and prioritization , 2018 .

[7]  Praveen Ranjan Srivastava,et al.  An approach of optimal path generation using ant colony optimization , 2009, TENCON 2009 - 2009 IEEE Region 10 Conference.

[8]  Jing Dong,et al.  Ontology Classification for Semantic-Web-Based Software Engineering , 2009, IEEE Transactions on Services Computing.

[9]  Arvinder Kaur,et al.  A comparative study of Bat and Cuckoo search algorithm for regression test case selection , 2017, 2017 7th International Conference on Cloud Computing, Data Science & Engineering - Confluence.

[10]  Prabhat Ranjan,et al.  An Overview of Test Case Optimization Using Meta-Heuristic Approach , 2016 .

[11]  Cemal Köse,et al.  A modified firefly algorithm for global minimum optimization , 2018, Appl. Soft Comput..

[12]  Bahriye Akay,et al.  Comparisons of metaheuristic algorithms and fitness functions on software test data generation , 2016, Appl. Soft Comput..

[13]  Praveen Ranjan Srivastava Optimal Software Release Using Time and Cost Benefits via Fuzzy Multi-Criteria and Fault Tolerance , 2012, J. Inf. Process. Syst..

[14]  Himansu Sekhar Behera,et al.  A novel nature inspired firefly algorithm with higher order neural network: Performance analysis , 2016 .

[15]  Devesh C. Jinwala,et al.  Optimizing test case generation in glass box testing using Bio-inspired Algorithms , 2016, 2016 7th IEEE International Conference on Software Engineering and Service Science (ICSESS).

[16]  Yong Chen,et al.  Automatic Path-Oriented Test Data Generation Using a Multi-population Genetic Algorithm , 2008, 2008 Fourth International Conference on Natural Computation.

[17]  R. Mall,et al.  Automatic test case generation using unified modeling language (UML) state diagrams , 2008, IET Softw..

[18]  Amir Hossein Gandomi,et al.  Firefly Algorithm for solving non-convex economic dispatch problems with valve loading effect , 2012, Appl. Soft Comput..

[19]  Nor Laily Hashim,et al.  Test Case Minimization Applying Firefly Algorithm , 2018, International Journal on Advanced Science, Engineering and Information Technology.

[20]  Hui Wang,et al.  Firefly algorithm with random attraction , 2016, Int. J. Bio Inspired Comput..

[21]  Gopalaswamy Ramesh,et al.  Software Testing: Principles and Practices , 2005 .

[22]  Éva Tardos,et al.  Algorithm design , 2005 .

[23]  Thomas Stützle,et al.  The Ant Colony Optimization Metaheuristic: Algorithms, Applications, and Advances , 2003 .

[24]  Rajib Mall,et al.  GECOJAP: A novel source-code preprocessing technique to improve code coverage , 2018, Comput. Stand. Interfaces.

[25]  V. Mani,et al.  Clustering using firefly algorithm: Performance study , 2011, Swarm Evol. Comput..

[26]  Shujuan Jiang,et al.  Automatic test data generation based on reduced adaptive particle swarm optimization algorithm , 2015, Neurocomputing.

[27]  Durga Prasad Mohapatra,et al.  Generating Prioritized Test Sequences Using Firefly Optimization Technique , 2015 .

[28]  C.-J. Richard Shi,et al.  A Graph Reduction Approach to Symbolic Circuit Analysis , 2007, 2007 Asia and South Pacific Design Automation Conference.

[29]  Rajib Mall,et al.  Scaling modified condition/decision coverage using distributed concolic testing for Java programs , 2018, Comput. Stand. Interfaces.

[30]  Bogumił Kamiński,et al.  Choice of best possible metaheuristic algorithm for the travelling salesman problem with limited computational time: quality, uncertainty and speed , 2013 .

[31]  Xin-She Yang,et al.  Optimal test sequence generation using firefly algorithm , 2013, Swarm Evol. Comput..

[32]  Yunwen Xu,et al.  On reduction of graphs and Markov chain models , 2011, IEEE Conference on Decision and Control and European Control Conference.

[33]  Mohammad Reza Meybodi,et al.  Speciation based firefly algorithm for optimization in dynamic environments , 2012 .

[34]  Prithviraj Dasgupta,et al.  Firefly-Inspired Synchronization for Improved Dynamic Pricing in Online Markets , 2008, 2008 Second IEEE International Conference on Self-Adaptive and Self-Organizing Systems.

[35]  Vikas Panthi Generation and Prioritization of Test Scenarios for Object-Oriented Software using UML State Machines , 2017 .