• research-article
    The next 700 relational program logics
    • Kenji Maillard

      Inria, France / ENS, France

      ,
    • Cătălin Hriţcu

      Inria, France

      ,
    • Exequiel Rivas

      Inria, France

      ,
    • Antoine Van Muylder

      Inria, France / University of Paris, France

    December 2019pp 1-33 https://doi.org/10.1145/3371072

    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. At the semantic level, we provide an algebraic ...

  • research-article
    Dijkstra monads for all
    • Kenji Maillard

      Inria, France / ENS, France

      ,
    • Danel Ahman

      University of Ljubljana, Slovenia

      ,
    • Robert Atkey

      University of Strathclyde, UK

      ,
    • Guido Martínez

      CIFASIS-CONICET, Argentina

      ,
    • Cătălin Hriţcu

      Inria, France

      ,
    • Exequiel Rivas

      Inria, France

      ,
    • Éric Tanter

      University of Chile, Chile / Inria, France

    July 2019pp 1-29 https://doi.org/10.1145/3341708

    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 ...

  • research-article
    When Good Components Go Bad: Formally Secure Compilation Despite Dynamic Compromise
    • Carmine Abate

      Inria Paris & University of Trento, Paris, France

      ,
    • Arthur Azevedo de Amorim

      Carnegie Mellon University, Pittsburgh, PA, USA

      ,
    • Roberto Blanco

      Inria Paris, Paris, France

      ,
    • Ana Nora Evans

      Inria Paris & University of Virginia, Charlottesville, VA, USA

      ,
    • Guglielmo Fachini

      Inria Paris, Paris, France

      ,
    • Catalin Hritcu

      Inria Paris, Paris, France

      ,
    • Théo Laurent

      Inria Paris & ENS Paris, Paris, France

      ,
    • Benjamin C. Pierce

      University of Pennsylvania, Philadelphia, PA, USA

      ,
    • Marco Stronati

      Inria Paris, Paris, France

      ,
    • Andrew Tolmach

      Portland State University, Portland, OR, USA

    October 2018pp 1351-1368 https://doi.org/10.1145/3243734.3243745

    We propose a new formal criterion for evaluating secure compilation schemes for unsafe languages, expressing end-to-end security guarantees for software components that may become compromised after encountering undefined behavior---for example, by ...

  • research-article
    A monadic framework for relational verification: applied to information security, program equivalence, and optimizations
    • Niklas Grimm

      Vienna University of Technology, Austria

      ,
    • Kenji Maillard

      Inria, France / ENS Paris, France

      ,
    • Cédric Fournet

      Microsoft Research, UK

      ,
    • Cătălin Hriţcu

      Inria, France

      ,
    • Matteo Maffei

      Vienna University of Technology, Austria

      ,
    • Jonathan Protzenko

      Microsoft Research, USA

      ,
    • Tahina Ramananandro

      Microsoft Research, USA

      ,
    • Aseem Rastogi

      Microsoft Research, India

      ,
    • Nikhil Swamy

      Microsoft Research, USA

      ,
    • Santiago Zanella-Béguelin

      Microsoft Research, UK

    January 2018pp 130-145 https://doi.org/10.1145/3167090

    Relational properties describe multiple runs of one or more programs. They characterize many useful notions of security, program refinement, and equivalence for programs with diverse computational effects, and they have received much attention in the ...

  • research-article
    Recalling a witness: foundations and applications of monotonic state
    • Danel Ahman

      Inria, France

      ,
    • Cédric Fournet

      Microsoft Research, UK

      ,
    • Cătălin Hriţcu

      Inria, France

      ,
    • Kenji Maillard

      Inria, France / ENS Paris, France

      ,
    • Aseem Rastogi

      Microsoft Research, India

      ,
    • Nikhil Swamy

      Microsoft Research, USA

    December 2017pp 1-30 https://doi.org/10.1145/3158153

    We provide a way to ease the verification of programs whose state evolves monotonically. The main idea is that a property witnessed in a prior state can be soundly recalled in the current state, provided (1) state evolves according to a given preorder, ...

  • research-article
    Verified low-level programming embedded in F*
    • Jonathan Protzenko

      Microsoft Research, USA

      ,
    • Jean-Karim Zinzindohoué

      Inria, France

      ,
    • Aseem Rastogi

      Microsoft Research, USA

      ,
    • Tahina Ramananandro

      Microsoft Research, USA

      ,
    • Peng Wang

      Massachusetts Institute of Technology, USA

      ,
    • Santiago Zanella-Béguelin

      Microsoft Research, USA

      ,
    • Antoine Delignat-Lavaud

      Microsoft Research, USA

      ,
    • Cătălin Hriţcu

      Inria, France

      ,
    • Karthikeyan Bhargavan

      Inria, France

      ,
    • Cédric Fournet

      Microsoft Research, USA

      ,
    • Nikhil Swamy

      Microsoft Research, USA

    August 2017pp 1-29 https://doi.org/10.1145/3110261

    We present Low*, a language for low-level programming and verification, and its application to high-assurance optimized cryptographic libraries. Low* is a shallow embedding of a small, sequential, well-behaved subset of C in F*, a dependently- typed ...

  • research-article
    Dijkstra monads for free
    • Danel Ahman

      University of Edinburgh, UK / Microsoft Research, USA

      ,
    • Cătălin Hriţcu

      Inria, France / Microsoft Research, USA

      ,
    • Kenji Maillard

      Inria, France / ENS, France / Microsoft Research, USA

      ,
    • Guido Martínez

      Inria, France / Rosario National University, Argentina

      ,
    • Gordon Plotkin

      University of Edinburgh, UK / Microsoft Research, USA

      ,
    • Jonathan Protzenko

      Microsoft Research, USA

      ,
    • Aseem Rastogi

      Microsoft Research, India

      ,
    • Nikhil Swamy

      Microsoft Research, USA

    January 2017pp 515-529 https://doi.org/10.1145/3009837.3009878

    Dijkstra monads enable a dependent type theory to be enhanced with support for specifying and verifying effectful code via weakest preconditions. Together with their closely related counterparts, Hoare monads, they provide the basis on which ...

  • research-article
    Beginner's luck: a language for property-based generators
    • Leonidas Lampropoulos

      University of Pennsylvania, USA

      ,
    • Diane Gallois-Wong

      Inria, France / ENS, France

      ,
    • Cătălin Hriţcu

      Inria, France

      ,
    • John Hughes

      Chalmers University of Technology, Sweden

      ,
    • Benjamin C. Pierce

      University of Pennsylvania, USA

      ,
    • Li-yao Xia

      Inria, France / ENS, France

    January 2017pp 114-129 https://doi.org/10.1145/3009837.3009868

    Property-based random testing à la QuickCheck requires building efficient generators for well-distributed random data satisfying complex logical predicates, but writing these generators can be difficult and error prone. We propose a domain-specific ...

  • research-article
    Dependent types and multi-monadic effects in F*
    • Nikhil Swamy

      Microsoft Research, USA

      ,
    • Cătălin Hriţcu

      Inria, France

      ,
    • Chantal Keller

      Microsoft Research, USA / Inria, France

      ,
    • Aseem Rastogi

      University of Maryland, USA

      ,
    • Antoine Delignat-Lavaud

      Inria, France / ENS, France

      ,
    • Simon Forest

      Inria, France / ENS, France

      ,
    • Karthikeyan Bhargavan

      Inria, France

      ,
    • Cédric Fournet

      Microsoft Research, USA / Inria, France

      ,
    • Pierre-Yves Strub

      IMDEA Software Institute, Spain

      ,
    • Markulf Kohlweiss

      Microsoft Research, USA

      ,
    • Jean-Karim Zinzindohoue

      Inria, France / ENS, France

      ,
    • Santiago Zanella-Béguelin

      Microsoft Research, UK

    January 2016pp 256-270 https://doi.org/10.1145/2837614.2837655

    We present a new, completely redesigned, version of F*, a language that works both as a proof assistant as well as a general-purpose, verification-oriented, effectful programming language. In support of these complementary roles, F* is a dependently ...

  • invited-talk
    Micro-Policies: Formally Verified, Tag-Based Security Monitors
    • Cǎtǎlin Hriţcu

      INRIA Paris

    July 2015pp 1-1 https://doi.org/10.1145/2786558.2786560

    Many of today's vulnerabilities arise from the violation of known, but in-practice unenforceable, safety and security policies, including high-level programming models and critical invariants of low-level programs. This project is aimed at showing that ...

  • research-article
    Architectural Support for Software-Defined Metadata Processing
    • Udit Dhawan

      University of Pennsylvania, Philadelphia, PA, USA

      ,
    • Catalin Hritcu

      INRIA, Paris, France

      ,
    • Raphael Rubin

      University of Pennsylvania, Philadelphia, PA, USA

      ,
    • Nikos Vasilakis

      University of Pennsylvania, Philadelphia, PA, USA

      ,
    • Silviu Chiricescu

      BAE Systems, Burlington, MA, USA

      ,
    • Jonathan M. Smith

      University of Pennsylvania, Philadelphia, PA, USA

      ,
    • Thomas F. Knight

      Ginkgo Bioworks, Boston, MA, USA

      ,
    • Benjamin C. Pierce

      University of Pennsylvania, Philadelphia, PA, USA

      ,
    • Andre DeHon

      University of Pennsylvania, Philadelphia, PA, USA

    March 2015pp 487-502 https://doi.org/10.1145/2694344.2694383

    Optimized hardware for propagating and checking software-programmable metadata tags can achieve low runtime overhead. We generalize prior work on hardware tagging by considering a generic architecture that supports software-defined policies over ...

  • research-article
    The Joint EasyCrypt-F*-CryptoVerif School 2014
    • Cătălin Hriţcu

      Inria Paris-Rocquencourt

    January 2015pp 23-24 https://doi.org/10.1145/2728816.2728822

    Formal security verification tools are slowly reaching maturity. The Joint EasyCrypt-F*-CryptoVerif School took place between 24 and 28 November 2014 in Paris and taught participants how to use three state-of-the-art security verification tools, as well ...

  • research-article
    A verified information-flow architecture
    • Arthur Azevedo de Amorim

      University of Pennsylvania, Philadelphia, PA, USA

      ,
    • Nathan Collins

      Portland State University, Portland, OR, USA

      ,
    • André DeHon

      University of Pennsylvania, Philadelphia, PA, USA

      ,
    • Delphine Demange

      University of Pennsylvania, Philadelphia, PA, USA

      ,
    • Cătălin Hriţcu

      University of Pennsylvania and INRIA, Philadelphia, PA, USA

      ,
    • David Pichardie

      Harvard University and INRIA, Cambridge, MA, USA

      ,
    • Benjamin C. Pierce

      University of Pennsylvania, Philadelphia, PA, USA

      ,
    • Randy Pollack

      Harvard University, Cambridge, MA, USA

      ,
    • Andrew Tolmach

      Portland State University, Portland, OR, USA

    January 2014pp 165-178 https://doi.org/10.1145/2535838.2535839

    SAFE is a clean-slate design for a highly secure computer system, with pervasive mechanisms for tracking and limiting information flows. At the lowest level, the SAFE hardware supports fine-grained programmable tags, with efficient and flexible ...

  • research-article
    Testing noninterference, quickly
    • Catalin Hritcu

      University of Pennsylvania, Philadelphia, PA, USA

      ,
    • John Hughes

      Chalmers University, Gothenburg, Sweden

      ,
    • Benjamin C. Pierce

      University of Pennsylvania, Philadelphia, PA, USA

      ,
    • Antal Spector-Zabusky

      University of Pennsylvania, Philadelphia, PA, USA

      ,
    • Dimitrios Vytiniotis

      Microsoft Research, Cambridge, United Kingdom

      ,
    • Arthur Azevedo de Amorim

      University of Pennsylvania, Philadelphia, PA, USA

      ,
    • Leonidas Lampropoulos

      University of Pennsylvania, Philadelphia, PA, USA

    September 2013pp 455-468 https://doi.org/10.1145/2500365.2500574

    Information-flow control mechanisms are difficult to design and labor intensive to prove correct. To reduce the time wasted on proof attempts doomed to fail due to broken definitions, we advocate modern random testing techniques for finding ...

  • research-article
    Semantic subtyping with an SMT solver
    • Gavin M. Bierman

      Microsoft Research, Cambridge, United Kingdom

      ,
    • Andrew D. Gordon

      Microsoft Research, Cambridge, United Kingdom

      ,
    • Cătălin Hriţcu

      Saarland University, Saarbrucken, Germany

      ,
    • David Langworthy

      Microsoft Corporation, Redmond, WA, USA

    September 2010pp 105-116 https://doi.org/10.1145/1863543.1863560

    We study a first-order functional language with the novel combination of the ideas of refinement type (the subset of a type to satisfy a Boolean expression) and type-test (a Boolean expression testing whether a value belongs to a type). Our core ...

  • research-article
    Type-checking zero-knowledge
    • Michael Backes

      Saarland University, MPI-SWS, Saarbruecken, Germany

      ,
    • Cǎtǎlin Hritcu

      Saarland University, Saarbruecken, Germany

      ,
    • Matteo Maffei

      Saarland University, Saarbruecken, Germany

    October 2008pp 357-370 https://doi.org/10.1145/1455770.1455816

    This paper presents the first type system for statically analyzing security protocols that are based on zero-knowledge proofs. We show how certain properties offered by zero-knowledge proofs can be characterized in terms of authorization policies and ...