Filters








12 Hits in 7.1 sec

Ready, Set, Verify! Applying hs-to-coq to real-world Haskell code [article]

Joachim Breitner and Antal Spector-Zabusky and Yao Li and Christine Rizkallah and John Wiegley and Stephanie Weirich
2018 arXiv   pre-print
Our work shows that it is feasible to verify mature, widely-used, highly optimized, and unmodified Haskell code.  ...  We use hs-to-coq to translate significant portions of Haskell's containers library into Coq, and verify it against specifications that we derive from a variety of sources including type class laws, the  ...  • We demonstrate that hs-to-coq is suitable for the verification of unmodified, real-world Haskell libraries.  ... 
arXiv:1803.06960v2 fatcat:bgigt7yjivcqrffegj3tllnl3m

Ready, set, verify! applying hs-to-coq to real-world Haskell code (experience report)

Joachim Breitner, Antal Spector-Zabusky, Yao Li, Christine Rizkallah, John Wiegley, Stephanie Weirich
2018 Proceedings of the ACM on Programming Languages  
In this work, we use hs-to-coq to translate and verify the two finite set data structures from Haskell's containers package. 1 This codebase is not a toy.  ...  Our work shows that it is feasible to verify mature, widely-used, highly optimized, and unmodified Haskell code.  ...  Ready, Set, Verify! Applying hs-to-coq to Real-World Haskell Code 89:3 data Set a = Bin {-# UNPACK #-} !Size !a !(Set a) !  ... 
doi:10.1145/3236784 dblp:journals/pacmpl/BreitnerSLRWW18 fatcat:y3m367mjffflxcrj2bru2rk554

A Multipurpose Formal RISC-V Specification [article]

Thomas Bourgeat, Ian Clester, Andres Erbsen, Samuel Gruetter, Andrew Wright, Adam Chlipala
2021 arXiv   pre-print
We set out to identify the commonalities between projects and to represent the RISC-V specification as a program with holes that can be instantiated differently by different projects.  ...  Our formalization of the RISC-V specification is written in Haskell and leverages existing tools rather than requiring new domain-specific tools, contrary to other approaches.  ...  and systems to turn minimal experiments into more real-world projects.  ... 
arXiv:2104.00762v1 fatcat:4zqwz2b7yjedzch4wdoojqmoma

A Formal Analysis of the Mimblewimble Cryptocurrency Protocol

Adrián Silveira, Gustavo Betarte, Maximiliano Cristiá, Carlos Luna
2021 Sensors  
[Review 3]where simulations can be run This allows us to analyze the behavior of the protocol without having to implement it in a low level programming language.  ...  We present and discuss those properties and outline the basis of a model-driven verification approach to address the certification of the correctness of the protocol implementations.  ...  By applying the program extraction mechanism provided by Coq we would be able to derive a certified Haskell prototype of the protocol.  ... 
doi:10.3390/s21175951 pmid:34502842 pmcid:PMC8434605 fatcat:qr2o673tnfa2ndujtay6rsw2ya

Authors' Contact Details [chapter]

Alli Mcharazo, Sjoerd Koopman
2007 IFLA Publications Series  
Sometimes there will be an opportunity to explain to the children how a particular problem applies to the real world, but often it will suffice for children to see the elegance of a solution, or appreciate  ...  The key concept here is the mapping of controls to their results in the real world.  ...  Secret codes. Summary Encryption is the key to information security.  ... 
doi:10.1515/9783598440250.13 fatcat:ny57dig4ifejtinrxztoszyebu

AUTHOR'S CONTACT DETAILS [chapter]

Benson Njobvu, Sjoerd Koopman
2008 IFLA Publications Series  
Sometimes there will be an opportunity to explain to the children how a particular problem applies to the real world, but often it will suffice for children to see the elegance of a solution, or appreciate  ...  The key concept here is the mapping of controls to their results in the real world.  ...  Secret codes. Summary Encryption is the key to information security.  ... 
doi:10.1515/9783598441257.13 fatcat:ggrwkqdhljc7ddcn7flsnrpbfm

