skip to main content
research-article

Critical components testing using hybrid genetic algorithm

Published:26 August 2013Publication History
Skip Abstract Section

Abstract

As quality of software plays a vital role in real time systems, it is essential to identify the crucial parts in the system and to test them effectively. In the proposed approach, the critical components are identified by means of mutation based impact analysis. The next task is to test the critical components using the Hybrid Genetic Algorithm (HGA) based test case generation and optimization approach. The mutants are automatically generated by seeding faults into each method of all the components in the Software Under Test (SUT). The initial set of test cases is generated using randomized test data. The generated test cases are executed over the original and the mutant to identify whether the test case detects the error or not. Based on the results, the Mutation Score (MS) is calculated, which always lies between 0 and 1. The best test cases are chosen based on having higher mutation scores and are executed on mutants to analyze how each component affects the other components in the SUT. Based on the analysis, the critical components are identified and they need rigorous testing using the test cases generated by the HGA. The algorithm uses the RemoveTop and LocalBest improvement heuristics to achieve near optimal solutions. In unit testing, the test cases are executed against the original and the mutant. The test case optimization is done by evaluating the effectiveness of test suites using the Mutation Score and the Branch Coverage Value (BCV). In pair-wise testing, the effective test cases are selected based on the higher mutation scores and branch coverage values. The components are executed against these test cases and the execution traces are recorded. The traced results are compared against the expected outputs which were previously stored in the repository and the statuses are updated. Based on the statuses, the faulty methods are revealed. The efficiency of the proposed approach is compared with Genetic Algorithm (GA) and we concluded that the final test suite size and the total execution time are reduced in the proposed approach. Finally various graphs and PDF reports are generated for visualization purposes.

References

  1. Roger S. Pressman. Software Engineering. A Practitioner's Approach, McGraw Hill, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Aditya P.Mathur. Software Testing. Pearson Education, Asia.Google ScholarGoogle Scholar
  3. Srinivasan Desikan, Gopalaswamy Ramesh. Software Testing Principles & Practices. PEARSON Education, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Mala, D.J., Praba. M.R. Critical components identification and verification for effective software test prioritization. Advanced Computing (ICoAC), 2011 Third International Conference on , vol., no., pp.181--186, 14-16 Dec. 2011Google ScholarGoogle Scholar
  5. D. Jeyamala, V. Mohan. Quality Improvement and Optimization of Test cases. A Hybrid Genetic Algorithm Based Approach. ACM SIGSOFT Software Engineering Notes,Vol.35 No.3, pp.1--14, 2010 Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. MUJava homepage {Online}. Available: http://cs.gmu.edu/~offutt/mujava/Google ScholarGoogle Scholar
  7. A. R. A. DeMillo and R. J. Martin. The Mothra software testing environment user's manual. Software Engineering Research Center, Tech.Rep., 1987.Google ScholarGoogle Scholar
  8. Yu-Seung Ma, Jeff Offutt, and Yong Rae Kwon. MuJava: An Automated Class Mutation System. Journal of Software Testing, Verification and Reliability, 15(2):97--133, June 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Srinivasan Desikan, Gopalaswamy Ramesh. Software Testing Principles & Practices. PEARSON Education, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. A. Offutt, G. Rothermel, and C. Zapf. An experimental evaluation of selective mutation. in Proc. ICSE, 1993, pp. 100--107. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Lanubile, F., A. Lonigro, and G. Visaggio. Comparing models for identifying fault-prone software components. Proceedings of Seventh International Conference on Software Engineering and Knowledge Engineering. 1995.Google ScholarGoogle Scholar
  12. http://www.informit.com/guides/content.aspxGoogle ScholarGoogle Scholar
  13. Ohlsson, Niclas, M. Helander, and C. Wohlin. Quality improvement by identification of fault-prone modules using software design metrics. Proceedings: International Conference on Software Quality. 1996.Google ScholarGoogle Scholar
  14. Birt, James R., and Renate Sitte. Optimizing testing efficiency with error-prone path identification and genetic algorithms. SoftwareGoogle ScholarGoogle Scholar
  15. P.K. Suri, Kumar Sandeep. Simulator for Identifying Critical Components for Testing in a Component Based Software System. IJCSNS International Journal of Computer Science and Network Security. Vol.10, No.6, 2010; pp. 250--257.Google ScholarGoogle Scholar
  16. Zhou Yuming, Hareton Leung. Empirical Analysis of Object-Oriented Design Metrics for Predicting High and Low Severity Faults. IEEE Transactions on Software Engineering, Vol. 32, No. 10, 2006; pp.771--789. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Shatnawi A. Raed, Li Wei. The Effectiveness of Software Metrics in Identifying Error-Prone Classes in Post-Release Software Evolution Process. Journal of Systems and Software, Vol. 81, 2008; pp.1868--1882. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Ray Mitrabinda, Prasad Mohapatra Durga. A novel methodology for software risk assessment at architectural level using UML diagrams, SETLabs Briefings, Vol 9, No 4, 2011; pp.41--60.Google ScholarGoogle Scholar
  19. Goseva-Popstojanova Katerina, Hassan Ahmed, Guedem Ajith, Abdelmoez Walid, M.Nassar Diaa Eldin, Ammar Hany, Mili Ali, Architectural Level Risk Analysis,IEEE Transactions on Software Engineering, Vol. 29, No.10.2003; pp. 946--960. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. http://www.infosys.com/engineering-services/white-papers/Documents/comprehensive-metrics-model.pdfGoogle ScholarGoogle Scholar
  21. Land, M. Evolutionary Algorithms with Local Search for Combinatorial Optimization. Ph.D. Thesis, University of California, San Diego, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. http://ant.apache.org/Google ScholarGoogle Scholar
  23. http://staffwww.dcs.shef.ac.uk/people/A.Simons/jwalk/download.htmlGoogle ScholarGoogle Scholar
  24. http://workbench.haefelinger.it/flaka/Google ScholarGoogle Scholar
  25. D. Jeyamala, K. Sabari Nathan. Critical Components Identification using Mutation based Components Impact Analysis. IJCSI International Journal of Computer Science and Informatics. Vol.3, No.2, 2013; pp. 24--33.Google ScholarGoogle Scholar
  26. D. Jeyamala, S. Balamurugan. Fault-prone Components Identification for Real-time Complex systems based on Criticality Analysis. IJCSI International Journal of Computer Science and Informatics. Vol.3, No.2, 2013; pp. 17--23.Google ScholarGoogle Scholar
  27. D. Jeyamala, A.Jalila. OCL formal Specification based Metrics a measure of complexity and fault proneness. IJCSI International Journal of Computer Science and Informatics. Vol.3, No.2, 2013; pp. 69--79.Google ScholarGoogle Scholar
  28. D. Jeyamala, V. Mohan. A Hybrid Test Optimization Framework-- Coupling Genetic Algorithm with Local Search Technique. International Journal of Computing and Informatics,Vol.29, No.1, pp. 133--164, 2010Google ScholarGoogle Scholar
  29. D. Jeyamala, V. Mohan. ABC Tester -- Artificial Bee Colony Optimization For Software Test Suite Optimization. IJSE -- International Journal of Software Engineering. Vol.2, No.2, pp.15--48, 2009Google ScholarGoogle Scholar

Index Terms

  1. Critical components testing using hybrid genetic algorithm

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader