Filters








144 Hits in 4.0 sec

Modular Verification of Programs with Effects and Effect Handlers in Coq [chapter]

Thomas Letan, Yann Régis-Gianas, Pierre Chifflier, Guillaume Hiet
2018 Lecture Notes in Computer Science  
FreeSpec allows for the modular modelling of a complex system, by defining idealized components connected together, and the modular verification of the properties of their composition.  ...  In this article, we introduce FreeSpec, a formalism built upon the key idea that components can be modelled as programs with algebraic effects to be realized by other components.  ...  We want to make them more declarative, so they could be more easily understood by software developers who are less familiar with functional programming and formal verification.  ... 
doi:10.1007/978-3-319-95582-7_20 fatcat:dpet6bo2lfaqzff77kxwexipbi

Mechanical Verification of Interactive Programs Specified by Use Cases

Guillaume Claret, Yann Regis-Gianas
2015 2015 IEEE/ACM 3rd FME Workshop on Formal Methods in Software Engineering  
Our approach generalizes unit-testing techniques and outlines a new method for mechanically assisted checking of effectful functional programs.  ...  To this end we introduce the notion of scenarios, well-typed schema of interactions between an environment and a program. We design and certify a blog system as an illustration.  ...  The algebraic effects and handlers [20] , a generic framework to represent effects in a compositional way in purely functional languages, led to a lot of research about proven safe effectful programs.  ... 
doi:10.1109/formalise.2015.17 dblp:conf/icse/ClaretR15 fatcat:2hots6ulgjcvzi3luddoxhesry

Editorial

Erik de Vink, Ana Cavalcanti
2021 Formal Aspects of Computing  
Modular Verification of Programs with Effects and Effects Handlers by Thomas Letan, Yann Régis-Gianas, Pierre Chifflier, and Guillaume Hiet puts forward an algebraic approach to verification using the  ...  It deals with compositional reasoning based on functional languages, such as that of Coq, in the presence of side effects. The case study is a simplified version of a memory controller.  ...  Editorial We would like to thank all those who contributed to the success of FM 2018, including the whole FLoC team, and, in particular, the PC Chairs, Jan Peleska and Bill Roscoe.  ... 
doi:10.1007/s00165-020-00522-3 fatcat:ix6a6a72ofeebevjzrx7ficasy

FreeSpec: specifying, verifying, and executing impure computations in Coq

Thomas Letan, Yann Régis-Gianas
2020 Proceedings of the 9th ACM SIGPLAN International Conference on Certified Programs and Proofs  
Finally, we introduce Free-Spec.Exec, a plugin for Coq to seamlessly execute certified programs written with FreeSpec. • Theory of computation → Program verification.  ...  FreeSpec is a framework for the Coq theorem prover which allows for specifying and verifying complex systems as hierarchies of components verified both in isolation and in composition.  ...  Algebraic effects and effect handlers led to a lot of research about verification of programs with side effects [5, 6] , but to our surprise, we did not find any approach to write and verify programs  ... 
doi:10.1145/3372885.3373812 dblp:conf/cpp/LetanR20 fatcat:vkpxwmfmu5byhleirudlqsdoda

Modular monadic meta-theory

Benjamin Delaware, Steven Keuchel, Tom Schrijvers, Bruno C.d.S. Oliveira
2013 Proceedings of the 18th ACM SIGPLAN international conference on Functional programming - ICFP '13  
This paper presents 3MT, a framework for modular mechanized meta-theory of languages with effects.  ...  fully mechanized meta-theory. 3MT combines modular datatypes and monads to define denotational semantics with effects on a per-feature basis, without fixing the particular set of effects or language constructs  ...  Acknowledgements We would like to thank the anonymous reviewers for their many comments and suggestions. This work was supported by the National Science Foundation under Grant CCF 0724979.  ... 
doi:10.1145/2500365.2500587 dblp:conf/icfp/DelawareKSO13 fatcat:simsvaoiubay7k2h5modtqylaq

Modular monadic meta-theory

Benjamin Delaware, Steven Keuchel, Tom Schrijvers, Bruno C.d.S. Oliveira
2013 SIGPLAN notices  
This paper presents 3MT, a framework for modular mechanized meta-theory of languages with effects.  ...  fully mechanized meta-theory. 3MT combines modular datatypes and monads to define denotational semantics with effects on a per-feature basis, without fixing the particular set of effects or language constructs  ...  Acknowledgements We would like to thank the anonymous reviewers for their many comments and suggestions. This work was supported by the National Science Foundation under Grant CCF 0724979.  ... 
doi:10.1145/2544174.2500587 fatcat:4567p3fqvjgqhovzce6zesldqi

Impredicative Concurrent Abstract Predicates [chapter]

Kasper Svendsen, Lars Birkedal
2014 Lecture Notes in Computer Science  
We demonstrate the utility of impredicative protocols through a series of examples, including the specification and verification, in the logic, of a spin-lock, a reentrant event loop, and a concurrent  ...  We present impredicative concurrent abstract predicates -iCAP -a program logic for modular reasoning about concurrent, higherorder, reentrant, imperative code.  ...  This research was supported in part by the ModuRes Sapere Aude Advanced Grant from The Danish Council for Independent Research for the Natural Sciences (FNU).  ... 
doi:10.1007/978-3-642-54833-8_9 fatcat:dypg5jxw6nek5girya4ylhqkte

