Abstract
The article is devoted to the architecture development of the toolkit for supporting formal verification of functional data-flow parallel programs in the Pifagor Language. The method of deduction based on Hoare logic is used for formal verification. A proof process is considered as a tree where each node is a program data-flow graph, whose edges are marked with formulas in a specification language. The tree root is the initial Hoare triple, namely the program data-flow graph with a precondition and a postcondition. In this article basic transformations of the data-flow graph are considered: edge marking, equivalent transformation, splitting, folding of the program. By means of these transformations the initial triple is being transformed and finally is reduced to a set of formulas in the specification language. If all of these formulas are identically true, then the program is correct. Architecture of the toolkit for supporting formal verification of functional data-flow parallel programs is proposed, which allows to construct a proof three. The implementation of the toolkit is introduced and its main functionality is considered.
Highlights
Работа посвящена разработке архитектуры инструментальных средств для поддержки формальной верификации функционально-потоковых параллельных программ на языке Пифагор
Процесс доказательства корректности функционально-потоковая параллельная (ФПП) программы можно рассматривать как последовательность преобразований исходного информационного графа с разметкой, где под «исходным информационным графом с разметкой» понимается ИГР, которому соответствует исходная тройка Хоара, то есть граф у которого входная дуга размечена заданным пользователем предусловием, выходная — постусловием, а остальные дуги не размечены
By means of these transformations the initial triple is being transformed and is reduced to a set of formulas in the specification language
Summary
Программу на языке Пифагор удобно отображать в виде информационного графа — ациклического ориентированного графа, определяющего информационную структуру программы, у которого вершины представляют программо-формирующие операторы, а дуги задают пути передачи информации между вершинами [7]. Информационный граф программы, дуги которого помечены формулами на языке спецификации, будем называть информационным графом с разметкой (ИГР). Зададим над информационным графом с разметкой следующие преобразования: 1) разметка дуги; 2) изменение информационного графа программы:. Процесс доказательства корректности ФПП программы можно рассматривать как последовательность преобразований исходного информационного графа с разметкой, где под «исходным информационным графом с разметкой» понимается ИГР, которому соответствует исходная тройка Хоара, то есть граф у которого входная дуга размечена заданным пользователем предусловием, выходная — постусловием, а остальные дуги не размечены. При преобразовании графа, для оператора 1 применимо три аксиомы, то в результате преобразования получится три новых ИГР, которые компактно будут отображаться как исходный граф, у которого к дуге (1, 3) приписаны три формулы. В результате разметки получится семь графов, это число соответствует общему числу применимых аксиом и количеству формул, которые будут приписаны к дуге (3, 4). На рис. 1.А индексы (i, j) возле формул, помечающих дугу (3, 4), обозначают номер i родительской формулы, помечающей дугу (1, 3), и номер j родительской формулы, помечающей дугу (2, 3)
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
More From: Bulletin of the South Ural State University. Series "Computational Mathematics and Software Engineering"
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.