Static slicing in the presence of goto statements
- 1 July 1994
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 16 (4) , 1097-1113
- https://doi.org/10.1145/183432.183438
Abstract
A static program slice is an extract of a program which can help our understanding of the behavior of the program; it has been proposed for use in debugging, optimization, parallelization, and integration of programs. This article considers two types of static slices: executable and nonexecutable. Efficient and well-founded methods have been developed to construct executable slices for programs without goto statements; it would be tempting to assume these methods would apply as well in programs with arbitrary goto statements. We show why previous methods do not work in this more general setting, and describe our solutions that correctly and efficiently compute executable slices for programs even with arbitrary goto statements. Our conclusion is that goto statements can be accommodated in generating executable static slices.Keywords
This publication has 10 references indexed in Scilit:
- Efficiently computing static single assignment form and the control dependence graphACM Transactions on Programming Languages and Systems, 1991
- Techniques for debugging parallel programs with flowback analysisACM Transactions on Programming Languages and Systems, 1991
- PTRAN—the IBM parallel translation systemPublished by Association for Computing Machinery (ACM) ,1991
- Dynamic program slicingACM SIGPLAN Notices, 1990
- Interprocedural slicing using dependence graphsACM Transactions on Programming Languages and Systems, 1990
- Integrating noninterfering versions of programsACM Transactions on Programming Languages and Systems, 1989
- Dynamic program slicingInformation Processing Letters, 1988
- The program dependence graph and its use in optimizationACM Transactions on Programming Languages and Systems, 1987
- Program SlicingIEEE Transactions on Software Engineering, 1984
- The program dependence graph in a software development environmentPublished by Association for Computing Machinery (ACM) ,1984