Skip to main content
Log in

A heuristic-based regression test case prioritization approach for object-oriented programs

  • Original Paper
  • Published:
Innovations in Systems and Software Engineering Aims and scope Submit manuscript

Abstract

We propose a novel regression test case prioritization technique based on an analysis of a dependence model for object-oriented programs. We first construct an intermediate dependence model of a program from its source code. When the program is modified, the model is updated to reflect the changes. Our constructed model represents control and data dependencies as well as information pertaining to various types of dependencies arising from object relations such as association, inheritance and aggregation. We determine the affected nodes in the model by constructing the union of the forward slices corresponding to each changed model element. The test cases covering one or more affected nodes are selected for regression testing. The test cases in the selected regression test suite are then prioritized based on their weights and the weight of a test case is determined by assigning weights to the affected nodes. Our experimental results indicate that our approach on an average achieves an increase in the APFD metric value by 9.01 % as compared to a related approach.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

References

  1. Rothermel G, Harrold M (1997) A safe, efficient regression test selection technique. ACM Transactions on Softw. Eng Methodol 6(2):173–210

    Google Scholar 

  2. Leung H, White L (1989) Insights into regression testing. In: Proceedings of the Conference on Software Maintenanc, pp 60–69

  3. Harrold M, Jones J, Li T, Liang D, Orso A (2001) Regression test selection for Java software. In: Proceedings of the 16th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications, pp 312–326

  4. Naslavsky L, Ziv H, Richardson DJ (2009) A model-based regression test selection technique. In: 25th IEEE International Conference on Software Maintenance, Edmonton, Alberta, Canada

  5. Rothermel G, Harrold M, Dedhia J (2000) Regression test selection for C++ software. J Softw Test Verif Reliab 10(6):77–109

    Article  Google Scholar 

  6. Rothermel G, Harrold MJ (1994) Selecting regression tests for object-oriented software. In: Proceedings of the Intenational Conference on Software Maintenance, Victoria, BC, Canada, pp 14–25

  7. Korel B, Tahat L (2002) Model based regression test reduction using dependence analysis. In: International Conference on Software Maintenance, pp 214–223

  8. Ma X, Sheng B, Ye C (2005) Advanced parallel processing technologies. Chapter test-suite reduction using genetic algorithm. Springer, Berlin

  9. Do H, Mirarab S, Tahvildari L, Rothermel G (2010) The effects of time constraints on test case prioritization: a series of controlled experiments. IEEE Trans Softw Eng 36(5):593–617

    Article  Google Scholar 

  10. Elbaum S, Malishevsky A, Rothermel G (2002) Test case prioritization: a family of empirical studies. IEEE Trans Softw Eng 28(2):159–182

    Article  Google Scholar 

  11. Elbaum S, Rothermel G, Kanduri S, Malishevsky A (2004) Selecting a cost-effective test case prioritization technique. Softw Qual Control 12(3):185–210

    Article  Google Scholar 

  12. Malishevsky A, Ruthruff J, Rothermel G, Elbaum S (2006) Cost-cognizant test case prioritization, 2006. Technical, Report TR-UNL-CSE-2006-0004

  13. Rothermel G, Untch R, Chu C, Harrold M (2001) Prioritizing test cases for regression testing. IEEE Trans Softw Eng 27(10):929–948

    Article  Google Scholar 

  14. Srikanth H, William L, Osborne J (2005) System test case prioritization of new and regression test cases. In: Proceedings of International Symposium on Empirical Software Engineering. IEEE Computer Society Press, USA, pp 64–73

  15. Walcott K, Soffa M, Kapfhammer G, Roos R (2006) Time-aware test suite prioritization. In: Proceedings of the 2006 International Symposium on Software Testing and Analysis, pp 1–12

  16. Kim J, Porter A (2002) A history-based test prioritization technique for regression testing in resource constrained environments. In: IEEE International Conference on Software Engineering, pp 119–129

  17. Kung DC, Gao J, Hsia P (1996) On regression testing of object-oriented programs. J Syst Softw 32:21–40

    Article  Google Scholar 

  18. Larsen L, Harrold M (1996) Slicing object-oriented software. In: Proceedings of 18th IEEE International Conference on Software Engineering

  19. Horwitz S, Reps T, Binkley D (1990) Inter procedural slicing using dependence graphs. Trans Programm Lang Syst 12(1):26–60

    Article  Google Scholar 

  20. Tip F (1995) A survey of program slicing techniques. J Programm Lang 3:121–189

    Google Scholar 

  21. Xu B, Qian J, Wu Z, Zhang X, Chen L (2005) A brief survey of program slicing. JACM SIGSOFT Softw Eng Notes 30(2):1–36

    Article  Google Scholar 

  22. Li Z, Harman M, Hierons R (2007) Search algorithms for regression test case prioritization. IEEE Trans Softw Eng 33(4):225–237

    Article  Google Scholar 

  23. Jones JA, Harrold MJ (2003) Test-suite reduction and prioritization for modified condition/decision coverage. IEEE Trans Softw Eng 29(3):195–209

    Article  Google Scholar 

  24. Elbaum S, Malishevsky A, Rothermel G (2000) Prioritizing test cases for regression testing. In: Proceedings of ISSTA. ACM Press, USA, pp 102–112

  25. Park H, Ryu H, Baik J (2008) Historical value-based approach for cost-cognizant test case prioritization to improve the effectiveness of regression testing. In: Proceedings of SSIRI, pp 39–46

  26. Elbaum S, Malishevsky A, Rothermel G (2001) Incorporating varying test costs and fault severities into test case prioritization. In: Proceedings of the 23rd International Conference on Software Engineering, Ontario, Canada, pp 329–338

  27. Jeffrey D, Gupta N (2008) Experiments with test case prioritization using relevant slices. J Syst Softw 81:196–221

    Article  Google Scholar 

  28. Panigrahi C, Mall R (2013) An approach to prioritize regression test cases of object-oriented programs. J CSI Trans ICT (Springer). doi:10.1007/s40012-013-0011-7

  29. Eclipse. [Online]. Available: http://www.eclipse.org/. Accessed 3 June 2012

  30. Antlr parser generator. [Online]. Available: http://www.antlr.org/. Accessed 3 June 2012

  31. Graphviz. (Last visited August 21, 2012). [online]. Available: http://www.graphviz.org/. Accessed 21 Aug 2012

  32. Scott W. Antlr java grammar. [Online]. Available: http://www.antlr.org/grammar/list. Accessed 3 June 2012

  33. Yu-Seung M, Jeff O, Yong-Rae K (2005) Mujava: an automated class mutation system. J Softw Testing Verif Reliab 15(2): 97–133

    Google Scholar 

  34. MuClipse (Last visited August 21, 2012). [online]. Available: http://muclipse.sourceforge.net/. Accessed 21 Aug 2012

  35. Yu-Seung M, Yong-Rae K, Jeff O (2002) Inter-class mutation operators for Java. In: Proceedings of the 13th International Symposium on Softw. Reliability Engineering, Annapolis MD, November 2002. IEEE Computer Society Press, USA, pp 352–363

  36. Agrawal H, DeMillo RA, Hathaway R, Hsu Wm, Hsu W, Krauser EW, Martin RJ, Spafford EH (1989) Design of mutant operators for the C programming language, (March 1989) Technical Report: SERC-TR-41-P, Softw. Engineering Research Center, Purdue University

  37. Delamaro ME, Maldonado JC, Mathur AP (March 2001) Interface mutation: an approach to integration testing. IEEE Trans Softw Eng 27(3):228–247

    Google Scholar 

  38. Kim S, Clark J, McDermid J (2000) Class mutation: mutation testing for object-oriented programs. Object-Oriented Software Systems, OOSS

  39. Binder RV (2003) Testing object-oriented systems: models, patterns, and tools. Addison-Wesley, Boston

  40. Smith A, Geiger J, Kapfhammer GM, Soffa ML (2007) Test suite reduction and prioritization with call trees. In: Proceedings of ASE’07, Atlanta, Georgia, USA

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Chhabi Rani Panigrahi.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Panigrahi, C.R., Mall, R. A heuristic-based regression test case prioritization approach for object-oriented programs. Innovations Syst Softw Eng 10, 155–163 (2014). https://doi.org/10.1007/s11334-013-0221-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11334-013-0221-z

Keywords

Navigation