Proof-transforming compilation of eiffel programs

6Citations
Citations of this article
4Readers
Mendeley users who have this article in their library.
Get full text

Abstract

In modern development schemes the processing of programs often involves an intermediate step of translation to some intermediate bytecode, complicating the verification task. Expanding on the ideas of Proof-Carrying Code (PCC), we have built a proof-transforming compiler which translates a contract-equipped program and its proof into bytecode representing both the program and the proof; before execution starts, the program will be run through a proof checker. The proofs address not only security properties, as in the original PCC work, but full functional correctness as expressed by the original contracts. The task of the proof-transforming compiler is made particularly challenging by the impedance mismatch between the source language, Eiffel, and the target code,.NET CIL, which does not directly support such important Eiffel mechanisms as multiple inheritance and contract-based exceptions. We present the overall proof-transforming compilation architecture, the issues encountered, and the solutions that have been devised to bridge the impedance mismatch.

Cite

CITATION STYLE

APA

Nordio, M., Müller, P., & Meyer, B. (2008). Proof-transforming compilation of eiffel programs. In Lecture Notes in Business Information Processing (Vol. 11, pp. 316–335). Springer Verlag. https://doi.org/10.1007/978-3-540-69824-1_18

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free