A copy of this work was available on the public web and has been preserved in the Wayback Machine. The capture dates from 2020; you can also visit the original URL.
The file type is application/pdf
.
Filters
A new verified compiler backend for CakeML
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
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
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]
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]
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
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
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]
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
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
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
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
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]
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
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
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