ACM Home Page
Please provide us with feedback. Feedback
Proving the correctness of storage representations
Full text PdfPdf (874 KB)
Source Conference on LISP and Functional Programming archive
Proceedings of the 1992 ACM conference on LISP and functional programming table of contents
San Francisco, California, United States
Pages: 151 - 160  
Year of Publication: 1992
ISBN:0-89791-481-3
Also published in ...
Authors
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGART: ACM Special Interest Group on Artificial Intelligence
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 1,   Downloads (12 Months): 13,   Citation Count: 5
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/141471.141528
What is a DOI?

ABSTRACT

Conventional techniques for semantics-directed compiler derivation yield abstract machines that manipulate trees. However, in order to produce a real compiler, one has to represent these trees in memory. In this paper we show how the technique of storage-layout relations can be applied to verify the correctness of storage representations in a very general way. This technique allows us to separate denotational from operational reasoning, so that each can be used when needed. As an example, we show the correctness of a stack implementation of a language including dynamic catch and throw. The representation uses static and dynamic links to thread the environment and continuation through the stack. We discuss other uses of these techniques.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Appel, A.W., "Runtime Tags Alen't Necessary," Lisp and Symbolt. c Com, putcttzotz 2 (1989), 153-162.
2
3
4
 
5
6
 
7
 
8
 
9
Farmer, W.M, Guttman, J.D., Monk, L.G., Ramsdell, J D., and Swarup. V. "VLISP. A Verified Language Implementation FY 91 Year-End Report," The MITRE Corporation Technical Report MTR11232, October, 1991.
 
10
Oliva, D.P., and Wand, M., "A Verified Compiler for Pure PreScheme," Final Report fox MITRE Contract Number F19628-89-C-001. Included in {9}.
 
11
McCarthy, J. and Painter, J. "Correctness of a Compiler for Arithmetic Expressions," in Proc. Symp. in Appl. Math., Vol. 19, Mathematical Aspects of Computer Science (J. T. Schwartz, ed.) Amer. Math. Soc., Providence, RI, 1967, 33-41.
 
12
 
13
Plotkin, G.D. "Call-by-Name, Call-by-Value and the X- Calculus," Theoret. Comp Sci 1 (1975) 125-159.
14
 
15
 
16
 
17
18
 
19
 
20


Collaborative Colleagues:
Mitchell Wand: colleagues
Dino P. Oliva: colleagues