Formalizing and Verifying Semantic Type Soundness of a Simple Compiler (Preliminary Report)

نویسندگان

  • Nick Benton
  • Uri Zarfaty
چکیده

We describe a semantic type soundness result, formalized in the Coq proof assistant, for a compiler from a simple imperative language with heap-allocated data into an idealized assembly language. Types in the high-level language are interpreted as binary relations, built using both second-order quantification and a form of separation structure, over stores and code pointers in the low-level machine.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

SPOTS: A System for Proving Optimizing Transformations Sound

A compiler optimizer analyzes and transforms programs to improve their performance. This allows programmers to focus on functionality of programs without having to bother about efficiency of the generated code. Optimizers have therefore become an integral part of the modern compilers. However, a mistake in the design or the implementation of an optimizer can proliferate in the form of bugs in t...

متن کامل

Mechanized Verification of Computing Dominators for Formalizing Compilers

One prerequisite to the formal verification of modern compilers is to formalize computing dominators, which enable SSA forms, advanced optimizations, and analysis. This paper provides an abstract specification of dominance analysis that is sufficient for formalizing modern compilers; it describes a certified implementation and instance of the specification that is simple to design and reason ab...

متن کامل

Syntactic Control of Interference for Separation Logic (Preliminary Report)

In an important paper in 1978 [26], Reynolds formulated a system of rules for “syntactic control of interference” formalizing the extant conventions for good programming practice in controlling variable aliasing as well as the conventions used in the programming logics formulated by Hoare [11, 12]. The focus of the rules at that time was the use of procedures. However, concurrency poses very mu...

متن کامل

Compiling R: A Preliminary Report

This paper outlines an initial implementation of a byte code compiler for R. The compilation process is illustrated on a simple example. Semantic issues raised by the compilation process are discussed and sketches of the current virtual machine implementation and compiler design are given.

متن کامل

Calculating Certified Compilers for Non-deterministic Languages

Reasoning about programming languages with non-deterministic semantics entails many difficulties. For instance, to prove correctness of a compiler for such a language, one typically has to split the correctness property into a soundness and a completeness part, and then prove these two parts separately. In this paper, we present a set of proof rules to prove compiler correctness by a single pro...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007