## A mechanically verified code generator (1989)

### Cached

### Download Links

- [www.cs.utexas.edu]
- [dirleton.csres.utexas.edu]
- [www.computationallogic.com]
- [www.cli.com]
- DBLP

### Other Repositories/Bibliography

Venue: | Journal of Automated Reasoning |

Citations: | 30 - 1 self |

### BibTeX

@ARTICLE{Young89amechanically,

author = {William D. Young},

title = {A mechanically verified code generator},

journal = {Journal of Automated Reasoning},

year = {1989},

volume = {5},

pages = {493--518}

}

### OpenURL

### Abstract

in this document are those of the author and should not be interpreted as representing the official policies, either expressed or implied, of Computational

### Citations

531 |
A Computational' Logic
- Boyer, Moore
- 1979
(Show Context)
Citation Context ...e official arbiter of our claim that we have provided a rigorous formal proof of a code generator for a significant subset of Gypsy is a list of "events" in the computational logic of Boyer =-=and Moore [4, 5]-=-. That list is sufficient to lead the Boyer-Moore theorem prover enhanced with an interactive interface by Matt Kaufmann [14] to the proof of our main theorem. This paper is a summary of a much longer... |

395 |
A Computational Logic Handbook
- Boyer, Moore
- 1988
(Show Context)
Citation Context ...e official arbiter of our claim that we have provided a rigorous formal proof of a code generator for a significant subset of Gypsy is a list of "events" in the computational logic of Boyer =-=and Moore [4, 5]-=-. That list is sufficient to lead the Boyer-Moore theorem prover enhanced with an interactive interface by Matt Kaufmann [14] to the proof of our main theorem. This paper is a summary of a much longer... |

160 | Towards a Mathematical Science of Computation
- McCarthy
- 1962
(Show Context)
Citation Context ...wever, this uses the same logic and is a relatively benign set of enhancements. 27 Chapter 8 RELATED WORK We have followed a long tradition in defining our languages in an operational style. McCarthy =-=[17]-=- seems to have been the first to define a language (LISP) operationally. It was realized quite early that operational (interpreter) style definitions provided a means of investigating a variety of imp... |

89 | Proving properties of programs by structural induction
- Burstall
- 1969
(Show Context)
Citation Context ...o prove compilation correct via an interpreter equivalence proof seems to be the proof of McCarthy and Painter [18] of a simple expression compiler. Various extensions to this work have been reported =-=[6, 19, 7, 1, 4]-=-. Other interpreter equivalence proofs of direct relevance to ours are reported in [13, 21, 2]. Several compiler proofs have used axiomatic semantics [8, 16] and much work has been directed toward spe... |

84 | Correctness of a compiler for arithmetic expressions
- McCarthy, Painter
- 1967
(Show Context)
Citation Context ... the possibility of proving the equivalence of interpreters [15, 12]. The first attempt to prove compilation correct via an interpreter equivalence proof seems to be the proof of McCarthy and Painter =-=[18]-=- of a simple expression compiler. Various extensions to this work have been reported [6, 19, 7, 1, 4]. Other interpreter equivalence proofs of direct relevance to ours are reported in [13, 21, 2]. Sev... |

83 |
A Theory of Programming Language Semantics
- Milne, Strachey
- 1977
(Show Context)
Citation Context ...to ours are reported in [13, 21, 2]. Several compiler proofs have used axiomatic semantics [8, 16] and much work has been directed toward specifying and proving compilers using denotational semantics =-=[20, 9]-=-, The most notable previous mechanical compiler proof is by Polak [23]. Polak uses denotational semantics to describe both the source and target languages. His work is less rigorous than ours; his pro... |

59 | Kit: A study in operating system verification
- Bevier
- 1989
(Show Context)
Citation Context ...ng an assembler and linking loader for Piton and a microprocessor design verified at the register transfer level [13]. Parallel research addresses the issue of verified operating system functionality =-=[2]-=-. The integration of these components into a vertically verified system is addressed in a companion paper [3]. 2 Because our source language is a subset of Gypsy, we have the option of verifying the c... |

