Filters








155 Hits in 3.2 sec

Verifying higher-order programs with the dijkstra monad

Nikhil Swamy, Joel Weinberger, Cole Schlesinger, Juan Chen, Benjamin Livshits
2013 SIGPLAN notices  
This paper advocates a new verification methodology for higher-order stateful programs, based on a new monad of predicate transformers called the Dijkstra monad.  ...  Our most extensive case study evaluates the Dijkstra monad and its F implementation by using it to verify JavaScript programs.  ...  Besides higher-order state, a program verifier for JavaScript programs also has to deal with dynamic typing.  ... 
doi:10.1145/2499370.2491978 fatcat:7oacwxzjufctpcv7x6yz3egobu

Verifying higher-order programs with the dijkstra monad

Nikhil Swamy, Joel Weinberger, Cole Schlesinger, Juan Chen, Benjamin Livshits
2013 Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation - PLDI '13  
This paper advocates a new verification methodology for higher-order stateful programs, based on a new monad of predicate transformers called the Dijkstra monad.  ...  Our most extensive case study evaluates the Dijkstra monad and its F implementation by using it to verify JavaScript programs.  ...  Besides higher-order state, a program verifier for JavaScript programs also has to deal with dynamic typing.  ... 
doi:10.1145/2491956.2491978 dblp:conf/pldi/SwamyWSCL13 fatcat:kdy4fwzonfa3xgrbckkee34d7y

Dijkstra Monads for All [article]

Kenji Maillard, Danel Ahman, Robert Atkey, Guido Martinez, Catalin Hritcu, Exequiel Rivas, Éric Tanter
2019 arXiv   pre-print
This paper proposes a general semantic framework for verifying programs with arbitrary monadic side-effects using Dijkstra monads, which we define as monad-like structures indexed by a specification monad  ...  We prove that any monad morphism between a computational monad and a specification monad gives rise to a Dijkstra monad, which provides great flexibility for obtaining Dijkstra monads tailored to the verification  ...  ACKNOWLEDGMENTS We thank Nikhil Swamy and the anonymous reviewers for their feedback. This work was, in part, supported by the European Research Council under ERC Starting Grant SECOMP (715753).  ... 
arXiv:1903.01237v4 fatcat:rpvq42xi3ng3hgyhfd4gz6gybe

Dependent types and multi-monadic effects in F*

Nikhil Swamy, Markulf Kohlweiss, Jean-Karim Zinzindohoue, Santiago Zanella-Béguelin, Cătălin Hriţcu, Chantal Keller, Aseem Rastogi, Antoine Delignat-Lavaud, Simon Forest, Karthikeyan Bhargavan, Cédric Fournet, Pierre-Yves Strub
2016 SIGPLAN notices  
In support of these complementary roles, F ⋆ is a dependently typed, higher-order, call-by-value language with primitive effects including state, exceptions, divergence and IO.  ...  Showcasing its use as a general-purpose programming language, F ⋆ is programmed (but not verified) in F ⋆ , and bootstraps in both OCaml and F#.  ...  We also thank the anonymous reviewers for their helpful feedback.  ... 
doi:10.1145/2914770.2837655 fatcat:evpmdhcdcvgn5bqqr47wlavvna

Dependent types and multi-monadic effects in F*

Nikhil Swamy, Markulf Kohlweiss, Jean-Karim Zinzindohoue, Santiago Zanella-Béguelin, Cătălin Hriţcu, Chantal Keller, Aseem Rastogi, Antoine Delignat-Lavaud, Simon Forest, Karthikeyan Bhargavan, Cédric Fournet, Pierre-Yves Strub
2016 Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - POPL 2016  
In support of these complementary roles, F ⋆ is a dependently typed, higher-order, call-by-value language with primitive effects including state, exceptions, divergence and IO.  ...  Showcasing its use as a general-purpose programming language, F ⋆ is programmed (but not verified) in F ⋆ , and bootstraps in both OCaml and F#.  ...  We also thank the anonymous reviewers for their helpful feedback.  ... 
doi:10.1145/2837614.2837655 dblp:conf/popl/SwamyHKRDFBFSKZ16 fatcat:shgx2ccn6bdori3fazftg4lazq

Dijkstra monads for free

Danel Ahman, Cătălin Hriţcu, Kenji Maillard, Guido Martínez, Gordon Plotkin, Jonathan Protzenko, Aseem Rastogi, Nikhil Swamy
2017 Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages - POPL 2017  
Dijkstra monads are a means by which a dependent type theory can be enhanced with support for reasoning about effectful code.  ...  In this paper we show that Dijkstra monads can be derived "for free" by applying a continuation-passing style (CPS) translation to the standard monadic definitions of the underlying computational effects  ...  We also thank the anonymous reviewers for their helpful feedback. Draft  ... 
doi:10.1145/3009837.3009878 fatcat:kecm3fhvpbgozjkyqu2fmw6m4e

Dijkstra monads for free

Danel Ahman, Cătălin Hriţcu, Kenji Maillard, Guido Martínez, Gordon Plotkin, Jonathan Protzenko, Aseem Rastogi, Nikhil Swamy
2017 SIGPLAN notices  
Dijkstra monads are a means by which a dependent type theory can be enhanced with support for reasoning about effectful code.  ...  In this paper we show that Dijkstra monads can be derived "for free" by applying a continuation-passing style (CPS) translation to the standard monadic definitions of the underlying computational effects  ...  We also thank the anonymous reviewers for their helpful feedback. Draft  ... 
doi:10.1145/3093333.3009878 fatcat:lgg4zn4donflxc5h5zxar36ewq

Dijkstra Monads for Free [article]

