Results 1 
2 of
2
Understanding Function Behaviors through Program Slicing
 Proceedings of the Fourth Workshop on Program Comprehension
, 1996
"... We present conditioned slicing as a general slicing framework for program comprehension. A conditioned slice consists of a subset of program statements which preserves the behavior of the original program with respect to a set of program executions. The set of initial states of the program that char ..."
Abstract

Cited by 26 (1 self)
 Add to MetaCart
We present conditioned slicing as a general slicing framework for program comprehension. A conditioned slice consists of a subset of program statements which preserves the behavior of the original program with respect to a set of program executions. The set of initial states of the program that characterize these executions is specified in terms of a first order logic formula on the input variables of the program. Conditioned slicing allows a better decomposition of the program giving the maintainer the possibility to analyze code fragments with respect to different perspectives. We also show how slices produced with traditional slicing methods can be reduced to conditioned slices. Conditioned slices can be identified by using symbolic execution techniques and dependence graphs. 1 Introduction The comprehension of an existing software system consumes from 50% up to 90% of its maintenance time. Comprehending a software system can be defined as the process of abstracting higher level d...
Efficient Algebraic Operations on Programs
 University of Iowa
, 1991
"... A symbolic version of an operation on values is a corresponding operation on program texts. For example, symbolic composition of two programs p, q yields a program whose meaning is the (mathematical) composition of the meanings of p and q. Another example is symbolic specialization of a function to ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
A symbolic version of an operation on values is a corresponding operation on program texts. For example, symbolic composition of two programs p, q yields a program whose meaning is the (mathematical) composition of the meanings of p and q. Another example is symbolic specialization of a function to a known first argument value. This operation, given the first argument, transforms a twoinput program into an equivalent oneinput program. Computability of both of these symbolic operations has long been established in recursive function theory [12,16]; the latter is known as Kleene's "smn" theorem, also known as partial evaluation. In addition to computability we are concerned with efficient symbolic operations, in particular applications of the two just mentioned to compiling and compiler generation. Several examples of symbolic composition are given, culminating in nontrivial applications to compiler generation [14], [18]. Partial evaluation has recently become the subject of conside...