Home

About

Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network
FAQHELPSITE MAPCONTACT US


  Advanced Search  

 
Slicing for Modern Program Structures: a Theory for Eliminating Irrelevant Loops 1
 

Summary: Slicing for Modern Program Structures: a Theory for Eliminating
Irrelevant Loops 1
Torben Amtoft 2
Department of Computing and Information Sciences, Kansas State University, Manhattan, Kansas 66506, USA
Abstract
Slicing is a program transformation technique with numerous applications, as it allows the user to focus on the parts
of a program that are relevant for a given purpose. Ideally, the slice program should have the same termination
properties as the original program, but to keep the slices manageable, it might be preferable to slice away loops that
do not affect the values of relevant variables. This paper provides the first theoretical foundation to reason about non-
termination insensitive slicing without assuming the presence of a unique end node. A slice is required to be closed
under data dependence and under a recently proposed variant of control dependence, called weak order dependence.
This allows a simulation-based correctness proof for a correctness criterion stating that the observational behavior of
the original program must be a prefix of the behavior of the slice program.
Key words: program slicing, control dependence, observable behavior, simulation techniques
1. Introduction
Program slicing [12,11] has been applied for many
purposes: compiler optimizations, debugging, model
checking, protocol understanding, etc. Given the
control flow graph (CFG) of a program and given
a slicing criterion, the sets of nodes of interest, the

  

Source: Amtoft, Torben - Department of Computing and Information Sciences, Kansas State University

 

Collections: Computer Technologies and Information Sciences