Meet ApplyKite Twin, the application assistant that learns with you
Meet your Twin, it learns with you
Your Twin learns with you
Launch week codes:30% off annual Pro20% off monthly Pro
Ends in00h00m00s
Ends in00h00m00s
Lars Birkedal
Research Interests
Make your next move.
Prepare your application
Review drafts before you send them.
Articles (26)
Year:
2025
Year:
2025
Year:
2025
Year:
2025
A program is said to be well-bracketed if every called function must return before its caller can resume execution. This is often the case. Well-bracketedness has been captured semantically as a condition on strategies in fully abstract games models and multiple prior works have studied well-bracketedness by showing correctness/security properties of programs where such properties depend on the well-bracketed nature of control flow. The latter category of prior works have all used involved relational models with explicit state-transition systems capturing the relevant parts of the control flow of the program. In this paper we present the first Hoare-style program logic based on separation logic for reasoning about well-bracketedness and use it to show correctness of well-bracketed programs both directly and also through defining unary and binary logical relations models based on this program logic. All results presented in this paper are formalized on top of the Iris framework and mechanized in the Coq proof assistant.
Year:
2024
Very relaxed concurrency memory models, like those of the Arm-A, RISC-V, and IBM Power hardware architectures, underpin much of computing but break a fundamental intuition about programs, namely that syntactic program order and the reads-from relation always both induce order in the execution. Instead, out-of-order execution is allowed except where prevented by certain pairwise dependencies, barriers, or other synchronisation. This means that there is no notion of the 'current' state of the program, making it challenging to design (and prove sound) syntax-directed, modular reasoning methods like Hoare logics, as usable resources cannot implicitly flow from one program point to the next. We present AxSL, a separation logic for the relaxed memory model of Arm-A, that captures the fine-grained reasoning underpinning the low-overhead synchronisation mechanisms used by high-performance systems code. In particular, AxSL allows transferring arbitrary resources using relaxed reads and writes when they induce inter-thread ordering. We mechanise AxSL in the Iris separation logic framework, illustrate it on key examples, and prove it sound with respect to the axiomatic memory model of Arm-A. Our approach is largely generic in the axiomatic model and in the instruction-set semantics, offering a potential way forward for compositional reasoning for other similar models, and for the combination of production concurrency models and full-scale ISAs.
Year:
2024
Year:
2024
Year:
2024
Year:
2024
Year:
2024
Year:
2024
Year:
2024
Year:
2024
Year:
2024
Year:
2024
Year:
2024
Year:
2023
Year:
2023
Year:
2023
Year:
2023
Year:
2022
Year:
2022
Year:
2022
Year:
2021
Year:
2021
Year:
2021
Collaborators (13)
Jonathan Sterling
Associate Professor
University of Cambridge
Aïna Linn Georges
Max Planck Institute for Software Systems
Jean Pichon-Pharabod
Tenure-track assistant professor
Aarhus University
Rasmus Ejlers Møgelberg
Professor
University of Copenhagen
Dominique Devriese
Professor
KU Leuven
Mário Pereira
Professor Auxiliar
Universidade de Aveiro
Jonas Kastberg Hinrichsen
Assistant Professor
Aalborg University
Joseph Tassarotti
New York University
Alejandro Aguirre
VIP, Assistant Professor
Aarhus University
Alex Kavvos
Lecturer in Programming Languages
University of Bristol
Ralf Jung
Assistant Professor
ETH Zürich
Amin Timany
Associate Professor
Aarhus University
Philipp G. Haselwarter
Assistant Professor
Aarhus University
Make your next move.
Prepare your application
Review drafts before you send them.