RUS  ENG
Full version
JOURNALS // Modelirovanie i Analiz Informatsionnykh Sistem // Archive

Model. Anal. Inform. Sist., 2024 Volume 31, Number 4, Pages 384–425 (Mi mais833)

Theory of computing

Pattern-based approach to automation of deductive verification of process-oriented programs: patterns, lemmas and algorithms

I. M. Chernenko, I. S. Anureev

Institute of Automation and Electrometry SB RAS, Novosibirsk, Russia

Abstract: Process-oriented programming is an approach to developing control software in which a program is defined as a set of interacting processes. PoST is a process-oriented language, which is an extension of the ST language from the IEC 61131-3 standard. In the field of control software development, formal verification plays an important role due to the need to ensure high reliability of such software. Deductive verification is a formal verification method in which a program and its requirements are represented as logical formulas, and logical inference is used to prove that the program satisfies the requirements. Control software often has temporal requirements. We formalize such requirements for process-oriented programs as control loop invariants. However, control loop invariants that represent requirements are not sufficient to prove the correctness of the program. Therefore, we add extra invariants containing auxiliary information. This paper considers the problem of automating deductive verification of process-oriented programs. An approach is proposed in which temporal requirements are specified using requirement patterns which are constructed from basic patterns. For each requirement pattern, a corresponding extra invariant pattern and lemmas are defined. In this paper, the proposed approach and schemes of basic and derived requirement patterns are described. The schemes of basic extra invariant patterns, schemes of lemmas defined for basic patterns, and a set of basic patterns and lemmas for them are considered. The scheme of derived extra invariant patterns and schemes of lemmas defined for derived patterns are defined. The algorithms for constructing derived extra invariant patterns and lemmas for them, as well as methods for proving these lemmas are presented. The schemes of proving verification conditions are considered. The proposed approach is demonstrated with an example. The analysis of related works has also been carried out.

Keywords: deductive verification, temporal requirements, requirement pattern, loop invariant, control software, process-oriented programming.

UDC: 004.415.52

MSC: 68Q60

Received: 06.11.2024
Revised: 15.11.2024
Accepted: 25.11.2024

DOI: 10.18255/1818-1015-2024-4-384-425



© Steklov Math. Inst. of RAS, 2025