Quantification of Software Code Coverage Using Artificial Bee Colony Optimization Based on Markov Approach

Software test suite generation and development of techniques to optimize the test suite are vital parts of the software development life cycle. In this paper, a combination of Markov chain and artificial bee colony (ABC) optimization techniques are adopted to attain the software code coverage. Initially, dd-graph is captured from the control flow graph of the source code and is represented as a Markov chain. The number of paths is obtained based on linear code sequence and jump (LCSAJ) coverage. LCSAJ is used to reduce the number of independent paths as compared to paths obtained by basis path testing. Automatic test cases are generated and based on the operation profile of the test suite; transition probabilities are obtained using gcov analysis tool. Further, ABC optimization is adopted to ensure software code coverage. The initial population is randomly selected from the test suite and populated for subsequent generations using the ABC algorithm. The test cases are generated for three mixed data type variables, namely integer, float and Boolean. The quality of the test cases is improved during every iteration of ABC optimization and traversed through number of LCSAJ-based independent paths thereby ensuring software code coverage. Finally, software code coverage is quantified using the fitness/happiness value computed as a product of node coverage and the corresponding transition probability values based on the path covered.

[1]  Preeti Bala Thakur A Survey on Test case selection Using Optimization Techniques in Software Testing , 2015 .

[2]  Manish Mahajan,et al.  Applying genetic algorithm to increase the efficiency of a data flow-based test data generation approach , 2012, SOEN.

[3]  Sandeep Dalal,et al.  A Novel Technique for Generation of Test Cases based on Bee Colony Optimization and Modified Genetic Algorithm (BCOmGA) , 2013 .

[4]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach (McGraw-Hill Series in Computer Science) , 2004 .

[5]  D. Jeya Mala,et al.  A non-pheromone based intelligent swarm optimization technique in software test suite optimization , 2009, 2009 International Conference on Intelligent Agent & Multi-Agent Systems.

[6]  Tai-hoon Kim,et al.  Application of Genetic Algorithm in Software Testing , 2009 .

[7]  Soma Sekhara Babu Lam,et al.  Automated Generation of Independent Paths and Test Suite Optimization Using Artificial Bee Colony , 2012 .

[8]  Roberto Schirru,et al.  ON THE PERFORMANCE OF AN ARTIFICIAL BEE COLONY OPTIMIZATION ALGORITHM APPLIED TO THE ACCIDENT DIAGNOSIS IN A PWR NUCLEAR POWER PLANT , 2009 .

[9]  K. Karnavel,et al.  Automated software testing for application maintenance by using bee colony optimization algorithms (BCO) , 2013, 2013 International Conference on Information Communication and Embedded Systems (ICICES).

[10]  Praveen Ranjan Srivastava,et al.  Test Case Optimization Using Artificial Bee Colony Algorithm , 2011, ACC.

[11]  Mary Lou Soffa,et al.  Automated test data generation using an iterative relaxation method , 1998, SIGSOFT '98/FSE-6.

[12]  K. Koteswara Rao,et al.  Optimizing the software testing efficiency by using a genetic algorithm: a design methodology , 2013, SOEN.

[13]  R. Sujatha,et al.  The mathematics of software testing using genetic algorithm , 2014, Proceedings of 3rd International Conference on Reliability, Infocom Technologies and Optimization.

[14]  M. R. Mohan,et al.  ARTIFICIAL BEE COLONY OPTIMIZATION FOR THE COMBINED HEAT AND POWER ECONOMIC DISPATCH PROBLEM , 2012 .

[15]  S. Balamurugan,et al.  Critical components testing using hybrid genetic algorithm , 2013, SOEN.

[16]  Debasis Mohapatra,et al.  GA Based Test Case Generation Approach for Formation of Efficient Set of Dynamic Slices , 2011 .

[17]  C. Senthil Kumar,et al.  A hybrid approach to quantify software reliability in nuclear safety systems , 2012 .

[18]  Ruchika Malhotra,et al.  An Adequacy Based Test Data Generation Technique Using Genetic Algorithms , 2011, J. Inf. Process. Syst..

[19]  Prabhat Kumar,et al.  A Novel Approach for Software Test Data Generation using Cuckoo Algorithm , 2016, ICTCS.

[20]  P. Lucic,et al.  Bee Colony Optimization: Principles and Applications , 2006, 2006 8th Seminar on Neural Network Applications in Electrical Engineering.

[21]  Renate Sitte,et al.  Optimizing testing efficiency with error-prone path identification and genetic algorithms , 2004, 2004 Australian Software Engineering Conference. Proceedings..

[22]  Ahmed S. Ghiduk,et al.  Automatic Software Test Data Generation for Spanning Sets Coverage Using Genetic Algorithms , 2007, Comput. Informatics.

[23]  Arvinder Kaur,et al.  A Bee Colony Optimization Algorithm for Fault Coverage Based Regression Test Suite Prioritization , 2011 .

[24]  D. Jeya Mala,et al.  Automated software test optimisation framework - an artificial bee colony optimisation-based approach , 2010, IET Softw..

[25]  Richard M. Stallman,et al.  An introduction to GCC : for the GNU compilers gcc and g++ , 2005 .

[26]  Antonia Bertolino,et al.  Using Spanning Sets for Coverage Testing , 2003, IEEE Trans. Software Eng..

[27]  T. Jayakumar,et al.  An intuitive approach to determine test adequacy in safety-critical software , 2012, SOEN.

[28]  Phil McMinn,et al.  Search‐based software test data generation: a survey , 2004, Softw. Test. Verification Reliab..

[29]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[30]  Mark Harman,et al.  Search-based software engineering , 2001, Inf. Softw. Technol..

[31]  Tajinder Singh,et al.  An Approach in the Software Testing Environment using Artificial Bee Colony (ABC) Optimization , 2012 .

[32]  Manju Khari,et al.  Heuristic search-based approach for automated test data generation: a survey , 2013, Int. J. Bio Inspired Comput..

[33]  Bogdan Korel,et al.  Automated Software Test Data Generation , 1990, IEEE Trans. Software Eng..

[34]  Hidehiro Nakano,et al.  An Artificial Bee Colony algorithm for solving dynamic optimization problems , 2013, 2013 IEEE Congress on Evolutionary Computation.

[35]  Sumeet Kaur Sehra,et al.  A systematic review of applications of Bee Colony Optimization , 2016, 2016 International Conference on Innovation and Challenges in Cyber Security (ICICCS-INBUSH).

[36]  Mukesh Mann,et al.  Generating and prioritizing optimal paths using ant colony optimization , 2015 .

[37]  Lala Septem Riza,et al.  Birthmark-Based Software Classification Using Rough Sets , 2017 .

[38]  Ruchika Malhotra,et al.  Comparison of Search based Techniques for Automated Test Data Generation , 2014 .

[39]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .