An Approach for Test Case Prioritization Using Harmony Search for Aspect-Oriented Software Systems

  • Abhishek SinghalEmail author
  • Abhay Bansal
  • Avadhesh Kumar
Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 904)


Regression testing is important part of testing during software maintenance. It ensures error-free software after modification during maintenance. Without any priority, execution of test cases is not cost-effective and time-consuming. Therefore, it is highly desirable to prioritize the test cases to achieve maximum fault coverage. In this study, a test case prioritization approach using harmony search for aspect-oriented software systems is proposed. In this paper, we have taken two objective functions such as minimum execution time and maximum fault coverage. Further, average percentage fault detection (APFD) metric was used to validate the results. Further, results are compared with random prioritization and no prioritization. The results indicate that proposed approach is performing well.


Regression testing Software maintenance Fault coverage Aspect-oriented software systems Execution time Average percentage fault detection 


  1. 1.
    Beizer, B.: Software testing techniques, 2nd edn. Dreamtech Press (2003)Google Scholar
  2. 2.
    Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.: An overview of AspectJ. In: 15th European Conference on Object Oriented programming, Budapest, Hungry (2001)Google Scholar
  3. 3.
    Ahmed, B.S.: Test case minimization approach using fault detection and combinatorial optimization techniques for configuration-aware structural testing. Int. J. Eng. Sci. Technol. (2015)Google Scholar
  4. 4.
    Konsaard, P., Lachana, R.: Using artificial bee colony for code coverage based test suite prioritization. In: 2nd International Conference on Information Science and Security (ICISS), pp. 1–4, IEEE (2015)Google Scholar
  5. 5.
    Raju, S., Uma, G.V.: Factors oriented test case prioritization technique in regression testing using genetic algorithm. Eur. J. Sci. Res. 74(3), 389–402 (2012)Google Scholar
  6. 6.
    Solanki, K., Singh Y., Dalal S.: Test case prioritization: an approach based on modified ant colony optimization (m-ACO). In: International Conference on Computer Communication and Control (IC4), pp. 1–6. IEEE (2015)Google Scholar
  7. 7.
    Mohemmed, A.W., Sahoo, N.C., Geok, T.K.: Solving shortest path problem using particle swarm optimization. Appl. Soft Comput. 8(4), 1643–1653 (2008)CrossRefGoogle Scholar
  8. 8.
    Vedpal, C.N., Kumar, H.: A hierarchical test case prioritization technique for object oriented software. In: International Conference on Contemporary Computing and Informatics (IC3I), pp. 249–254 (2014)Google Scholar
  9. 9.
    Hla, K.H.S.: Applying particle swarm optimization to prioritizing test cases for embedded real time software retesting. In: IEEE 8th International Conference on Computer and Information Technology Workshops, Sydney, Australia, pp. 528–532 (2008)Google Scholar
  10. 10.
    Malhotra, R., Tiwari, D.: Development of a framework for test case prioritization using genetic algorithm. ACM SIGSOFT Softw. Eng. Notes 38(3), 1–6 (2013)CrossRefGoogle Scholar
  11. 11.
    Mahmood, M.H., Hosain, M.S.: Improving test case prioritization based on practical priority factors. In: 8th IEEE International Conference on Software Engineering and Service Science (ICSESS), Beijing, China (2017)Google Scholar
  12. 12.
    Gao, D., Guo, X., Zhao, L.: Test case prioritization for regression testing based on ant colony optimization. In: 6th IEEE International Conference on Software Engineering and Service Science (ICSESS), Beijing, China (2015)Google Scholar
  13. 13.
    Kaur, A., Goyal, S.: A genetic algorithm for regression test case prioritization using code coverage. Int. J. Comput. Sci. Eng. 3(5), 1839–1847 (2011)Google Scholar
  14. 14.
    Kaur, A., Goyal, S.: A bee colony optimization algorithm for code coverage test suite prioritization. Int. J. Eng. Sci. Technol. 3(4), 2786–2795 (2011)Google Scholar
  15. 15.
    Singh, Y., Kaur, A., Suri, B.: Test case prioritization using ant colony optimization. ACM SIGSOFT Softw. Eng. Notes 35(4), 1–7 (2010)CrossRefGoogle Scholar
  16. 16.
    Suri, B., Singhal, S.: Analyzing test case selection & prioritization using ACO. ACM SIGSOFT Softw. Eng. Notes 36(6), 1–5 (2011)CrossRefGoogle Scholar
  17. 17.
    Fu, W., Yu, H., Fan, G., Ji, X., Pei, X.: A regression test case prioritization algorithm based on program changes and method invocation relationship. In: 24th Asia-Pacific Software Engineering Conference (APSEC), Nanjing, China (2017)Google Scholar
  18. 18.
    Luo, Q., Moran, K., Zhang, L., Poshyvanyk, D.: How do static and dynamic test case prioritization techniques perform on modern software systems? An extensive study on GitHub projects. IEEE Trans. Softw. Eng. (2018)Google Scholar
  19. 19.
    Tiwari, S., Mishra, K.K., Kumar, A., Misra, A.K.: Spectrum-based fault localization in regression testing. In: 2011 Eighth International Conference on Information Technology: New Generations, Las Vegas, NV, pp. 191–195 (2011).
  20. 20.
    Tiwari, S., Mishra, K.K., Misra, A.K.: Test case generation for modified code using a variant of particle swarm optimization (PSO) algorithm. In: 2013 10th International Conference on Information Technology: New Generations, Las Vegas, NV, pp. 363–368 (2013).
  21. 21.
    Geem, Z.W., Kim, J.H., Loganathan, G.V.: A new heuristic optimization algorithm: harmony search. Simulation, Sage Publication 76(2), 60–68 (2001)CrossRefGoogle Scholar
  22. 22.
    Choudhary, A., Baghel, A.S., Sangwan, O.P.: An efficient parameter estimation of software reliability growth models using gravitational search algorithm. Int. J. Syst. Assur. Eng. Manage. 8(1), 79–88 (2017)CrossRefGoogle Scholar
  23. 23.
    Choudhary, A., Agrawal, A.P., Kaur, A.: An effective approach for regression test case selection using pareto based multi-objective harmony search. In: Proceedings of the 11th International Workshop on Search-Based Software Testing, pp. 13–20. ACM (2018)Google Scholar
  24. 24.
    Laddad, R.: AspectJ in action- enterprise AOP with spring applications, 2nd edn. Manning Publications, Greenwich (2009)Google Scholar
  25. 25.
  26. 26.
    Elbaum, S., Malishevsky, A.G., Rothermel, G.: Test case prioritization: a family of empirical studies. IEEE Trans. Softw. Eng. 28(2), 159–182 (2002)CrossRefGoogle Scholar
  27. 27.
    Rothermel, G., Untch, R.H., Chu, C., Harrold, M.J.: Prioritizing test cases for regression testing. IEEE Trans. Softw. Eng. 27(10), 929–948 (2001)CrossRefGoogle Scholar
  28. 28.
    Do, H., Rothermel, G.: On the use of mutation faults in empirical assessments of test case prioritization techniques. IEEE Trans. Softw. Eng. 32(9), 733–752 (2006)CrossRefGoogle Scholar

Copyright information

© Springer Nature Singapore Pte Ltd. 2019

Authors and Affiliations

  • Abhishek Singhal
    • 1
    Email author
  • Abhay Bansal
    • 1
  • Avadhesh Kumar
    • 2
  1. 1.Department of Computer Science & EngineeringASET, Amity University Uttar PradeshNoidaIndia
  2. 2.School of Computer Science & EngineeringGalgotias University Uttar PradeshGreater NoidaIndia

Personalised recommendations