Skip to main content
Log in

Regression test size reduction using improved precision slices

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

Abstract

We propose a technique to select regression test cases that is targeted to reduce the size of test suite by using improved precision slices. For this, we first construct the control flow graph model of an object-oriented program. Subsequently, we identify the infeasible paths and compute the definition-use (def-use) pairs only along the feasible paths. Next, we construct the dependency model using this information. This helps us to ignore the dependencies existing along infeasible paths leading to construction of precise slices. Then, we build the dependency model and construct forward slices on the dependency model to determine the affected nodes and the test cases that cover the affected nodes in the dependency graph model are selected for regression testing. The results obtained from our experimental studies indicate that our approach reduces the regression test suite size on an average by 11.25 % as compared to a related approach, without degrading the fault-revealing effectiveness.

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

Similar content being viewed by others

References

  1. Kapfhammer G (2004) The Computer Science Handbook, Chapter Software testing. CRC Press, Boca Raton

    Google Scholar 

  2. Leung H, White L (1989) Insights into regression testing. In: Proc. of the conference on software maintenance, pp 60–69

  3. Ball T (1998) On the limit of control flow analysis for regression test selection. In: Proc. of the acm international symposium on software testing and analysis, pp. 134–142

  4. Harrold M, Jones J, Li T, Liang D, Orso A (2001) Regression test selection for Java software. In: Proc. of the 16th ACM SIGPLAN Conference on object-oriented programming, systems, languages and applications, pp 312–326

  5. Rothermel G, Harrold M (1996) Analyzing regression test selection techniques. IEEE Trans Softw Eng 22(8):529–551

    Article  Google Scholar 

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

    Article  Google Scholar 

  7. 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 

  8. Rothermel G, Harrold MJ (1994) Selecting regression tests for object-oriented software. In: Proc. of the Intl. Conf. on software maintenance, Victoria, pp 14–25

  9. Zheng J, Robinson B, Williams L, Smiley K (2006) Applying regression test selection for cots-based applications. In: Proc. of the 28th international conference on software engineering (ICSE’06), pp 512–522

  10. Farooq Q, Zohaib M, Iqbal Z, Nadeem A, Malik ZI (2007) An approach for selective state machine based regression testing. In: Proc. of the ACM 3rd international workshop on advances in model-based testing, pp 44–52

  11. Briand L, Labiche Y, He S (2009) Automating regression test selection based on uml designs. J Inf Softw Technol 16–30

  12. Naslavsky L, Ziv H, Richardson DJ (2009) A model-based regression test selection technique. In: Proc. of 25th IEEE international conference on software maintenance, Edmonton

  13. Horwitz S, Reps T, Binkley D (1990) Interprocedural slicing using dependence graphs. Trans Program Lang Syst 12(1):26–60

    Article  Google Scholar 

  14. Tip F (1994) A survey of program slicing techniques. Technical Report: CSR9438, CWI (Centre for Mathematics and Computer Science), Amsterdam

  15. Panigrahi C, Mall R (2013) Slicing of object-oriented programs with improved precision. Technical Report, Department of Computer Science and Engineering, IIT Kharagpur

  16. Hedley D, Hennell MA (1985) The causes and effects of infeasible paths in computer program. In: Proc. of 8th international conference on software engineering (Cat. No.85CH2139-4), London, pp 28–30

  17. Ngo MN, Tan HBK (2007) Detecting large number of infeasible paths through recognizing their patterns. In: Proc. of ESEC/FSE 07, Cavtat near Dubrovnik, Croatia, pp 102–112

  18. Young M, Taylor RN (1988) Combining static concurrency analysis with symbolic execution. IEEE Trans Softw Eng 14:1499–1511

    Article  Google Scholar 

  19. Coward PD (1991) Symbolic execution and testing. Inf Softw Technol 33(1):53–64

    Article  Google Scholar 

  20. Goldberg A, Wang TC, Zimmerman D (1994) Applications of feasible path analysis to program testing. In: Proc. of ISSTA, Seattle, pp 17–19

  21. Bodik R, Gupta R, Soffa ML (1997) Refining data flow information using infeasible paths. In: Proc. of 6th European software engineering conference held jointly with the 5th ACM SIGSOFT symposium on the foundations of software engineering (ESEC/FSE ’97), vol 22, pp 361–377

  22. Zhang J, Wang X (2001) A constraint solver and its application to path feasibility analysis. Int J Softw Eng Knowl Eng 11:139–156

    Article  Google Scholar 

  23. Malevris N, Yates DF, Veevers A (1990) Predictive metric for likely feasibility of program paths. Inf Softw Technol 32:115–118

    Article  Google Scholar 

  24. Forgacs I, Bertolino A (1997) Feasible test path selection by principal slicing. In: Proc. of ESEC/FSE ’97, Zurich

  25. Bueno PMS, Jino M (2000) Identification of potentially infeasible program paths by monitoring the search for test data. In: Proc. of ASE, Grenoble, France, pp 11–15

  26. Larsen L, Harrold M (1996) Slicing object-oriented software. In: Proc. of 18th IEEE international conference on software engineering

  27. White L, Abdullah K (1997) A firewall approach for regression testing of object-oriented software. In: Proc. of 10th annual software quality week

  28. Kung D, Gao J, Hsia P, Toyoshima Y, Chen C (1997) Firewall regression testing and software maintenance of object-oriented systems. J Object-Oriented Program

  29. Jang YK, Munro M, Kwon YR (2001) An improved method of selecting regression tests for c++ programs. J Softw Maint Res Pract 13:331–350

    Article  MATH  Google Scholar 

  30. Martins E, Vieira VG (2005) Regression test selection for testable classes. Lect Notes Comput Sci 34(63):453–470

    Article  Google Scholar 

  31. Panigrahi C, Mall R (2013) An approach to prioritize the regression test cases of object-oriented programs. J CSI Trans ICT 1(2):159–173

    Article  Google Scholar 

  32. Panigrahi C, Mall R (2013) A Heuristic-based regression test case prioritization approach for object-oriented programs. J Innov Syst Softw Eng (ISSE) NASA J 10(3):155–163

  33. Eclipse (last visited March 21, 2014). Available http://www.eclipse.org/

  34. Antlr parser generator. (last visited March 21, 2014). Available: http://www.antlr.org/

  35. Wisniewski S, Antlr java grammar. (last visited March 21, 2014). Available: http://www.antlr.org/grammar/list

  36. Graphviz (last visited March 21, 2014). Available: http://www.graphviz.org/

  37. Pande H, Landi W, Ryder BG (1994) Interprocedural def-use associations in C programs. IEEE Trans Softw Eng 20(5):385–403

    Article  MATH  Google Scholar 

  38. Open source website. (last visited October 30, 2015). Available: http://sourceforge.net/

  39. An open source mutation testing plug-in for eclipse. (last visited March 21, 2014). Available: http://muclipse.sourceforge.net/

  40. Ma Y-S, Offutt J, Kwon Y-R (2005) Mujava: An automated class mutation system. Journal of Software Testing, Verification and Reliability 15(2):97–133

    Article  Google Scholar 

  41. Bates S, Horwitz S (1993) Incremental program testing using program dependence graphs. In: Conf. Record of the 20th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, ACM Press, Charleston, South California, pp. 384–396

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Chhabi Rani Panigrahi.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Panigrahi, C.R., Mall, R. Regression test size reduction using improved precision slices. Innovations Syst Softw Eng 12, 153–159 (2016). https://doi.org/10.1007/s11334-015-0262-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11334-015-0262-6

Keywords

Navigation