μετα 2010

Second International Workshop on Metacomputation in Russia
 

July 1-5, 2010, Pereslavl-Zalessky (120 km to the north-east from Moscow), Russia

Home
Call For Papers
News
Submissions
Invited Speakers
Accepted Papers
Program
Photos
Important Dates
Registration
Visa Support
Place
Contacts
History
Posters
Sponsors

 

 

 

 

 

A Simple Supercompiler Formally Verified in Coq

Dimitur Krustev,
IGE+XAO Balkan, Bulgaria

 

Abstract

Full text pdf 370 KB

We study an approach for verifying the correctness of a simplified supercompiler in Coq. While existing supercompilers are not very big in size, they combine many different program transformations in intricate ways, so checking the correctness of their implementation poses challenges. The presented method relies on two important technical features to achieve a compact and modular formalization: first, a very limited object language; second, decomposing the supercompilation process into many sub-transformations, whose correctness can be checked independently. In particular, we give separate correctness proofs for two key parts of driving - normalization and positive information propagation - in the context of a non-Turing-complete expression sub-language. Though our supercompiler is currently limited, its formal correctness proof can give ideas for verifying more realistic implementations.



Presentation pdf 409 KB