TEST CASES ANALYSIS OF PROGRAM SLICING

Program slicing is known as the process of computing the cluster of instructions in the source program, the slice that are likely to influence the values at some point in the program execution, are considered as ‗slicing criterion'. Applications of program slicing are most commonly used in software modification activities such as testing, debugging, complexity calculation and program understanding etc.Program slicing focuses on specific sub-components of a program; that are used to generate some instructions of program that maybe relevant to a specific computation or affecting a set of variables. Applying slicing techniques to softwares using slicing tools, we can determine which components can be facilitated and reused. These reused patterns and software designs provide enhancements in code. Keywords— Program slicing, static slicing, test cases, control flow graph, dynamic slicing and program dependence graph. I. INTRODUCTION Program slicing is automated technique which focuses on program simplification, thereby aids maintenance as well as debugging. Mark Harman shared his knowledge of how executed information can be used to focus even closer in the program (3). Slicing algorithms helps programmers in extracting various parts of a computation in the program that might affect a specific set of variable at some predictable position, which results in forming a slice. Those slices can be used for understanding and debugging code, since they constitute only the segments of a program that are related to or influencing a specific segment computation in program, while maintaining the effect of native code. In most cases, slices are made for a particular set of variables, but in following article we consider the single variable slices. We will describe certain ways in which the dynamic information obtained from the execution pattern of a program can be used to produce less complicated slices that are possible using the static approach. A program slice includes various instructions of the program that effect the values computed at some computing point in the program execution, point of reference so obtained is considered to be ‗slicing criterion' and is typically represented by a certain program point including several variables. The process of computing program slicing on certain program is called program slicing. Program slicing can be used in functional testing (1)(2). Characteristics of programming languages such as unstructured control flow, procedures, composite data types and pointers and concurrency each demands specific extensions of slicing algorithms. Static and dynamic slicing methods for each of these characteristics are classified and compared in terms of accuracy and efficiency (10). The slices stated so far are calculated while collecting control predicates and statements by technique of backward traversal of starting at the slicing segment(1). Therefore, the slices obtained are known as backward or static slices. A forward slice includes control predicates dependent on the slicing and all related control statements. Program Slicing have two categories that are: Static slicing and dynamic slicing In static slicing input values do not influence assumptions made. Static slice consist of all the statements which may or may not affect the variables. Static slicing can be used for extracting those parts of the original program we require, while excluding the segments of original program that are unrelated. The computations for constructing a static slice are performed using the original source program.