48 | A mechanically verified language implementation
- Moore
- 1989
(Show Context)
Citation Context ... paper we describe the implementation and proof of a code generator, a major component of a compiler. The source language is a subset of Gypsy (version 2.05) [10] and the target language is the Piton =-=[21]-=- assembly level language. Our code generator is one level of a stack of verified system components including an assembler and linking loader for Piton and a microprocessor design verified at the regis... |

44 | A user's manual for an interactive enhancement to the Boyer-Moore theorem prover
- Kaufmann
- 1988
(Show Context)
Citation Context ...ypsy is a list of "events" in the computational logic of Boyer and Moore [4, 5]. That list is sufficient to lead the Boyer-Moore theorem prover enhanced with an interactive interface by Matt=-= Kaufmann [14]-=- to the proof of our main theorem. This paper is a summary of a much longer report [26] which contains that list and in which we . present a language recognizer and operational semantics for a subset ... |

39 | Mechanizing Structural Induction
- Aubin
- 1976
(Show Context)
Citation Context ... the temporary stack in our Piton execution environment would be: index contents represents 9 unused above here 8 (INT 4202) I 7 (BOOL T) B2 6 (INT 25) A[4] 5 (INT 12) A[3] 4 (INT 0) A[2] 3 (INT 38) A=-=[1]-=- 2 (INT-294) A[0] 1 (INT 25) CH 0 (BOOL F) B1 Piton contains instructions for storing and retrieving elements at arbitrary positions in the temporary stack. Thus the temporary stack serves as a random... |

29 |
The Mechanical Verification of a Microprocessor Design
- Hunt
- 1986
(Show Context)
Citation Context ...guage. Our code generator is one level of a stack of verified system components including an assembler and linking loader for Piton and a microprocessor design verified at the register transfer level =-=[13]-=-. Parallel research addresses the issue of verified operating system functionality [2]. The integration of these components into a vertically verified system is addressed in a companion paper [3]. 2 B... |

23 |
Piton: A verified assembly level language
- Moore
- 1988
(Show Context)
Citation Context ...executed in the current state. The Piton instruction set, its semantics, its implementation on the FM8502 microprocessor, and the proof of the correctness of this implementation is fully described in =-=[22]-=- and summarized in [21]. 11 Chapter 4 THE CORRECTNESS OF THE MICRO-GYPSY CODE GENERATOR The translator from Micro-Gypsy to Piton takes a Micro-Gypsy execution environment (including the program) and c... |

23 |
Compiler Specification and Verification
- Polak
- 1981
(Show Context)
Citation Context ...iomatic semantics [8, 16] and much work has been directed toward specifying and proving compilers using denotational semantics [20, 9], The most notable previous mechanical compiler proof is by Polak =-=[23]-=-. Polak uses denotational semantics to describe both the source and target languages. His work is less rigorous than ours; his proof has as a basis a large collection of unproved assumptions within th... |

22 | A verified code generator for a subset of Gypsy
- Young
- 1988
(Show Context)
Citation Context ...ist is sufficient to lead the Boyer-Moore theorem prover enhanced with an interactive interface by Matt Kaufmann [14] to the proof of our main theorem. This paper is a summary of a much longer report =-=[26]-=- which contains that list and in which we . present a language recognizer and operational semantics for a subset of Gypsy which we call Micro-Gypsy, . describe the operational semantics for a subset o... |

21 |
Proving compiler correctness in a mechanized logic
- Milner, Weyrauch
- 1972
(Show Context)
Citation Context ...o prove compilation correct via an interpreter equivalence proof seems to be the proof of McCarthy and Painter [18] of a simple expression compiler. Various extensions to this work have been reported =-=[6, 19, 7, 1, 4]-=-. Other interpreter equivalence proofs of direct relevance to ours are reported in [13, 21, 2]. Several compiler proofs have used axiomatic semantics [8, 16] and much work has been directed toward spe... |

14 |
Report on Gypsy 2.05
- Good, Akers, et al.
- 1986
(Show Context)
Citation Context ...t software engineering techniques. In this paper we describe the implementation and proof of a code generator, a major component of a compiler. The source language is a subset of Gypsy (version 2.05) =-=[10]-=- and the target language is the Piton [21] assembly level language. Our code generator is one level of a stack of verified system components including an assembler and linking loader for Piton and a m... |