Interaction trees: representing recursive and impure programs in Coq

Li-yao Xia, Yannick Zakowski, Paul He, Chung-Kil Hur, Gregory Malecha, Benjamin C. Pierce, Steve Zdancewic
2019 Proceedings of the ACM on Programming Languages (PACMPL)  
"Interaction trees" (ITrees) are a general-purpose data structure for representing the behaviors of recursive programs that interact with their environments.  ...  We have implemented ITrees and their associated theory as a Coq library, mechanizing classic domain- and category-theoretic results about program semantics, iteration, monadic structures, and equational  ...  RELATING ITREES AND TRACE-BASED SEMANTICS In this paper, we have shown that ITrees give a way of defining denotational semantics for possiblydiverging, effectful programs in Coq.  ... 
doi:10.1145/3371119 fatcat:fps45iyt5ng2nmacyzw5qkggvy

The Confinement Problem in the Presence of Faults [chapter]

William L. Harrison, Adam Procter, Gerard Allwein
2012 Lecture Notes in Computer Science  
Our formalization of the equational system in the Coq theorem prover is discussed.  ...  Our approach extends Moggi's computational λ-calculus in two dimensions with operations for asynchronous concurrency, shared state and software faults and with an effect type systemà la Wadler providing  ...  Previous work [14] explored the application of modular monadic semantics to the design and verification of separation kernels.  ... 
doi:10.1007/978-3-642-34281-3_15 fatcat:tvwcr5rpevhyrmyjqfwasua6ku

PhD Abstracts

GRAHAM HUTTON
2021 Journal of functional programming  
Many students complete PhDs in functional programming each year.  ...  As a service to the community, twice per year the Journal of Functional Programming publishes the abstracts from PhD dissertations completed during the previous year.  ...  We put these considerations into practice by formalizing the O notation in the Coq proof assistant, and by extending an existing program verification framework with a methodology for establishing robust  ... 
doi:10.1017/s0956796820000301 fatcat:367tiqw6ovfi3mwokevs2e4whe

PhD Abstracts

GRAHAM HUTTON
2017 Journal of functional programming  
Many students complete PhDs in functional programming each year.  ...  As a service to the community, the Journal of Functional Programming publishes the abstracts from PhD dissertations completed during the previous year.  ...  Type-and-effect systems are a powerful tool for program construction and verification.  ... 
doi:10.1017/s0956796817000089 fatcat:p2yk5sbqazcuriv33wdtzekcc4

Planning for change in a formal verification of the raft consensus protocol

Doug Woos, James R. Wilcox, Steve Anton, Zachary Tatlock, Michael D. Ernst, Thomas Anderson
2016 Proceedings of the 5th ACM SIGPLAN Conference on Certified Programs and Proofs - CPP 2016  
The primary challenge we faced during the verification process was proof maintenance, since proving one invariant often required strengthening and updating other parts of our proof.  ...  We present the first formal verification of state machine safety for the Raft consensus protocol, a critical component of many distributed systems.  ...  Bedrock [6] , Ynot [27] , and the Verified Software Toolchain [1] are verification frameworks based on separation logic and are useful for verifying imperative programs in Coq.  ... 
doi:10.1145/2854065.2854081 dblp:conf/cpp/WoosWATEA16 fatcat:76ddfebqyng4zm64bzoyhhugzq

Position paper: the science of deep specification

Andrew W. Appel, Lennart Beringer, Adam Chlipala, Benjamin C. Pierce, Zhong Shao, Stephanie Weirich, Steve Zdancewic
2017 Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences  
relations in the Coq proof assistant.  ...  (ii) Each transformation is programmed in Coq's functional language Gallina and proved to preserve safety and functional correctness with respect to its two enclosing interfaces.  ...  We thank the graduate students and post-doctoral researchers of our research groups for their contributions, and our external academic and industrial collaborators for their participation.  ... 
doi:10.1098/rsta.2016.0331 pmid:28871056 fatcat:ztgho4isajbchi4bghlegxns7m

Verifying a Minimalist Reverse-Mode AD Library [article]

Paulo Emílio de Vilhena, François Pottier
2021 arXiv   pre-print
By exploiting a number of relatively subtle programming language features, including dynamically-allocated mutable state, first-class functions, and effect handlers, reverse-mode automatic differentiation  ...  We view this result as an advanced exercise in program verification, with potential future applications to more realistic automatic differentiation systems.  ...  We view this as a nontrivial exercise in modular program verification and an illustration of the power of Separation Logic, in the presence of mutable state, higher-order functions, and effect handlers  ... 
arXiv:2112.07292v1 fatcat:a3kexzvubfek7l2ivcqpdkm5nu

Clean-Slate Development of Certified OS Kernels

Zhong Shao
2015 Proceedings of the 2015 Conference on Certified Programs and Proofs - CPP '15  
We advocate a modular certification framework for kernel components, which mirrors and enhances the modularity of the kernel itself.  ...  Proof assistants with a richer meta logic (e.g., Coq [54]), however, provide poor support for automation.  ...  In their PLDI'07 paper [10] , Shao and his student have successfully developed a set of DSLs for supporting modular verification of general von-Neumann machine code with runtime code manipulation.  ... 
doi:10.1145/2676724.2693180 dblp:conf/cpp/Shao15 fatcat:ffiwrhqsdnbcflselj27eevbre
« Previous Showing results 1 — 15 out of 144 results