Application of Hierarchical Slicing to Regression Test Selection of Java Programs

slicing method to decompose a Java program into packages, classes, methods and statements that are affected due to the modification in the program. The decomposition is based on the hierarchical characteristic of Java. Then, by mapping these decompositions with the existing test suite, we derive a new test suite and add some new test cases, if necessary, to retest the modified program. We have proposed an intermediate representation of the Java program by considering all the possible dependencies among the program parts. This intermediate representation is used to identify the program constructs that are possibly affected by the change in the program. The packages, classes, methods, and statements thus affected are identified by traversing the intermediate graph, first in the forward direction and then in the backward direction. The test cases covering these affected parts of the program are then selected to retest the program.

[1]  Gregg Rothermel,et al.  Prioritizing test cases for regression testing , 2000, ISSTA '00.

[2]  Anand Krishnaswamy Program Slicing: An Application of Object-oriented Program Dependency Graphs , 1994 .

[3]  David W. Binkley,et al.  Interprocedural slicing using dependence graphs , 1988, SIGP.

[4]  Baowen Xu,et al.  Slicing object-oriented java programs , 2001, SIGP.

[5]  Aniello Cimitile,et al.  Conditioned program slicing , 1998, Inf. Softw. Technol..

[6]  Antonia Bertolino,et al.  Feasible test path selection by principal slicing , 1997, ESEC '97/FSE-5.

[7]  Mary Lou Soffa,et al.  Program Slicing‐Based Regression Testing Techniques , 1996 .

[8]  Bogdan Korel,et al.  Application of system models in regression test suite prioritization , 2008, 2008 IEEE International Conference on Software Maintenance.

[9]  Susan Horwitz,et al.  Slicing java programs that throw and catch exceptions , 2003, PEPM '03.

[10]  Jaya Teja Gompa Dynamic Slicing of Object-Oriented Programs , 2014 .

[11]  Gregor Snelting,et al.  An improved slicer for Java , 2004, PASTE.

[12]  David W. Binkley,et al.  Program slicing , 2008, 2008 Frontiers of Software Maintenance.

[13]  Thomas W. Reps,et al.  The use of program dependence graphs in software engineering , 1992, International Conference on Software Engineering.

[14]  G. A. Venkatesh,et al.  The semantic approach to program slicing , 1991, PLDI '91.

[15]  Gregg Rothermel,et al.  Test Case Prioritization: A Family of Empirical Studies , 2002, IEEE Trans. Software Eng..

[16]  Alessandro Orso,et al.  Regression test selection for Java software , 2001, OOPSLA '01.

[17]  Mary Jean Harrold,et al.  Slicing object-oriented software , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[18]  Jingde Cheng,et al.  A dependence-based representation for concurrent object-oriented software maintenance , 1998, Proceedings of the Second Euromicro Conference on Software Maintenance and Reengineering.

[19]  Karl J. Ottenstein,et al.  The program dependence graph in a software development environment , 1984, SDE 1.

[20]  Rajib Mall,et al.  An Overview of Slicing Techniques for Object-Oriented Programs , 2006, Informatica.

[21]  Neelam Gupta,et al.  Test Case Prioritization Using Relevant Slices , 2006, 30th Annual International Computer Software and Applications Conference (COMPSAC'06).

[22]  Xiaocong Fan,et al.  A model for slicing JAVA programs hierarchically , 2004, Journal of Computer Science and Technology.

[23]  Gregg Rothermel,et al.  Cost-cognizant Test Case Prioritization , 2006 .

[24]  Wanzhi Wen,et al.  Software fault localization based on program slicing spectrum , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[25]  Bixin Li,et al.  An Approach to Regression Test Selection Based on Hierarchical Slicing Technique , 2010, 2010 IEEE 34th Annual Computer Software and Applications Conference Workshops.

[26]  Mark Harman,et al.  Amorphous program slicing , 2003, J. Syst. Softw..

[27]  Janusz W. Laski,et al.  Dynamic Program Slicing , 1988, Inf. Process. Lett..

[28]  Tao Wang,et al.  Using compressed bytecode traces for slicing Java programs , 2004, Proceedings. 26th International Conference on Software Engineering.

[29]  Wenbing Zhao,et al.  An Input Data Related Behavior Extracting and Measuring Model , 2013 .