14 |
Two constructive realizations of the block concept and their equivalence
- Lucas
- 1968
(Show Context)
Citation Context ...lized quite early that operational (interpreter) style definitions provided a means of investigating a variety of implementations and opened the possibility of proving the equivalence of interpreters =-=[15, 12]-=-. The first attempt to prove compilation correct via an interpreter equivalence proof seems to be the proof of McCarthy and Painter [18] of a simple expression compiler. Various extensions to this wor... |

13 |
Using the Gypsy methodology
- GOOD, DIVITO, et al.
- 1988
(Show Context)
Citation Context ...is addressed in a companion paper [3]. 2 Because our source language is a subset of Gypsy, we have the option of verifying the correctness of user-level programs in the Gypsy Verification Environment =-=[11]-=-. Verified programs are compiled into Piton using the code generator; the resulting programs are then assembled into a load image for the FM8502 microprocessor. Thus the semantics of the verified high... |

10 |
An approach to compiler correctness
- Chirica, Martin
- 1977
(Show Context)
Citation Context ...s to this work have been reported [6, 19, 7, 1, 4]. Other interpreter equivalence proofs of direct relevance to ours are reported in [13, 21, 2]. Several compiler proofs have used axiomatic semantics =-=[8, 16]-=- and much work has been directed toward specifying and proving compilers using denotational semantics [20, 9], The most notable previous mechanical compiler proof is by Polak [23]. Polak uses denotati... |

9 |
A Practical Formal Semantic Definition and Verification System for TYPED LISP
- Cartwright
- 1976
(Show Context)
Citation Context ...o prove compilation correct via an interpreter equivalence proof seems to be the proof of McCarthy and Painter [18] of a simple expression compiler. Various extensions to this work have been reported =-=[6, 19, 7, 1, 4]-=-. Other interpreter equivalence proofs of direct relevance to ours are reported in [13, 21, 2]. Several compiler proofs have used axiomatic semantics [8, 16] and much work has been directed toward spe... |

9 |
A verified program verifier
- Ragland
- 1973
(Show Context)
Citation Context ...condition generator for Micro-Gypsy within the Boyer-Moore framework. This is a separate research topic which we have not investigated in detail, though some research has been aimed in this direction =-=[24]-=-. 7 We intend to write a verified preprocessor, but this has not yet been done. 8 We in fact used Matt Kaufmann's interactive interface to the Boyer-Moore prover in our proofs. However, this uses the ... |

8 |
Machine Assisted Proofs of Recursion Implementation
- Cohn
- 1979
(Show Context)
Citation Context ...to ours are reported in [13, 21, 2]. Several compiler proofs have used axiomatic semantics [8, 16] and much work has been directed toward specifying and proving compilers using denotational semantics =-=[20, 9]-=-, The most notable previous mechanical compiler proof is by Polak [23]. Polak uses denotational semantics to describe both the source and target languages. His work is less rigorous than ours; his pro... |

5 |
The Block Structure Concept and Some Possible Implementations
- Henhapl, Jones
- 1970
(Show Context)
Citation Context ...lized quite early that operational (interpreter) style definitions provided a means of investigating a variety of implementations and opened the possibility of proving the equivalence of interpreters =-=[15, 12]-=-. The first attempt to prove compilation correct via an interpreter equivalence proof seems to be the proof of McCarthy and Painter [18] of a simple expression compiler. Various extensions to this wor... |

4 |
Interactive Compiler Proving Using Hoare Proof Rules
- Lynn
- 1978
(Show Context)
Citation Context ...s to this work have been reported [6, 19, 7, 1, 4]. Other interpreter equivalence proofs of direct relevance to ours are reported in [13, 21, 2]. Several compiler proofs have used axiomatic semantics =-=[8, 16]-=- and much work has been directed toward specifying and proving compilers using denotational semantics [20, 9], The most notable previous mechanical compiler proof is by Polak [23]. Polak uses denotati... |

1 | A Verified Optimizer for Pico-Piton. Internal Note 107 - Young - 1988 |