An Efficient Algorithm for Computing all Program Forward Static Slices
by
Jehad Al Dallal
@MISC{Dallal_anefficient,
author = {Jehad Al Dallal},
title = {An Efficient Algorithm for Computing all Program Forward Static Slices},
year = {}
}
Abstract—Program slicing is the task of finding all statements in a program that directly or indirectly influence the value of a variable occurrence. The set of statements that can affect the value of a variable at some point in a program is called a program backward slice. In several software engineering applications, such as program debugging and measuring program cohesion and parallelism, several slices are computed at different program points. The existing algorithms for computing program slices are introduced to compute a slice at a program point. In these algorithms, the program, or the model that represents the program, is traversed completely or partially once. To compute more than one slice, the same algorithm is applied for every point of interest in the program. Thus, the same program, or program representation, is traversed several times. In this paper, an algorithm is introduced to compute all forward static slices of a computer program by traversing the program representation graph once. Therefore, the introduced algorithm is useful for software engineering applications that require computing program slices at different points of a program. The program representation graph used in this paper is called Program Dependence Graph (PDG). Keywords—Program slicing, static slicing, forward slicing, program dependence graph (PDG). I.
| 1129 | Program slicing - Weiser - 1981 |
| 628 | Interprocedural Slicing Using Dependence Graphs - Iorwitz, Reps, et al. - 1990 |
| 572 | A survey of program slicing techniques - Tip - 1995 |
| 262 | The program dependence graph in a software development environment - Ottenstein, Ottenstein - 1984 |
| 257 | Programmers use slices when debugging - Weiser - 1982 |
| 242 | Using program slicing in software maintenance - Gallagher, Lyle - 1991 |
| 231 | Integrating Noninterfering Versions of Programs - Horwitz, Prins, et al. - 1989 |
| 81 | An Approach to Regression Testing Using Slicing - Gupta, Harrold, et al. - 1992 |
| 74 | Dynamic slicing of computer programs - Korel, Laski - 1990 |
| 69 | Information-flow and dataflow analysis of whileprograms - Bergeretti, Carre - 1985 |
| 64 | Slice based metrics for estimating cohesion - Ott, Thuss - 1993 |
| 13 | Denotational program slicing - Hausler - 1989 |
| 2 | Slice based program metrics, Master’s thesis - Longworth - 1985 |
Developed at and hosted by The College of Information Sciences and Technology
© 2007-2010 The Pennsylvania State University