LIPIcs, Volume 188, TYPES 2020, Complete Volume [article]

Ugo de'Liguoro, Stefano Berardi, Thorsten Altenkirch
2021
search process that, if not completed, does not fail to apply bottom-up an inference rule, so it may be an infinite object); (ii) two typed λ-calculi are developed for the effect, one being obtained by  ...  Acknowledgements We thank Enrico Tassi for his help with Coq-Elpi. His comments and those of the anonymous reviewers on an early draft of this paper have also been very helpful.  ...  ready to define the true construction of inductive types El : Code → U i .  ... 
doi:10.4230/lipics.types.2020 fatcat:qlbs2felejcvrfgqts3g7iyaqy

Certificates for Incremental Type Checking

Matthias <1983> Puech, Andrea Asperti, Hugo Herbelin
2013
A type checking algorithm takes a program or a proof, represented as a syntactical object, and checks its validity with respect to a specification or a statement.  ...  Coq.  ...  the type world.  ... 
doi:10.6092/unibo/amsdottorato/5870 fatcat:ewdczk4eufeutmuokihe6uyoy4

Dagstuhl Reports, Volume 8, Issue 5, May 2018, Complete Issue [article]

2019
Inter-Vehicular Communication Towards Cooperative Driving Jhala where a restricted computational model is shown to be sufficient to verify correctness assertions for several distributed problems.  ...  I will discuss work on layering analysis for consensus, generalizations to other problems using topology [1], and iterated models together with recursive distributed algorithms [3, 4] .  ...  Our work uses the hs-to-coq tool to translate the source code of GHC from Haskell into Gallina, the language of the Coq proof assistant, taking advantage of the similarity between the languages.  ... 
doi:10.4230/dagrep.8.5 fatcat:ox2bnkgkxvaptog2okwownej3m

LIPIcs, Volume 97, TYPES'16, Complete Volume [article]

Silvia Ghilezan, Herman Geuvers, Jelena Ivetić
2018
Acknowledgements Thanks go to Sergei Soloviev for extremely helpful remarks on this work during his visit to Royal Holloway and the anonymous referees for their helpful comments.  ...  Acknowledgements We would like to thank the referees for their invaluable suggestions and detailed comments.  ...  Formally verifying the 1900 lines of the nucleus code is still a tall order to handle, and at present we have no plans to do it.  ... 
doi:10.4230/lipics.types.2016 fatcat:abicdkmgbzebpkjwhrunsgjjim

Engineering with logic: Rigorous test-oracle specification and validation for TCP/IP and the Sockets API

S Bishop, M Fairbairn, H Mehnert, M Norrish, T Ridge, Peter Sewell, M Smith, K Wansbrough, Apollo-University Of Cambridge Repository, Apollo-University Of Cambridge Repository
2019
This paper reports on work done in the \emph{Netsem} project to develop lightweight mathematically rigorous techniques that can be applied to such systems: to specify their behaviour precisely (but loosely  ...  means for an implementation to be correct.  ...  thousand real-world traces chosen to cover a wide range of their behaviour.  ... 
doi:10.17863/cam.34900 fatcat:uucsze7tcrdg5ohrbdxqlnr34y

Variations on a theme of Curry and Howard : the Curry-Howard isomorphism and the proofs-as-programs paradigm adapted to imperative and structured program synthesis

Poernomo, Iman Hafiz, 1976-
2017
Parts III and IV of this thesis are an applications of the protocol, and can be seen as a further argument for the separation of proofs from programs, to achieve a practical approaches to constructive  ...  The idea of separating proofs is essential to the Curry-Howard protocol, identified by Crossley and the author in [PC01], and described in Part II of this thesis.  ...  (V-E) on (2.55), setting v to /s£(extract| nt (a)), then apply (V-E), setting x u to snd(extract| nt (a)), and then apply (=£-E) on the result, instantiating with (2.56): 1 2 : (2.55) (V-E) :  ... 
doi:10.4225/03/59c9fe4995db8 fatcat:xtbydkjgrrb2xh6n75nvery7ka