Skip to content

ramonfmir/verified_transfo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

421 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Verification of Data Layout Transformations in Coq

Data layout transformations such as array-of-structures to structure-of-arrays, peeling and splitting of records, can lead to significant performance improvement. Yet, these transformations are error-prone and hard to debug. In this work, we aim at formalizing in Coq the correctness of such transformations.

To that end, we consider a C-like language with arrays, records, and pointers. We assign this language both a high-level semantics, where record fields are accessed by name, and a low-level semantics, based on low-level pointers. Ultimately, transformations could be defined as type-directed source-to-source translations. For the moment, to simplify the proof, we describe them as relations, and prove a forward simulation result.

Requirements

The only system requirements to be able to compile the files are:

In order to install the last one we recommend doing it through OPAM and simply add -R $HOME/.opam/4.05.0/lib/coq/user-contrib/TLC TLC in your _CoqProject file.

Authors

About

Verification of Data Layout Transformations in Coq

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors