Filters








46 Hits in 2.4 sec

A new verified compiler backend for CakeML

Yong Kiam Tan, Magnus O. Myreen, Ramana Kumar, Anthony Fox, Scott Owens, Michael Norrish
2016 SIGPLAN notices  
We have developed and mechanically verified a new compiler backend for CakeML.  ...  Our new compiler features a sequence of intermediate languages that allows it to incrementally compile away high-level features and enables verification at the right levels of semantic detail.  ...  Acknowledgments We thank Mike Gordon, Konrad Slind and the anonymous reviewers for their helpful comments on drafts of this paper.  ... 
doi:10.1145/3022670.2951924 fatcat:xlgjtszrsne37ga7psuyr3e72a

A new verified compiler backend for CakeML

Yong Kiam Tan, Magnus O. Myreen, Ramana Kumar, Anthony Fox, Scott Owens, Michael Norrish
2016 Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming - ICFP 2016  
We have developed and mechanically verified a new compiler backend for CakeML.  ...  Our new compiler features a sequence of intermediate languages that allows it to incrementally compile away high-level features and enables verification at the right levels of semantic detail.  ...  Acknowledgments We thank Mike Gordon, Konrad Slind and the anonymous reviewers for their helpful comments on drafts of this paper.  ... 
doi:10.1145/2951913.2951924 dblp:conf/icfp/TanMKFON16 fatcat:hvqujr36nnaebpprqbiu2j2r7m

The verified CakeML compiler backend

YONG KIAM TAN, MAGNUS O. MYREEN, RAMANA KUMAR, ANTHONY FOX, SCOTT OWENS, MICHAEL NORRISH
2019 Journal of functional programming  
AbstractThe CakeML compiler is, to the best of our knowledge, the most realistic verified compiler for a functional programming language to date.  ...  The generated machine code contains the verified runtime system which includes a verified generational copying garbage collector and a verified arbitrary precision arithmetic (bignum) library.  ...  We thank the anonymous reviewers for their helpful comments on drafts of this paper, and are grateful for good comments by Mike Gordon and Konrad Slind The Verified CakeML Compiler Backend 55 on the conference  ... 
doi:10.1017/s0956796818000229 fatcat:har5hbuhhvb5fj5q4ayefxzujq

A Verified Generational Garbage Collector for CakeML [chapter]

Adam Sandberg Ericsson, Magnus O. Myreen, Johannes Åman Pohjola
2017 Lecture Notes in Computer Science  
This paper presents the verification of a generational copying garbage collector for the CakeML runtime system. The proof is split into an algorithm proof and an implementation proof.  ...  The development has been fully integrated into the in-logic bootstrapped CakeML compiler, which now includes command-line arguments that allow configuration of the generational collector.  ...  We thank Ramana Kumar for comments on drafts of this text. This work was partly supported by the Swedish Research Council and the Swedish Foundation for Strategic Research.  ... 
doi:10.1007/978-3-319-66107-0_28 fatcat:bvuoza447vbjlesnrbw54gdomi

Automatically Introducing Tail Recursion in CakeML [chapter]

Oskar Abrahamsson, Magnus O. Myreen
2018 Lecture Notes in Computer Science  
CakeML is a strongly typed functional language based on Standard ML with call-by-value semantics and a fully verified compiler.  ...  We integrate our implementation with the existing structure of the CakeML compiler, and provide a machine-checked proof verifying that the observational semantics of programs is preserved under the transformation  ...  I would also like to thank my examiner Carlo A. Furia for providing valuable feedback during the writing  ... 
doi:10.1007/978-3-319-89719-6_7 fatcat:qnh7mbhpbvay5idohqfcrmujoe

A Verified Generational Garbage Collector for CakeML

Adam Sandberg Ericsson, Magnus O. Myreen, Johannes Åman Pohjola
2018 Journal of automated reasoning  
This paper presents the verification of a generational copying garbage collector for the CakeML runtime system. The proof is split into an algorithm proof and an implementation proof.  ...  The development has been fully integrated into the in-logic bootstrapped CakeML compiler, which now includes command-line arguments that allow configuration of the generational collector.  ...  Acknowledgements We thank Ramana Kumar and the anonymous reviewers for many helpful comments on drafts of this text.  ... 
doi:10.1007/s10817-018-9487-z fatcat:77mk3h46urdj5nf5g4q4qft2uy

Verifying efficient function calls in CakeML

Scott Owens, Michael Norrish, Ramana Kumar, Magnus O. Myreen, Yong Kiam Tan
2017 Proceedings of the ACM on Programming Languages  
We have designed an intermediate language (IL) for the CakeML compiler that supports the veriied, eicient compilation of functions and calls.  ...  Finally, we verify the translation to a lower-level IL that only supports closed, irst-order functions. These compilation steps resemble those found in other compilers (especially OCaml).  ...  ; and the ifth author was supported by an A*STAR National Science Scholarship (PhD), Singapore.  ... 
doi:10.1145/3110262 dblp:journals/pacmpl/OwensNKMT17 fatcat:nlcvrpdqrzcyboe36sfhkwnwja

A Verified Compiler from Isabelle/HOL to CakeML [chapter]

