MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Compilation and equivalence of imperative objects (1997) [35 citations — 5 self]

Download:
Download as a PDF | Download as a PS
by A. D. Gordon, P. D. Hankin, S. B. Lassen
University of Cambridge Computer Laboratory
http://www.brics.dk/~thales/docs/fsttcs97.ps.gz
Add To MetaCart

Abstract:

Abstract. We adopt the untyped imperative object calculus of Abadi and Cardelli as a minimal setting in which to study problems of compilation and program equivalence that arise when compiling object-oriented languages. Our main result is a direct proof, via a small-step unloading machine. Our second result is that contextual equivalence of objects coincides with a form of Mason and Talcott's CIU equivalence; the latter provides a tractable means of establishing operational equivalences. Finally, we prove correct an algorithm, used in our prototype compiler, for statically resolving method offsets. This is the first study of correctness of an object-oriented abstract machine, and of CIU equivalence for an object-oriented language. 1

Citations

795 A Theory of Objects – Abadi, Cardelli - 1996
565 Notions of computation and monads – Moggi - 1991
556 Structure and interpretation of computer programs – Abelson, Sussman, et al. - 1996
410 A language with distributed scope – Cardelli - 1995
257 The mechanical evaluation of expressions – Landin - 1964
168 A foundation for actor computation – Agha, Smith, et al. - 1997
147 A Basis for a Mathematical Theory of Computation – McCarthy - 1963
132 The Java Virtual Machine Specification. The Java Series – Lindholm, Yellin - 1997
131 Call-by-name, call-by-value, and the lambda calculus – Plotkin - 1975
130 The Design and Implementation of the SELF Compiler, an Optimizing Compiler for Object-Oriented Programming Languages – Chambers - 1992
126 Lambda-Calculus Models of Programming Languages – Morris - 1968
125 A logic of object-oriented programs – Abadi, Leino - 1997
109 Functional Programming and Input/Output – Gordon - 1994
91 Control operators, the SECD machine, and the -calculus – Felleisen, Friedman - 1986
89 Equivalence in functional languages with effects – Mason, Talcott - 1991
89 Proving congruence of bisimulation in functional programming languages – Howe - 1996
88 The Zinc experiment: an economical implementation of the ML language – Leroy - 1990
86 Towards fully abstract semantics for local variables: Preliminary report – Meyer, Sieber - 1988
62 A compilation method for ML-style polymorphic record calculi – Ohori - 1992
50 From operational semantics to abstract machines – Hannan, Miller - 1992
48 A variable typed logic of effects – Honsell, Mason, et al. - 1995
48 Deriving a Lazy Abstract Machine – Sestoft - 1997
46 An imperative object calculus – Abadi, Cardelli - 1995
36 Bisimilarity for a first-order calculus of objects with subtyping – Gordon, Rees - 1996
34 Accommodating Interference in the formal design of concurrent objectbased programs – Jones - 1996
29 An imperative object calculus. Theory and Practice of Object Systems – Abadi, Cardelli - 1996
29 An interpretation of typed objects into typed -calculus – Sangiorgi - 1996
26 References, local variables and operational reasoning – Mason, Talcott - 1992
22 Operational equivalences for untyped and polymorphic object calculi – Gordon - 1998
14 The VLISP verified scheme system – Guttman, Swarup, et al. - 1995
13 Atype-theoretic account of Standard ML – Harper, Stone - 1996
12 Objects as mobile processes – Huttel, Kleist - 1996
12 Reasoning about functions with effects – Talcott - 1996
11 An imperative object calculus: Basic typing and soundness – Abadi, Cardelli - 1995
11 Notes on the domain interpretation of type theory – Martin-Lof - 1983
8 Functional back-ends and compilers within the lambda-sigma calculus – Hardin, Maranget, et al. - 1996
8 Compiler correctness for parallel languages – Wand - 1995
7 equations, relations: practical ways to reason about new – Names - 1998
4 Proving compiler correctness by bisimulation – Rittri - 1990
3 Reasoning about object systems – Mason, Talcott - 1994
1 An operational approach to the V-calculus – Andersen, Pedersen - 1996
1 Object types and modal formulae – Andersen, Pedersen, et al. - 1997
1 Programming languages and lambda calculi. URL:http://www.cs.rice.edu/ matthias/411web/mono.ps. Unpublished course notes – Felleisen - 1995
1 Natural semantics. In K. Fuchi and M. Nivat (Eds.), Programming of Future Generation Computers – Kahn - 1988