What do you mean by program slicing ? Does anybody have an information regarding this....... then please provide your ideas
thanks
What do you mean by program slicing ? Does anybody have an information regarding this....... then please provide your ideas
thanks
In computer programming, program slicing is the computation of a program slice. The program slice consists of the parts of a program that may affect the values computed at some point of interest, referred to as a slicing criterion. Program slicing can be used in debugging to locate source of errors more easily. Other applications of slicing include software maintenance, optimization, program analysis, and information flow control.
Program Slicing
In software applications, program slicing is a method of identifying the core elements of a software program and gently extracting them from the more complicated code that allows the program to function.
The process of program slicing is especially important to software engineering efforts, as it allows the software engineer to find the way through complicated strings of code in order to access the source code that actually drives the application. Being able to extract these subprograms and view the source code makes it possible to identify a wide range of potential bugs and thus make the software run with more efficiency.
There are two basic approaches or dimensions to program slicing -
- Static Slicing
- Dynamic Slicing
Program slicing is a method used by experienced computer programmers for abstracting from programs.
Starting from a subset of a program's behavior, slicing reduces that program to a minimal form which still produces that behavior.
The reduced program, called a “slice”, is an independent program guaranteed to faithfully represent the original program within the domain of the specified subset of behavior. Finding a slice is in general unsolvable.
A dataflow algorithm is presented for approximating slices when the behavior subset is specified as the values of a set of variables at a statement. Experimental evidence is presented that these slices are used by programmers during debugging. Experience with two automatic slicing tools is summarized.
New measures of program complexity are suggested based on the organization of a program's slices.
Definition - Program slicing is a technique for simplifying programs by focusing on selected aspects of semantics.
Purpose/Objective - The process of slicing deletes those parts of the program which can be determined to have no effect upon the semantics of interest.
Application - Slicing has applications in testing and debugging, re-engineering, program comprehension and software measurement.
For example, in debugging, there is little point in the (human) debugger analysing sections of the source code which cannot have caused the bug. Slicing avoids this by removing these parts of the program, focusing attention on those parts of the program which may contain a fault.
Dimension - There are two dimensions to slicing -
- a semantic dimension
- a syntactic dimension
In semantic dimension, there are three approaches -
- Static dimension
- Dynamic dimension
- Conditioned dimension
In syntactic dimension, there are two approaches -
- syntax-preserving
- amorphous
Bookmarks