Bernhard Reus

dblp:28/3100 · DBLP profile ↗
← Back
25ranked-venue papers
12as first author
1since 2021 · last 2023
0000-0002-5807-856XORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Theory of computation · 16 · 8 first-authorSoftware engineering, systems software and programming languages · 10 · 2 first-author · 1 since 2021Artificial intelligence and machine learning · 2 · 2 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Theoretical computer science
4 papers
Logic in computer science · 60% Automated reasoning and model checking · 33% Computational complexity · 7%
Software engineering, system software, and programming languages
4 papers
Programming languages and type systems · 52% Program verification · 48%
Computer networks
1 paper
Network management and operations · 100%

Topics — the 10 heaviest of 11, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Network management and operations
network verification
0.412020
Towards Model Checking Real-World Software-Defined Networks · CAV (2) 2020
Logic in computer science › program logic
separation logic
0.222013
Specification patterns for reasoning about recursion through the store · Inf. Comput. 2013
A Simple Model of Separation Logic for Higher-Order Store · ICALP (2) 2008
Program verification
program logic
0.222011
Step-indexed kripke models over recursive worlds · POPL 2011
About Hoare Logics for Higher-Order Store · ICALP 2005
Automated reasoning and model checking › temporal logic specification
specification patterns
0.212013
Specification patterns for reasoning about recursion through the store · Inf. Comput. 2013
Programming languages and type systems
language semantics
0.112011
Step-indexed kripke models over recursive worlds · POPL 2011
Program verification › program logic
separation logic
0.112005
About Hoare Logics for Higher-Order Store · ICALP 2005
Logic in computer science › program logic
hoare logic
0.112005
About Hoare Logics for Higher-Order Store · ICALP 2005
Programming languages and type systems › language semantics › formal semantics
denotational semantics
0.012002
Semantics and Logic of Object Calculi · LICS 2002
Programming languages and type systems › object-oriented programming
object calculi
0.012002
Semantics and Logic of Object Calculi · LICS 2002
Computational complexity
soundness
0.012002
Semantics and Logic of Object Calculi · LICS 2002

Methods — techniques the papers use, named apart from their topics

