Skip to main content
Aller à la page d’accueil de la Commission européenne (s’ouvre dans une nouvelle fenêtre)
français fr
CORDIS - Résultats de la recherche de l’UE
CORDIS

Compositional Higher-Order Reasoning about Distributed Systems

Periodic Reporting for period 1 - CHORDS (Compositional Higher-Order Reasoning about Distributed Systems)

Période du rapport: 2023-09-01 au 2026-02-28

Software systems are critical for the infrastructure of modern society and software errors, and security breaches pose enormous costs and risks. The traditional method of testing software systems is famously inadequate for guaranteeing the absence of errors and security breaches since not all execution paths are covered by testing. This is especially true for concurrent and distributed systems, where there are simply too many execution paths to test, and it has motivated research in formal methods for program verification that can offer mathematical proofs that all system behaviors meet some desirable property.

To formally analyze and reason about software systems it is important to consider models at many different levels of abstraction. Since many real software errors and security breaches stem from subtle problems in implementations of software systems, we focus on detailed, so-called semantic, models of program execution.

While there has been much research on abstract models for reasoning about distributed systems, there has been very little work on compositional verification of implementations of distributed systems. Compositional verification enables specification and verification of individual software modules and their composition, and is key to achieving scalable methods that apply to large programs, but the devel- opment of logics and methods for compositional reasoning is hard.

For concurrent, non-distributed, programs there has been tremendous progress in the last decade on program logics for compositional verification, in particular through the development of so-called higher- order concurrent separation logics. Leveraging this progress, CHORDS will research and develop new theories, program logics, and methods for mathematically rigorous compositional reasoning about implementations of distributed systems and thus lay the foundation for tools that will help programmers make more correct and secure distributed systems.
CHORDS has developed novel techniques for compositional specification and verification of safety properties for distributed higher-order concurrent imperative programs, e.g. by using so-called depedent separation protocols to specify a reliable communications library implemented on top of an unreliable network model. This library has been used in turn to give the first formal specification and verification of an implementation of a distributed key-value store with snapshot isolation level.

We have also developed novel techniques for reasoning about liveness of concurrent and distributed systems, using a novel approach based on refinement, which can be combined with higher-order concurrent separation logics.

Probabilistic features are often necessary for security and are often used in cryptographic applications. To support such probabilistic reasoning, CHORDS has developed novel program logics for reasoning about probabilistic higher-order programs. These logics allow to reason about refinement, which has been used to show correctness of cryptographic protocols, and also to specify approximate correctness, which is useful for reasoning about differential privacy.
CHORDS is focusing on fundamental basic research. The wider impact will come through education and collaborations with the software industry; we have some examples of that (e.g. Iris is being used in industry) and expect more to come.
Mon livret 0 0