Lars Hupel, Tobias Nipkow
2018 Lecture Notes in Computer Science  
Except for the HOL4 system, which has a proof producing code generator for a subset of ML. We go one step further and provide a verified compiler from Isabelle/HOL to CakeML.  ...  More precisely we combine a simple proof producing translation of recursion equations in Isabelle/HOL into a deeply embedded term language with a fully verified compilation chain to the target language  ...  CakeML CakeML is a verified implementation of a subset of Standard ML [24, 40] . It comprises a parser, type checker, formal semantics and backend for machine code.  ... 
doi:10.1007/978-3-319-89884-1_35 fatcat:f5qgndowbnhypaaus2ppkjkva4

Characteristic Formulae for Liveness Properties of Non-Terminating CakeML Programs

Johannes Åman Pohjola, Henrik Rostedt, Magnus O. Myreen, Michael Wagner
2019 International Conference on Interactive Theorem Proving  
This work has been developed in the HOL4 theorem prover and has been integrated into the ecosystem of proof tools surrounding the CakeML programming language.  ...  This paper shows how a Hoare-like programming logic framework (characteristic formulae) can be extended to enable reasoning about the I/O behaviour of programs that do not terminate.  ...  Acknowledgements We are grateful to Robert Sison and the anonymous reviewers for many constructive and insightful comments.  ... 
doi:10.4230/lipics.itp.2019.32 dblp:conf/itp/PohjolaRM19 fatcat:csu4bmj6nze7lpfxg6jsejl4pi

Lem

Dominic P. Mulligan, Scott Owens, Kathryn E. Gray, Tom Ridge, Peter Sewell
2014 Proceedings of the 19th ACM SIGPLAN international conference on Functional programming - ICFP '14  
We introduce Lem, a language for engineering reusable largescale semantic models.  ...  This requires a delicate balance of expressiveness, careful library design, and implementation of transformations -akin to compilation, but subject to the constraint of producing usable and human-readable  ...  the users of Lem for their feedback.  ... 
doi:10.1145/2628136.2628143 dblp:conf/icfp/MulliganOGRS14 fatcat:jsndgoc5krcf7gd5scjm4h673u

Lem

Dominic P. Mulligan, Scott Owens, Kathryn E. Gray, Tom Ridge, Peter Sewell
2014 SIGPLAN notices  
We introduce Lem, a language for engineering reusable largescale semantic models.  ...  This requires a delicate balance of expressiveness, careful library design, and implementation of transformations -akin to compilation, but subject to the constraint of producing usable and human-readable  ...  the users of Lem for their feedback.  ... 
doi:10.1145/2692915.2628143 fatcat:hk5t5bloa5b6bjdcq3fw2jtmqu

Hardware/Software Co-Assurance using the Rust Programming Language and ACL2

David Hardin
2022 Electronic Proceedings in Theoretical Computer Science  
A Rust-based HLS brings a single modern, type-safe, and memory-safe expression language for both hardware and software realizations with high assurance.  ...  As a a study of the suitability of Rust as an HLS, we have crafted a Rust subset, inspired by Russinoff's Restricted Algorithmic C (RAC), which we have imaginatively named Restricted Algorithmic Rust,  ...  Many thanks to Mike Whalen of Amazon for formulating the original version of the Arrayset example while a Collins employee; to John Hatcliff of Kansas State University for taking on the Arrayset example  ... 
doi:10.4204/eptcs.359.16 fatcat:2asiptbndfe37h6rp64c6sn7ty

Metamath Zero: The Cartesian Theorem Prover [article]

Mario Carneiro
2020 arXiv   pre-print
Ultimately, we intend to use it to verify the correctness of the implementation of the verifier down to binary executable, so it can be used as a root of trust for more complex proof systems.  ...  Metamath Zero is a verification system that aims for simplicity of logic and implementation, without compromising on efficiency of verification.  ...  This work was supported in part by AFOSR grant FA9550-18-1-0120 and a grant from the Sloan Foundation.  ... 
arXiv:1910.10703v3 fatcat:7chlzmh6hzbmxntpo2q3nyha5m

Lightweight verification of separate compilation

Jeehoon Kang, Yoonseung Kim, Chung-Kil Hur, Derek Dreyer, Viktor Vafeiadis
2016 Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - POPL 2016  
The first and second authors have been supported by Korea Foundation for Advanced Studies Scholarships. We thank Jim Apple and Xavier Leroy for helpful feedback.  ...  For instance, CakeML [9] is a verified compiler for a significant subset of Standard ML, implemented in HOL4.  ...  We believe in principle it should be possible to use our techniques to adapt CakeML to verify correctness of separate compilation, because CakeML is not an optimizing compiler and in particular does not  ... 
doi:10.1145/2837614.2837642 dblp:conf/popl/KangKHDV16 fatcat:zudleyob3fadtf2as7c3anglq4

Lightweight verification of separate compilation

Jeehoon Kang, Yoonseung Kim, Chung-Kil Hur, Derek Dreyer, Viktor Vafeiadis
2016 SIGPLAN notices  
The first and second authors have been supported by Korea Foundation for Advanced Studies Scholarships. We thank Jim Apple and Xavier Leroy for helpful feedback.  ...  For instance, CakeML [9] is a verified compiler for a significant subset of Standard ML, implemented in HOL4.  ...  We believe in principle it should be possible to use our techniques to adapt CakeML to verify correctness of separate compilation, because CakeML is not an optimizing compiler and in particular does not  ... 
doi:10.1145/2914770.2837642 fatcat:thchabs7mnc4vpxuydl2a7b2ji
« Previous Showing results 1 — 15 out of 46 results