School of Computing

A Strategy for Compiling Classes, Inheritance, and Dynamic Binding

Adolfo Duran, Ana Cavalcanti, and Augusto Sampaio

In Keijiro Araki, Stefania Gnesi, and Dino Mandrioli, editors, FME 2003: Formal Methods - International Symposium of Formal Methods Europe, number 2805 in LNCS, pages 182-196, Pisa, Italy, September 2003. Formal Methods Europe, the Institute for Informatics Science and Tecnology (ISTI) of the National Research Council of Italy, and CoLogNet, Springer-Verlag.

Abstract

This paper presents a refinement strategy for the compilation of a subset of Java that includes classes, inheritance, dynamic binding, visibility control, and recursion. We tackle the problem of compiler correctness by reducing the task of compilation to that of program refinement. More specifically, refinement laws are used as compilation rules to reduce the source program to a normal form that models an interpreter running the target code. The compilation process is formalized within a single and uniform semantic framework, where translations or comparisons between semantics are avoided. Each compilation rule can be proved correct with respect to the algebraic laws of the language.

Download publication 188 kbytes

Bibtex Record

@inproceedings{1702,
author = {Adolfo Duran and Ana Cavalcanti and Augusto Sampaio},
title = {{A Strategy for Compiling Classes, Inheritance, and Dynamic Binding}},
month = {September},
year = {2003},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {},
doi = {},
url = {http://www.cs.kent.ac.uk/pubs/2003/1702},
    publication_type = {inproceedings},
    submission_id = {24656_1063719430},
    ISBN = {3-540-40828-2},
    booktitle = {FME 2003: Formal Methods - International Symposium of Formal Methods Europe},
    number = {2805},
    series = {LNCS},
    address = {Pisa, Italy},
    organization = {Formal Methods Europe, the Institute for Informatics Science and Tecnology (ISTI) of the National Research Council of Italy, and CoLogNet },
    publisher = {Springer-Verlag},
    ISSN = {0302-9743},
    refereed = {yes},
    editor = {Keijiro Araki and Stefania Gnesi and Dino Mandrioli},
}

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 21/03/2014