Аннотации:
Работа посвящена разработке архитектуры инструментальных средств для поддержки формальной верификации функционально-потоковых параллельных программ на языке Пифагор. Используемый метод формальной верификации — дедуктивный анализ на базе исчисления Хоара. Процесс доказательства корректности программы представляется в виде дерева, каждый узел которого — информационный граф программы в котором дуги размечены формулами на языке спецификации. Корнем дерева является исходная тройка Хоара: информационный граф с предусловием и постусловием. В работе рассматриваются
основные преобразования, применяемые к информационному графу программы: разметка дуг, эквивалентное преобразование, расщепление, свертка программы. Посредством данных преобразований исходная тройка модифицируется и в конечном счете сводится к набору формул на языке спецификации, истинность которых будет свидетельствовать о корректности программы. Предложена архитектура системы поддержки формальной верификации
функционально-потоковых параллельных программ, которая позволяет строить дерево доказательства. Представлена реализация этой системы, описана ее основная функциональность. 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 dataflow
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.
Описание:
Ушакова Мария Сергеевна, ассистент кафедры Вычислительной техники института
Космических и информационных технологий, Сибирский Федеральный университет (Красноярск, Российская Федерация), ksv@akadem.ru.
Легалов Александр Иванович, д.т.н. профессор и заведующий кафедры Вычислительной техники института Космических и информационных технологий, Сибирский Федеральный университет (Красноярск, Российская Федерация), legalov@mail.ru. M.S. Ushakova, Siberian Federal University, Institute of Space and Information Technology (Krasnoyarsk, Russian Federation) ksv@akadem.ru,
A.I. Legalov, Siberian Federal University, Institute of Space and Information
Technology (Krasnoyarsk, Russian Federation) legalov@mail.ru