Abstract

The article is devoted to the methods of proving parallel programs correctness that are based on the axiomatic approach. Formal system for functional data-flow parallel programming language Pifagor is described. On the basis of this system programs correctness could be proved.

Highlights

  • Работа посвящена доказательству корректности параллельных программ на основе аксиоматического подхода

  • При этом условие равенства всех выражений из темных вершин соответствующим значениям из последующих светлых вершин есть предусловие аксиомы, постусловие аксиомы определяется содержимым листа данного пути

  • Преобразования тройки Хоара функции с кодом x:f:g : A введение идентификатора выходной дуги поддерева информационного графа функции, Б тройка Хоара после применения правила прямого прослеживания для функции f на основе аксиомы i, В тройка Хоара после разметки всех дуг

Read more

Summary

Введение

На данном этапе развития информационных технологий происходит повсеместный переход на параллельное программирование, что обусловлено широким применением многоядерных процессоров, кластерных систем и графических ускорителей для решения самых разнообразных задач. Основная идея подобного подхода заключается в том, чтобы на базе аксиом, с помощью последовательных применений правил вывода, преобразовать тройку Хоара верифицируемой программы в формулу теории I, и доказать истинность формулы в этой теории. В настоящее время достигнуты определённые успехи в практическом применении данного подхода для императивных языков программирования [3]. Что для параллельных императивных программ сложность формальной верификации сильно возрастает. Использование языка ФПП программирования обеспечивает формирование параллелизма программ на уровне операций. В настоящее время существуют работы, связанные с организацией отладки ФПП программ [5], однако вопросы формальной верификации не проработаны. Поэтому развитие методов анализа и формальной верификации ФПП программ является актуальным. Для выполнения формальной верификации на основе аксиоматического подхода, в первую очередь, необходимо построить аксиоматическую теорию для языка ФПП программирования Пифагор, в рамках которой и будут проводиться формальные доказательства корректности программ.

Язык аксиоматической теории
Аксиомы
Правила вывода
Пусть для некоторых i выполнено условие:
Анализ корректности функционально-потоковых параллельных программ
Анализ корректности рекурсий
Пример
Заключение

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

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.