Danel Ahman and Catalin Hritcu and Kenji Maillard and Guido Martinez and Gordon Plotkin and Jonathan Protzenko and Aseem Rastogi and Nikhil Swamy
2019 arXiv   pre-print
Dijkstra monads enable a dependent type theory to be enhanced with support for specifying and verifying effectful code via weakest preconditions.  ...  We show that Dijkstra monads can be derived "for free" by applying a continuation-passing style (CPS) translation to the standard monadic definitions of the underlying computational effects.  ...  Acknowledgments We are grateful to Clément Pit-Claudel for all his help with the F interactive mode; to Pierre-Evariste Dagand and Michael Hicks for interesting discussions; and to the anonymous reviewers  ... 
arXiv:1608.06499v3 fatcat:6iiejejmtfftlmgnwxf247zaly

Probabilistic relational verification for cryptographic implementations

Gilles Barthe, Cédric Fournet, Benjamin Grégoire, Pierre-Yves Strub, Nikhil Swamy, Santiago Zanella-Béguelin
2014 Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - POPL '14  
The distinguishing feature of RF ⋆ is a relational Hoare logic for a higher-order, stateful, probabilistic language.  ...  With an eye towards scaling these successes towards end-to-end security proofs for implementations of distributed systems, we present RF ⋆ , a relational extension of F ⋆ , a general-purpose higher-order  ...  The formalization is restricted to programs with first-order store, but in principle it could be extended to programs with higher-order store using an axiomatic extension of Coq [ 44 44] .  ... 
doi:10.1145/2535838.2535847 dblp:conf/popl/BartheFGSSB14 fatcat:nihmvuwh3vgzpgvbdumsouvrhm

Quantum Hoare Type Theory: Extended Abstract

Kartik Singhal, John Reppy
2021 Electronic Proceedings in Theoretical Computer Science  
Inspired by Hoare Type Theory in the classical paradigm, we propose Quantum Hoare Types by extending the Quantum IO Monad by indexing it with pre- and post-conditions that serve as program specifications  ...  QHTT has the potential to be a unified system for programming, specifying, and reasoning about quantum programs. This is a work in progress.  ...  Acknowledgments We thank Robert Rand and the anonymous reviewers for their feedback on a previous draft of this paper.  ... 
doi:10.4204/eptcs.340.15 fatcat:3g5uw77z7zespmlqoyh2g2uy7a

Partiality, Revisited [chapter]

Thorsten Altenkirch, Nils Anders Danielsson, Nicolai Kraus
2017 Lecture Notes in Computer Science  
Using an idea from homotopy type theory - a higher inductive-inductive type - we construct a partiality monad without relying on countable choice.  ...  An alternative is to quotient the delay monad by the "right" notion of equality, weak bisimilarity.  ...  The work presented in Sect. 3.3 was done in collaboration with Paolo Capriotti.  ... 
doi:10.1007/978-3-662-54458-7_31 fatcat:h3yuilkc6zfhtcxd5qioiodxcm

Web Application Security (Dagstuhl Seminar 12401)

Lieven Desmet, Martin Johns, Benjamin Livshits, Andrei Sabelfeld, Marc Herbstritt
2013 Dagstuhl Reports  
The seminar had a well-filled program, with 3 keynotes, 28 research talks, and 15 5-minute talks.  ...  This report documents the program and the outcomes of Dagstuhl Seminar 12401 "Web Application Security".  ...  In Proceedings of the ACM international conference on Object oriented programming systems languages and applications, OOPSLA '12, New '10, pages 126-150.  ... 
doi:10.4230/dagrep.2.10.1 dblp:journals/dagstuhl-reports/DesmetJLS12 fatcat:qkke5ohg6fcblf5prpes3a4znm

The Next 700 Relational Program Logics [article]

Kenji Maillard, Catalin Hritcu, Exequiel Rivas, Antoine Van Muylder
2019 arXiv   pre-print
Finally, we identify and overcome conceptual challenges that prevented previous relational program logics from properly dealing with control effects, and are the first to provide a relational program logic  ...  We propose the first framework for defining relational program logics for arbitrary monadic effects. The framework is embedded within a relational dependent type theory and is highly expressive.  ...  This work was, in part, supported by the European Research Council under ERC Starting Grant SECOMP (715753) and by Nomadic Labs via a grant on the "Evolution, Semantics, and Engineering of the F ⋆ Verification  ... 
arXiv:1907.05244v3 fatcat:72sokhhbwndifi6r53ooeabkdi

Higher-order probabilistic adversarial computations: Categorical semantics and program logics [article]

Alejandro Aguirre, Gilles Barthe, Marco Gaboardi, Deepak Garg, Shin-ya Katsumata, Tetsuya Sato
2021 arXiv   pre-print
In this paper, we develop program logics for reasoning about adversarial computations in a higher-order setting.  ...  Under this view, an adversary is a higher-order expression that expects as arguments the code of its oracles.  ...  Monadic proof rules of our higher-order union bound logic.  ... 
arXiv:2107.01155v1 fatcat:pvfuaokk3rcrtlkd63hdtkzn7i

Bounded Refinement Types [article]

Niki Vazou, Alexander Bakst, Ranjit Jhala
2015 arXiv   pre-print
safe database access, (2) Floyd-Hoare logic within a state transformer monad equipped with combinators for branching and looping, and (3) using the above to implement a refined IO monad that tracks capabilities  ...  We present a notion of bounded quantification for refinement types and show how it expands the expressiveness of refinement typing by using it to develop typed combinators for: (1) relational algebra and  ...  Acknowledgments We thank the anonymous reviewers and Colin Gordon for providing invaluable feedback about earlier drafts of this paper.  ... 
arXiv:1507.00385v1 fatcat:evdu3bplmvgp7jnapz6sydxrnq
« Previous Showing results 1 — 15 out of 155 results