| Wand, M. (1995, June). Compiler correctness for parallel languages. In Functional Programming and Computer Architecture, pp. 120-134. ACM. |
....and Ramsdell 1995) using denotational semantics as a metalanguage, is the most ambitious verification to date of a compiler based abstract machine. Other work on compilers deploys metalanguages such as calculi of explicit substitutions (Hardin, Maranget, and Pagano 1996) or process calculi (Wand 1995). Rather than introduce a metalanguage, we prove correctness of our abstract machine directly from its operational semantics. We adopted Rittri s idea (Rittri 1990) of unloading a machine state to a term via a specialised unloading machine. Our proof is simpler than Rittri s, and goes beyond it by ....
Wand, M. (1995, June). Compiler correctness for parallel languages. In Functional Programming and Computer Architecture, pp. 120--134.
....and Ramsdell 1995) using denotational semantics as a metalanguage, is the most ambitious verification to date of a compiler based abstract machine. Other work on compilers deploys metalanguages such as calculi of explicit substitutions (Hardin, Maranget, and Pagano 1996) or process calculi (Wand 1995). We rediscovered Rittri s idea (Rittri 1990) of unloading a machine state to a term via a specialised unloading machine. 49 50 Chapter 4 A Concurrent Object Calculus In this chapter we obtain a new formalism for concurrent object oriented languages by extending Abadi and Cardelli s imperative ....
Wand, M. (1995, June). Compiler correctness for parallel languages. In Functional Programming and Computer Architecture, pp. 120--134.
....languages. A few frameworks have the ability to reason about optimizations techniques for parallel languages. Nielsen in [16] studied a control flow analysis for Concurrent ML. It can predict the communication topology of programs presented as terms of a process calculus and a type system. Wand in [27] explored the semantics of a parallel functional language which is applicable to the verification of compiler correctness. The framework presented in this paper is unique among existing related works in having the ability to quantitatively analyze temporal e#ectiveness of optimizations for ....
Wand, M., Compiler Correctness for Parallel Languages, Proceedings of Symposium on Functional Languages and Computer Architecture, 1995.
....of a token from label to label. An auxiliary label on each sub expression is used to collect information about the values of the expression. The semantics is well suited for deriving traditional abstract interpretations, but is inappropriate for specifying a user level semantics. Finally, Wand [24] recently extended his work on correctness proofs for sequential compilers to parallel languages. In his prior work on the correctness of sequential compilers, he derived compilers from the semantic mappings that translate syntax into calculus expressions. Such a derivation consists of a staging ....
Wand, M. Compiler correctness for parallel languages. Unpublished manuscript, 1995.
....[5] They described an analysis for their language that they intend to use in a forthcoming compiler, but they do not have an implementation of their analysis for a full language like functional Scheme, and they do not have optimization algorithms that exploit the results of their analysis. Wand [32] recently extended his work on correctness proofs for sequential compilers to parallel languages. In his prior work on the correctness of sequential compilers, he derived compilers from the semantic mappings that translate syntax into calculus expressions. The extension of this work to parallel ....
Wand, M. Compiler correctness for parallel languages. Unpublished manuscript, 1995.
....machine based on compiled code. The VLISP project [11] using denotational semantics as a metalanguage, is the most ambitious verification to date of a compiler based abstract machine. Other work on compilers deploys metalanguages such as calculi of explicit substitutions [13] or process calculi [28]. Rather than introduce a metalanguage, we prove correctness of our abstract machine directly from its operational semantics. We adopted Rittri s idea [23] of unloading a machine state to a term via a specialised unloading machine. Our proof is simpler than Rittri s, and goes beyond it by dealing ....
M. Wand. Compiler correctness for parallel languages. In Proceedings FPCA'95, pages 120--134. ACM, June 1995.
....approach, found for example in early work on CSP, relies on point to point communication, with process identifiers (pids) used for addressing messages between processes. This latter approach has also been used in recent work on correctness of the parallel compilation of a functional language [17]. Most channel based concurrent languages do not allow channel names to be passed on as values. A notable exception is the Pi calculus, to which the idea of passing channel names between processes is central. It gives the Pi calculus great flexibility in expressing systems with evolving ....
M. Wand. Compiler correctness for parallel languages. In Functional Programming and Computer Architecture (FPCA). ACM, 1995. This article was processed using the L A T E X macro package with LLNCS style
....and Ramsdell 1995) using denotational semantics as a metalanguage, is the most ambitious verification to date of a compiler based abstract machine. Other work on compilers deploys metalanguages such as calculi of explicit substitutions (Hardin, Maranget, and Pagano 1996) or process calculi (Wand 1995). Rather than introduce a metalanguage, we prove correctness of our abstract machine directly from its operational semantics. We adopted Rittri s idea (Rittri 1990) of unloading a machine state to a term via a specialised unloading machine. Our proof is simpler than Rittri s, and goes beyond it by ....
Wand, M. (1995, June). Compiler correctness for parallel languages. In Functional Programming and Computer Architecture, pp. 120--134.
.... code on the abstract machine: E [ p] N iff C[ p] N iff C[ p] F and F = N (3) For the case of sequential languages, the metalanguage is usually some version of the calculus, and the notion of equivalence is equality modulo ff renaming and fi reduction, which we write fi = In [30] this methodology is adapted to languages with parallelism. The metalanguage is chosen to be the calculus extended with special operators that turn it into a process calculus. It is shown that fi equivalence fi = extends to a strong bisimulation fi . This reduces the problem of ensuring ....
....to derive and verify a compiler for a realistic concurrent language, so that running programs will be similar to those written, for example, using PVM [10] or Erlang [4] Specifically, we shall include asynchronous buffered communication, and we shall allow for execution on multiple computers. In [30], the calculus has an interleaving semantics, as does the abstract machine. Since we are interested in multicomputer implementations, the present work uses a true concurrency model of computation. We show how to model concurrency in such a way as to retain the technical developments of [30] while ....
[Article contains additional citation context not shown here]
M. Wand. Compiler correctness for parallel languages. In 1995 Symposium on Functional Languages and Computer Architecture, June 1995.
....the theorem prover on a variety of examples of the sort sketched above. Our examples have included conditional expressions, closure creation and procedure calls with lexical addressing and multiple arguments, correct compilation of tail recursive code [5, 14] and a small parallel language [21]. Another set of examples proved by the theorem prover arise from checking the operational semantics of the target machine. In our compilercorrectness framework, we require that the term representing the meaning of the target code has reduction behavior that closely mimics the behavior of typical ....
Mitchell Wand. Compiler Correctness for Parallel Languages. in preparation, August 1994.
No context found.
Wand, M. (1995, June). Compiler correctness for parallel languages. In Functional Programming and Computer Architecture, pp. 120-134. ACM.
No context found.
. Compiler correctness for parallel languages. In Proceedings FPCA'95, pp. 120--134. ACM.
No context found.
Wand M., Compiler correctness for parallel languages, in Functional Programming Languages and Computer Architecture(June): 120-134, 1995.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC