@inproceedings{ebe3628d26354ff08fb5e2dd97027c40,
title = "Two-Step Deductive Verification of Control Software Using Reflex",
abstract = "In this paper, we introduce a new verification method for control software. The novelty of the method consists in reducing the verification of temporal properties of a control software algorithm to the Hoare-like deductive verification of an imperative program that explicitly models time and the history of the execution of the algorithm. The method is applied to control software specified in Reflex—a domain-specific extension of the C language developed as an alternative to IEC 61131-3 languages. As a process-oriented language, Reflex enables control software description in terms of interacting processes, event-driven operations, and operations with discrete time intervals. The first step of our method rewrites an annotated Reflex program into an equivalent annotated C program. The second step is deductive verification of this C program. We illustrate our method with deductive verification of a Reflex program for a hand dryer device: we provide the source Reflex program, the set of requirements, the resulting annotated C program, the generated verification conditions, and the results of proving these conditions in Z3py – a Python-based front-end to the SMT solver Z3.",
keywords = "Control software, Deductive verification, Process-oriented languages, Reflex language, SMT solver, Z3",
author = "Igor Anureev and Natalia Garanina and Tatiana Liakh and Andrei Rozov and Vladimir Zyubin and Sergei Gorlatch",
year = "2019",
month = jan,
day = "1",
doi = "10.1007/978-3-030-37487-7_5",
language = "English",
isbn = "9783030374860",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
publisher = "Springer International Publishing AG",
pages = "50--63",
editor = "Nikolaj Bj{\o}rner and Irina Virbitskaite and Andrei Voronkov",
booktitle = "Perspectives of System Informatics - 12th International Andrei P. Ershov Informatics Conference, PSI 2019, Revised Selected Papers",
address = "Switzerland",
note = "12th International Andrei P. Ershov Informatics Conference, PSI 2019 ; Conference date: 02-07-2019 Through 05-07-2019",
}