Filters








53 Hits in 1.2 sec

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.  ...  In this paper, we present the overall design of the compiler backend, including its 12 intermediate languages.  ...  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 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.  ...  The compiler targets several architectures: x86-64, ARMv6, ARMv8, MIPS-64, and RISC-V.  ...  The second author was partially supported by the Swedish Research Council, Sweden; the fourth author was partially supported by EPSRC Programme Grant EP/K008528/1, UK; and the fifth author was partially  ... 
doi:10.1145/2951913.2951924 dblp:conf/icfp/TanMKFON16 fatcat:hvqujr36nnaebpprqbiu2j2r7m

A Verified Generational Garbage Collector for CakeML [chapter]

Adam Sandberg Ericsson, Magnus O. Myreen, Johannes Åman Pohjola
2017 Lecture Notes in Computer Science  
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.  ...  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.  ...  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  
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  ...  CakeML is a strongly typed functional language based on Standard ML with call-by-value semantics and a fully verified compiler.  ...  to the CakeML project.  ... 
doi:10.1007/978-3-319-89719-6_7 fatcat:qnh7mbhpbvay5idohqfcrmujoe

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.  ...  The compiler targets several architectures: x86-64, ARMv6, ARMv8, MIPS-64, and RISC-V.  ...  The second author was partially supported by the Swedish Research Council, Sweden; the fourth author was partially supported by EPSRC Programme Grant EP/K008528/1, UK; and the fifth author was partially  ... 
doi:10.1145/3022670.2951924 fatcat:xlgjtszrsne37ga7psuyr3e72a

A Verified Generational Garbage Collector for CakeML

Adam Sandberg Ericsson, Magnus O. Myreen, Johannes Åman Pohjola
2018 Journal of automated reasoning  
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.  ...  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.  ...  This work was partly supported by the Swedish Research Council and the Swedish Foundation for Strategic Research.  ... 
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 verified, efficient compilation of functions and calls.  ...  Finally, we verify the translation to a lower-level IL that only supports closed, first-order functions. These compilation steps resemble those found in other compilers (especially OCaml).  ...  ACKNOWLEDGMENTS The first author was partly supported by EPSRC Grant EP/N028759/1, UK; the fourth author was partly supported by the Swedish Foundation for Strategic Research and the Swedish Research Council  ... 
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.  ...  The approach is inspired by transfinite induction rather than coinduction, and does not require non-terminating loops to be productive.  ...  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  
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  ...  Building these models is challenging, requiring experimentation, dialogue with vendors or standards bodies, and validation; their scale adds engineering issues akin to those of programming to the task  ...  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  
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  ...  Building these models is challenging, requiring experimentation, dialogue with vendors or standards bodies, and validation; their scale adds engineering issues akin to those of programming to the task  ...  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  
RAR, with proofs of correctness conducted using the ACL2 theorem prover.  ...  In this paper, we describe the RAR Rust subset, detail our prototype RAR toolchain, and describe the implementation and verification of several representative algorithms and data structures written in  ...  The views, opinions and/or findings expressed are those of the authors and should not be interpreted as representing the official views or policies of the Department of Defense or the U.S.  ... 
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.  ...  As the usage of theorem prover technology expands, so too does the reliance on correctness of the tools.  ...  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  
Acknowledgements This research has been supported in part by the ICT R&D program of MSIP/IITP (Grant R0132-15-1006), and in part by EC FET project ADVENT (308830).  ...  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.  ...  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  
Acknowledgements This research has been supported in part by the ICT R&D program of MSIP/IITP (Grant R0132-15-1006), and in part by EC FET project ADVENT (308830).  ...  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.  ...  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 53 results