Concurrency
We develop compositional reasoning techniques for concurrent programs using modern concurrent separation logics, introducing fundamental concepts in the reasoning: logical abstraction (Concurrent Abstract Predicates), logical atomicity (the TaDA Logic) and logical environment liveness properties (TaDA Live). In addition, we have started to work on weak consistency models for distribution, developing an interleaving operational semantics for client-observational behaviour of atomic transactions (ECOOP’20).
We have applied our reasoning to, for example, algorithms for manipulating concurrent B-trees, skip lists from java.util.concurrent, graph algorithms and the POSIX file system. Our goal is to challenge and improve the state-of-the-art in concurrent reasoning, refining our logics to deal with more advanced concurrent programs, developing automated reasoning tools based on these logics, and applying our work to real-world concurrent programs.
Research Support
This research is supported by Gardner’s UKRI Established Career Fellowship “VeTSpec: Verified Trustworthy Software Specification” and Emanuele D’Osualdo’s Marie-Curie Fellowship “VeSPA: Verification through Security and Progress Abstractions”. It was previously supported by the EPSRC programme grant EP/K008528/1: REMS: Rigorous Engineering of Mainstream Systems and the EPSRC programme grant EP/H008373/2: Resource Reasoning.
People
Recent Publications
-
Parametric Operational Semantics for Consistency Models
Ph.D. Thesis, Imperial College London
-
Data Consistency in Transactional Storage Systems: a Centralised Approach
Proceedings of the 34th European Conference on Object-Oriented Programming (ECOOP 2020)
-
A Perspective on Specifying and Verifying Concurrent Modules
- Thomas Dinsdale-Young
- Pedro da Rocha Pinto
- Philippa Gardner
Journal of Logical and Algebraic Methods in Programming, vol. 98, pp. 1–25
-
A Concurrent Specification of POSIX File Systems
Proceedings of the 32nd European Conference on Object-Oriented Programming (ECOOP 2018).
-
Algebraic Laws for Weak Consistency
- Andrea Cerone
- Alexey Gotsman
- Hongseok Yang
Proceedings of 28th International Conference on Concurrency Theory, (Concur 2017)
-
- Emanuele D’Osualdo
- Luke Ong
- Alwen Tiu
Proceedings of 30th IEEE Computer Security Foundations Symposium, (CSF 2017)
-
Abstraction, Refinement and Concurrent Reasoning
Ph.D. Thesis, Imperial College London
-
Reasoning with Time and Data Abstractions
Ph.D. Thesis, Imperial College London
-
Caper: Automatic Verification for Fine-grained Concurrency
- Thomas Dinsdale-Young
- Pedro da Rocha Pinto
- Kristoffer Just Andersen
- Lars Birkedal
Proceedings of the 26th European Symposium on Programming (ESOP’17), pp. 420–447
-
Abstract Specifications for Concurrent Maps
Proceedings of the 26th European Symposium on Programming (ESOP’17), pp. 964–990