Synthetic Methods in Program Verification

MSCA (Marie Skłodowska-Curie)HORIZON-TMA-MSCA-PF-EFID: 101065303
EC Contribution
€2,149
Consortium Size
1 orgs
Start Year
2022
Summary

TypeSynth: Synthetic Methods in Program VerificationSoftware systems mediate a growing proportion of human activity, e.g. communication, transport, medicine, industrial and agricultural production, etc. As a result, it is urgent to understand and better control both the correctness and security properties of these increasingly complex software systems. The diversity of verification requirements speaks to a need for models of program execution that smoothly interpolate between many different levels of abstraction.Models of program execution vary in expressiveness along the spectrum of possible programming languages and specification logics. At one extreme, dependent type theory is a language for mathematically-inspired functional programming that is sufficiently expressive to serve as its own specification logic. Dependent type theory has struggled, however, to incorporate several computational effects that are common in every-day programming languages, such as state and concurrency. Languages that support these features require very sophisticated specification logics due to the myriad details that must be surfaced in their semantic models.In the context of dependent type theory, I have recently developed a new technique called Synthetic Tait Computability or STC that smoothly combines multiple levels of abstraction into a single language. Inspired by sophisticated mathematical techniques invented in topos theory and category theory for entirely different purposes, STC enables low-level details (even down to execution steps) to be manipulated in a simpler and more abstract way than ever before, making them easier to control mathematically. Perhaps more importantly, the STC method makes it possible to import ideas and techniques from other fields that seemed more distant prior to my intervention.The goal of the TypeSynth project is to extend the successful STC approach to a wider class of programming models, in particular programming languages with effects.

Consortium (1)

Project Results (10)

Source: CORDIS, the EU research results database.

Publications (8)
A denotationally-based program logic for higher-order store
39th International Conference on Mathematical Foundations of Programming Semantics· 2023DOI
Frederik Lerbjerg Aagaard, Jonathan Sterling, and Lars Birkedal
Decalf: A Directed, Effectful Cost-Aware Logical Framework
(Under Review)· 2023DOI
Harrison Grodin, Robert Harper, Yue Niu, and Jonathan Sterling
Free theorems from univalent reference types
(Under Review)· 2023DOI
Jonathan Sterling, Daniel Gratzer, and Lars Birkedal
Towards a Geometry of Syntax
(Under Review)· 2023DOI
Jonathan Sterling
What should a generic object be?
Mathematical Structures in Computer Science· 2023DOI
Jonathan Sterling
Controlling unfolding in type theory
Controlling unfolding in type theory· 2022DOI
Daniel Gratzer, Jonathan Sterling,Carlo Angiuli, Thierry Coquand, and Lars Birkedal
Denotational semantics of general store and polymorphism
(Under Review)· 2022DOI
Jonathan Sterling, Daniel Gratzer, and Lars Birkedal
Reflections on existential types
(Under Review)· 2022DOI
Jonathan Sterling
Deliverables (1)
Other Results (1)
Periodic Reporting for period 1 - TypeSynth (Synthetic Methods in Program Verification)