TypeSynth: synthetic methods in program verification

Beneficiary: Jonathan Sterling
Award: Marie Skłodowska-Curie Actions Postdoctoral Fellowship
Funder: European Commission, Horizon Europe Framework Programme (HORIZON)
Host: Aarhus University, Center for Basic Research in Program Verification
Years: 2022–2024
Amount: 214,934.4 EUR

Abstract. Software 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 mathematical fields that are comparatively more developed than programming languages.

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.

Bibliography

The following authors are represented in this bibliography: Lars Birkedal, Daniel Gratzer, and Jonathan Sterling.

Unpublished Manuscripts

Jul. 2022
Preprint What should a generic object be?
Under review
July 13, 2022
@unpublished{sterling:2022:generic,
  author = {Sterling, Jonathan},
  year = {2022},
  month = jul,
  note = {Unpublished manuscript},
  title = {What should a generic object be?},
}
Jul. 2022
Preprint Denotational semantics of general store and polymorphism
@unpublished{sterling-gratzer-birkedal:2022,
  author = {Sterling, Jonathan and Gratzer, Daniel and Birkedal, Lars},
  year = {2022},
  month = jul,
  note = {Unpublished manuscript},
  title = {Denotational semantics of general store and polymorphism},
}