Results 1 
3 of
3
The Interprocedural Coincidence Theorem
 In Int. Conf. on Comp. Construct
, 1992
"... We present an interprocedural generalization of the wellknown (intraprocedural) Coincidence Theorem of Kam and Ullman, which provides a sufficient condition for the equivalence of the meet over all paths (MOP ) solution and the maximal fixed point (MFP ) solution to a data flow analysis problem. Th ..."
Abstract

Cited by 90 (11 self)
 Add to MetaCart
We present an interprocedural generalization of the wellknown (intraprocedural) Coincidence Theorem of Kam and Ullman, which provides a sufficient condition for the equivalence of the meet over all paths (MOP ) solution and the maximal fixed point (MFP ) solution to a data flow analysis problem. This generalization covers arbitrary imperative programs with recursive procedures, global and local variables, and formal value parameters. In the absence of procedures, it reduces to the classical intraprocedural version. In particular, our stackbased approach generalizes the coincidence theorems of Barth and Sharir/Pnueli for the same setup, which do not properly deal with local variables of recursive procedures. 1 Motivation Data flow analysis is a classical method for the static analysis of programs that supports the generation of efficient object code by "optimizing" compilers (cf. [He, MJ]). For imperative languages, it provides information about the program states that may occur at s...
Programming Language Concepts — The Lambda Calculus Approach ∗
"... The Lambda Calculus is a formal system, originally intended as a tool in the foundation of mathematics, but mainly used to study the concepts of algorithm and effective computability. Recently, the Lambda Calculus and related systems acquire attention from Computer Science for another reason too: se ..."
Abstract
 Add to MetaCart
(Show Context)
The Lambda Calculus is a formal system, originally intended as a tool in the foundation of mathematics, but mainly used to study the concepts of algorithm and effective computability. Recently, the Lambda Calculus and related systems acquire attention from Computer Science for another reason too: several important programming language concepts can be explained elegantly and can be studied successfully in the framework of the Lambda Calculi. We show this mainly by means of examples. We address ourselves to interested computer scientists who have no prior knowledge of the Lambda Calculus. The concepts discussed include: parameterization, definitions, recursion, elementary and composite data types, typing, abstract types, control of visibility and lifetime, and modules. 1.
On the FirstOrder Equivalence of CallbyName and CallbyValue
, 1994
"... Within the framework of (firstorder) recursive applicative program schemes we prove the parameterpassing mechanisms callby name and callbyvalue to be of the same computational power, thus solving an open problem in the theory of functional programming. The equivalence proof is given cons ..."
Abstract
 Add to MetaCart
(Show Context)
Within the framework of (firstorder) recursive applicative program schemes we prove the parameterpassing mechanisms callby name and callbyvalue to be of the same computational power, thus solving an open problem in the theory of functional programming. The equivalence proof is given constructively by a detour through flowchart program schemes which operate on pushdown stores. This result is in contrast to the nondeterministic (i.e., languagetheoretic) case where the outermost (OI) and the innermost (IO) expansion strategy of macro grammars lead to incomparable classes of string languages.