Pipit on the Post: Proving Pre- and Post-Conditions of Reactive Systems

Amos Robinson*, Alex Potanin*

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Synchronous languages such as Lustre and Scade are used to implement safety-critical control systems; proving such programs correct and having the proved properties apply to the compiled code is therefore equally critical. We introduce Pipit, a small synchronous language embedded in F, designed for verifying control systems and executing them in real-time. Pipit includes a verified translation to transition systems; by reusing F’s existing proof automation, certain safety properties can be automatically proved by k-induction on the transition system. Pipit can also generate executable code in a subset of F which is suitable for compilation and real-time execution on embedded devices. The executable code is deterministic and total and preserves the semantics of the original program.

Original languageEnglish
Title of host publication38th European Conference on Object-Oriented Programming, ECOOP 2024
EditorsJonathan Aldrich, Guido Salvaneschi
PublisherSchloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
ISBN (Electronic)9783959773416
DOIs
Publication statusPublished - Sept 2024
Event38th European Conference on Object-Oriented Programming, ECOOP 2024 - Vienna, Austria
Duration: 16 Sept 202420 Sept 2024

Publication series

NameLeibniz International Proceedings in Informatics, LIPIcs
Volume313
ISSN (Print)1868-8969

Conference

Conference38th European Conference on Object-Oriented Programming, ECOOP 2024
Country/TerritoryAustria
CityVienna
Period16/09/2420/09/24

Fingerprint

Dive into the research topics of 'Pipit on the Post: Proving Pre- and Post-Conditions of Reactive Systems'. Together they form a unique fingerprint.

Cite this