2016International Journal of Modern Trends in Engineering and ResearchRequires access

TEST CASES ANALYSIS OF PROGRAM SLICING

Hayat Mustafa, mohd suhail, karan panjwani

Open publisher page 0 citations

Abstract

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.

About this research paper

What this paper is about

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.

Why it matters

A significance statement is not available in the OpenAlex record.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

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.

Key concepts: Program slicing, Computer science, Debugging, Slicing, Control flow graph, Programming language, Program analysis, Call graph

Related papers

Back to paper searchBrowse research topicsOriginal source
TEST CASES ANALYSIS OF PROGRAM SLICING — Research Paper | ScholarLens