partial order reduction · 0.4packet equivalence classes · 0.4step-indexing · 0.1metric spaces · 0.1kripke models · 0.1operational semantics · 0.1hoare logic · 0.1untyped semantics · 0.1predomain semantics · 0.1
YearPublicationVenuePosition
2023 Interpreting Knowledge-based Programs
abstract
Abstract Knowledge-based programs specify multi-agent protocols with epistemic guards that abstract from how agents learn and record facts or information about other agents and the environment. Their interpretation involves a non-monotone mutual dependency between the evaluation of epistemic guards over the reachable states and the derivation of the reachable states depending on the evaluation of epistemic guards. We apply the technique of a must/cannot analysis invented for synchronous programming languages to the interpretation problem of knowledge-based programs and demonstrate that the resulting constructive interpretation is monotone and has a least fixed point. We relate our approach with existing interpretation schemes for both synchronous and asynchronous programs. Finally, we describe an implementation of the constructive interpretation and illustrate the procedure by several examples and an application to the Java memory model.
Alexander Knapp, Heribert Mühlberger, Bernhard Reus
ESOP3
2020 Towards Model Checking Real-World Software-Defined Networks
abstract
In software-defined networks (SDN), a controller program is in charge of deploying diverse network functionality across a large number of switches, but this comes at a great risk: deploying buggy controller code could result in network and service disruption and security loopholes. The automatic detection of bugs or, even better, verification of their absence is thus most desirable, yet the size of the network and the complexity of the controller makes this a challenging undertaking. In this paper, we propose MOCS, a highly expressive, optimised SDN model that allows capturing subtle real-world bugs, in a reasonable amount of time. This is achieved by (1) analysing the model for possible partial order reductions, (2) statically pre-computing packet equivalence classes and (3) indexing packets and rules that exist in the model. We demonstrate its superiority compared to the state of the art in terms of expressivity, by providing examples of realistic bugs that a prototype implementation of MOCS in Uppaal caught, and performance/scalability, by running examples on various sizes of network topologies, highlighting the importance of our abstractions and optimisations.
Vasileios Klimis, George Parisis, Bernhard Reus
CAV (2)3
2020 Model Checking Software-Defined Networks with Flow Entries that Time Out
abstract
Software-defined networking (SDN) enables advanced operation and management of network deployments through (virtually) centralised, programmable controllers, which deploy network functionality by installing rules in the flow tables of network switches.Although this is a powerful abstraction, buggy controller functionality could lead to severe service disruption and security loopholes, motivating the need for (semi-)automated tools to find, or even verify absence of, bugs.Model checking SDNs has been proposed in the literature, but none of the existing approaches can support dynamic network deployments, where flow entries expire due to timeouts.This is necessary for automatically refreshing (and eliminating stale) state in the network (termed as soft-state in the network protocol design nomenclature), which is important for scaling up applications or recovering from failures.In this paper, we extend our model (MoCS) to deal with timeouts of flow table entries, thus supporting soft state in the network.Optimisations are proposed that are tailored to this extension.We evaluate the performance of the proposed model in UPPAAL using a load balancer and firewall in network topologies of varying size.
Vasileios Klimis, George Parisis, Bernhard Reus
FMCAD3
2015 Symbolic Execution Proofs for Higher Order Store Programs
Bernhard Reus, Nathaniel Charlton, Ben Horsfall
J. Autom. Reason.1
2013 Specification patterns for reasoning about recursion through the store
Nathaniel Charlton, Bernhard Reus
Inf. Comput.2
2013 A step-indexed Kripke model of hidden state
abstract
Frame and anti-frame rules have been proposed as proof rules for modular reasoning about programs. Frame rules allow the hiding of irrelevant parts of the state during verification, whereas the anti-frame rule allows the hiding of local state from the context. We discuss the semantic foundations of frame and anti-frame rules, and present the first sound model for Charguéraud and Pottier's type and capability system including both of these rules. The model is a possible worlds model based on the operational semantics and step-indexed heap relations, and the worlds are given by a recursively defined metric space. We also extend the model to account for Pottier's generalised frame and anti-frame rules, where invariants are generalised tofamiliesof invariants indexed over preorders. This generalisation enables reasoning about some well-bracketed as well as (locally) monotone uses of local state.
Jan Schwinghammer, Lars Birkedal, François Pottier, Bernhard Reus, Kristian Støvring, Hongseok Yang
Math. Struct. Comput. Sci.4
2012 Verifying the reflective visitor pattern
abstract
Computational reflection allows a program to inspect and manipulate the structure or behaviour of itself at runtime. Often this means that it is possible to create more generic or adaptable programs in an elegant way. However, there is little support for specification and automatic verification of reflective programs. We address this problem by implementing, specifying, and verifying a reflective library using a Hoare-logic for a simple language with stored procedures. The latter is important since reflective metadata is modelled on the heap, thus method objects will be realised as stored procedures. We verify memory safety as well as functional correctness of an instance of the reflective visitor pattern, including the reflective library. The entire verification is carried out in our (semi-)automatic verification tool Crowfoot.
Ben Horsfall, Nathaniel Charlton, Bernhard Reus
FTfJP@ECOOP3
2012 Crowfoot: A Verifier for Higher-Order Store Programs
Nathaniel Charlton, Ben Horsfall, Bernhard Reus
VMCAI3
2012 A synthetic theory of sequential domains
Bernhard Reus, Thomas Streicher
Ann. Pure Appl. Log.1
2011 Specification Patterns and Proofs for Recursion through the Store
Nathaniel Charlton, Bernhard Reus
FCT2
2011 Step-indexed kripke models over recursive worlds
abstract
Over the last decade, there has been extensive research on modelling challenging features in programming languages and program logics, such as higher-order store and storable resource invariants. A recent line of work has identified a common solution to some of these challenges: Kripke models over worlds that are recursively defined in a category of metric spaces. In this paper, we broaden the scope of this technique from the original domain-theoretic setting to an elementary, operational one based on step indexing. The resulting method is widely applicable and leads to simple, succinct models of complicated language features, as we demonstrate in our semantics of Charguéraud and Pottier's type-and-capability system for an ML-like higher-order language. Moreover, the method provides a high-level understanding of the essence of recent approaches based on step indexing.
Lars Birkedal, Bernhard Reus, Jan Schwinghammer, Kristian Støvring, Jacob Thamsborg, Hongseok Yang
POPL2
2010 A Semantic Foundation for Hidden State
Jan Schwinghammer, Hongseok Yang, Lars Birkedal, François Pottier, Bernhard Reus
FoSSaCS5
2010 Preface for the special issue on domains
abstract
This special issue of Mathematical Structures in Computer Science contains six papers from the Workshop on Domains IX held at the University of Sussex (Brighton), on 22–24 September 2008. This was the ninth event in the long tradition of Domains workshops, which started in Darmstadt in 1994. Since then, workshops have been organised in Braunschweig (1996), Munich (1997), Siegen (1998), Darmstadt again (1999, 2004), Birmingham (2002) and Novosibirsk (2007).
Bernhard Reus, Achim Jung, Klaus Keimel, Thomas Streicher
Math. Struct. Comput. Sci.1
2008 A Simple Model of Separation Logic for Higher-Order Store
Lars Birkedal, Bernhard Reus, Jan Schwinghammer, Hongseok Yang
ICALP (2)2
2006 Denotational semantics for a program logic of objects
abstract
The object-calculus is an imperative and object-based programming language in which every object comes equipped with its own method suite. Consequently, methods need to reside in the store (‘higher-order store’), which complicates the semantics. Abadi and Leino defined a program logic for this language enriching object types by method specifications. We present a new soundness proof for their logic using denotational semantics. It turns out that denotations of store specifications are predicates defined by mixed-variant recursion. A benefit of our approach is that derivability and validity can be kept distinct. Moreover, it reveals which of the limitations of Abadi and Leino's logic are incidental design decisions and which follow inherently from the use of a higher-order store. We discuss the implications for the development of other, more expressive, program logics.
Bernhard Reus, Jan Schwinghammer
Math. Struct. Comput. Sci.1
2005 Denotational Semantics for Abadi and Leino's Logic of Objects
Bernhard Reus, Jan Schwinghammer
ESOP1
2005 About Hoare Logics for Higher-Order Store
Bernhard Reus, Thomas Streicher
ICALP1
2004 Semantics and logic of object calculi
Bernhard Reus, Thomas Streicher
Theor. Comput. Sci.1
2002 Semantics and Logic of Object Calculi
abstract
The main contribution of this paper is a formal characterization of recursive object specifications based on a denotational untyped semantics of the object calculus and the discussion of existence of those (recursive) specifications. The semantics is then applied to prove soundness of a programming logic for the object calculus and to suggest possible extensions. For the purposes of this discussion we use an informal logic of predomains in order to avoid any commitment to a particular syntax of specification logic.
Bernhard Reus, Thomas Streicher
LICS1
2001 A Hoare Calculus for Verifying Java Realizations of OCL-Constrained Design Models
Bernhard Reus, Martin Wirsing, Rolf Hennicker
FASE1
2001 Preface
Ulrich Berger 0001, Karl-Heinz Niggl, Bernhard Reus
Theor. Comput. Sci.3
1999 Formalizing Synthetic Domain Theory
Bernhard Reus
J. Autom. Reason.1
1999 General synthetic domain theory - a logical approach
Bernhard Reus, Thomas Streicher
Math. Struct. Comput. Sci.1
1998 Classical Logic, Continuation Semantics and Abstract Machines
abstract
One of the goals of this paper is to demonstrate that denotational semantics is useful for operational issues like implementation of functional languages by abstract machines. This is exemplified in a tutorial way by studying the case of extensional untyped call-by-name λ-calculus with Felleisen's control operator [Cscr ]. We derive the transition rules for an abstract machine from a continuation semantics which appears as a generalization of the ¬¬-translation known from logic. The resulting abstract machine appears as an extension of Krivine's machine implementing head reduction. Though the result, namely Krivine's machine, is well known our method of deriving it from continuation semantics is new and applicable to other languages (as e.g. call-by-value variants). Further new results are that Scott's D ∞ -models are all instances of continuation models. Moreover, we extend our continuation semantics to Parigot's λμ-calculus from which we derive an extension of Krivine's machine for λμ-calculus. The relation between continuation semantics and the abstract machines is made precise by proving computational adequacy results employing an elegant method introduced by Pitts.
Thomas Streicher, Bernhard Reus
J. Funct. Program.2
1993 Verifying Properties of Module Construction in Type Theory
Bernhard Reus, Thomas Streicher
MFCS1