Skip to main content

Showing 1–10 of 10 results for author: Krebbers, R

Searching in archive cs. Search in all archives.
.
  1. Actris 2.0: Asynchronous Session-Type Based Reasoning in Separation Logic

    Authors: Jonas Kastberg Hinrichsen, Jesper Bengtson, Robbert Krebbers

    Abstract: Message passing is a useful abstraction for implementing concurrent programs. For real-world systems, however, it is often combined with other programming and concurrency paradigms, such as higher-order functions, mutable state, shared-memory concurrency, and locks. We present Actris: a logic for proving functional correctness of programs that use a combination of the aforementioned features. Actr… ▽ More

    Submitted 8 June, 2022; v1 submitted 28 October, 2020; originally announced October 2020.

    Journal ref: Logical Methods in Computer Science, Volume 18, Issue 2 (June 10, 2022) lmcs:6869

  2. ReLoC Reloaded: A Mechanized Relational Logic for Fine-Grained Concurrency and Logical Atomicity

    Authors: Dan Frumin, Robbert Krebbers, Lars Birkedal

    Abstract: We present a new version of ReLoC: a relational separation logic for proving refinements of programs with higher-order state, fine-grained concurrency, polymorphism and recursive types. The core of ReLoC is its refinement judgment $e \precsim e' : τ$, which states that a program $e$ refines a program $e'$ at type $τ$. ReLoC provides type-directed structural rules and symbolic execution rules in se… ▽ More

    Submitted 20 July, 2021; v1 submitted 24 June, 2020; originally announced June 2020.

    ACM Class: F.3.1; D.2.4

    Journal ref: Logical Methods in Computer Science, Volume 17, Issue 3 (July 21, 2021) lmcs:6598

  3. arXiv:1910.00905  [pdf, ps, other

    cs.LO cs.PL

    Compositional Non-Interference for Fine-Grained Concurrent Programs

    Authors: Dan Frumin, Robbert Krebbers, Lars Birkedal

    Abstract: Non-interference is a program property that ensures the absence of information leaks. In the context of programming languages, there exist two common approaches for establishing non-interference: type systems and program logics. Type systems provide strong automation (by means of type checking), but they are inherently restrictive in the kind of programs they support. Program logics support challe… ▽ More

    Submitted 6 March, 2020; v1 submitted 2 October, 2019; originally announced October 2019.

    Comments: New example in Section 2 has been added. A simpler security condition is now used in Section 3. Major editing in Sections 1, 2, and 7

  4. arXiv:1904.01009  [pdf, other

    cs.PL cs.LO

    A benchmark for C program verification

    Authors: Marko van Eekelen, Daniil Frumin, Herman Geuvers, Léon Gondelman, Robbert Krebbers, Marc Schoolderman, Sjaak Smetsers, Freek Verbeek, Benoît Viguier, Freek Wiedijk

    Abstract: We present twenty-five C programs, as a benchmark for C program verification using formal methods. This benchmark can be used for system demonstration, for comparison of verification effort between systems, and as a friendly competition. For this last purpose, we give a scoring formula that allows a verification system to score up to a hundred points.

    Submitted 1 April, 2019; originally announced April 2019.

  5. arXiv:1509.03339  [pdf, ps, other

    cs.LO cs.PL

    A Formal C Memory Model for Separation Logic

    Authors: Robbert Krebbers

    Abstract: The core of a formal semantics of an imperative programming language is a memory model that describes the behavior of operations on the memory. Defining a memory model that matches the description of C in the C11 standard is challenging because C allows both high-level (by means of typed expressions) and low-level (by means of bit manipulation) memory accesses. The C11 standard has restricted the… ▽ More

    Submitted 10 September, 2015; originally announced September 2015.

  6. A call-by-value lambda-calculus with lists and control

    Authors: Robbert Krebbers

    Abstract: Calculi with control operators have been studied to reason about control in programming languages and to interpret the computational content of classical proofs. To make these calculi into a real programming language, one should also include data types. As a step into that direction, this paper defines a simply typed call-by-value lambda calculus with the control operators catch and throw, a dat… ▽ More

    Submitted 10 October, 2012; originally announced October 2012.

    Comments: In Proceedings CL&C 2012, arXiv:1210.2890

    Journal ref: EPTCS 97, 2012, pp. 19-33

  7. The lambda-mu-T-calculus

    Authors: Herman Geuvers, Robbert Krebbers, James McKinna

    Abstract: Calculi with control operators have been studied as extensions of simple type theory. Real programming languages contain datatypes, so to really understand control operators, one should also include these in the calculus. As a first step in that direction, we introduce lambda-mu-T, a combination of Parigot's lambda-mu-calculus and Gödel's T, to extend a calculus with control operators with a datat… ▽ More

    Submitted 2 April, 2012; originally announced April 2012.

  8. Type classes for efficient exact real arithmetic in Coq

    Authors: Robbert Krebbers, Bas Spitters

    Abstract: Floating point operations are fast, but require continuous effort on the part of the user in order to ensure that the results are correct. This burden can be shifted away from the user by providing a library of exact analysis in which the computer handles the error estimates. Previously, we [Krebbers/Spitters 2011] provided a fast implementation of the exact real numbers in the Coq proof assistant… ▽ More

    Submitted 13 February, 2013; v1 submitted 17 June, 2011; originally announced June 2011.

    Comments: arXiv admin note: text overlap with arXiv:1105.2751

    ACM Class: D.2.4; F.4.1; G.1

    Journal ref: Logical Methods in Computer Science, Volume 9, Issue 1 (February 14, 2013) lmcs:958

  9. Computer certified efficient exact reals in Coq

    Authors: Robbert Krebbers, Bas Spitters

    Abstract: Floating point operations are fast, but require continuous effort on the part of the user in order to ensure that the results are correct. This burden can be shifted away from the user by providing a library of exact analysis in which the computer handles the error estimates. We provide an implementation of the exact real numbers in the Coq proof assistant. This improves on the earlier Coq-impleme… ▽ More

    Submitted 13 May, 2011; originally announced May 2011.

    Comments: Proceedings of CICM11, Springer LNAI, 2011

    ACM Class: D.2.4; F.4.1; G.1

    Journal ref: Proceedings of CICM11, vol 6824, Springer LNAI, 90-106, 2011

  10. Pure Type Systems without Explicit Contexts

    Authors: Herman Geuvers, Robbert Krebbers, James McKinna, Freek Wiedijk

    Abstract: We present an approach to type theory in which the typing judgments do not have explicit contexts. Instead of judgments of shape "Gamma |- A : B", our systems just have judgments of shape "A : B". A key feature is that we distinguish free and bound variables even in pseudo-terms. Specifically we give the rules of the "Pure Type System" class of type theories in this style. We prove that the typi… ▽ More

    Submitted 14 September, 2010; originally announced September 2010.

    Comments: In Proceedings LFMTP 2010, arXiv:1009.2189

    Journal ref: EPTCS 34, 2010, pp. 53-67