Abstract
In this paper we propose an strategy for the design of compilers correct by construction for object-oriented languages. The process is formalized within a single and uniform semantic framework of an object-oriented language based on a subset of sequential Java and its algebraic laws. The strategy is to reduce an arbitrary source program to a particular normal form which describes the behavior of the target machine. This behavior is defined by an interpreter written in the same language. From the interpreter we can capture the sequence of generated bytecodes of the target machine. The normal form reduction is formalized as algebraic transformations where the central notion is refinement of programs.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Paulo Borba and Augusto Sampaio. Basic laws of rool: an object-oriented language. Revista de Informática Teórica e Aplicada, 7(I):49–68, 2000.
Ana Cavalcanti and David Naumann. A weakest precondition semantics for refinement of object-oriented programs. IEEE Transactions on Software Enginnering, 26(08):713–728, 2000.
C. A. R. Hoare, J. He, and A. Sampaio. Normal form approach to compiler design. Acta Informatica, 30:701–739, 1993.
M. Müller-Olm. Modular Compiler Verification: A Refinement-Algebraic Approach Advocating Stepwise Abstraction, volume 1283 of LNCS. Springer-Verlag, Heidelberg, Germany, 1997.
Augusto Sampaio. An Algebraic Approach to Compiler Design, volume 4 of AMAST Series in Computing. World Scientific, 1997.
R. Stärk, J. Schmid, and E. Börger. Java and the Java Virtual Machine-Definition, Verification, Validation. Springer-Verlag, 2001.
B. Stroustrup. The C++ Programming Language. Addison-Wesley, 1991.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Duran, A., Cavalcanti, A., Sampaio, A. (2002). Refinement Algebra for Formal Bytecode Generation. In: George, C., Miao, H. (eds) Formal Methods and Software Engineering. ICFEM 2002. Lecture Notes in Computer Science, vol 2495. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36103-0_36
Download citation
DOI: https://doi.org/10.1007/3-540-36103-0_36
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-00029-7
Online ISBN: 978-3-540-36103-9
eBook Packages: Springer Book Archive