@inproceedings{d037bfa9c22b4e7288498c4819ae50b9,
title = "Pipit on the Post: Proving Pre- and Post-Conditions of Reactive Systems",
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✶{\textquoteright}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.",
keywords = "Lustre, reactive, streaming, verification",
author = "Amos Robinson and Alex Potanin",
note = "Publisher Copyright: {\textcopyright} Amos Robinson and Alex Potanin;; 38th European Conference on Object-Oriented Programming, ECOOP 2024 ; Conference date: 16-09-2024 Through 20-09-2024",
year = "2024",
month = sep,
doi = "10.4230/LIPIcs.ECOOP.2024.34",
language = "English",
series = "Leibniz International Proceedings in Informatics, LIPIcs",
publisher = "Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing",
editor = "Jonathan Aldrich and Guido Salvaneschi",
booktitle = "38th European Conference on Object-Oriented Programming, ECOOP 2024",
address = "Germany",
}