|
Эта публикация цитируется в 3 научных статьях (всего в 3 статьях)
Automation of formal verification of programs in the Pifagor language
[Автоматизация формальной верификации программ на языке Пифагор]
M. S. Ushakova, A. I. Legalov Siberian Federal University, Institute of Space and Information Technology, 26 Kirenskogo street, Krasnoyarsk, 660074, Russia
Аннотация:
В связи с увеличением сложности программного обеспечения корректность программы всё чаще доказывается с помощью методов формальной верификации. Дедуктивный анализ на основе исчисления Хоара применим для произвольных языков программирования и допускает частичную автоматизацию процесса. Однако дедуктивный анализ не нашёл широкого применения для верификации параллельных программ из-за высокой сложности процесса. Использование функционально-потоковой парадигмы параллельного программирования позволяет снизить сложность доказательства. В работе рассматривается процесс доказательства корректности функционально-потоковых параллельных программ на языке Пифагор и предлагается архитектура инструментального средства для поддержки процесса доказательства. Процесс доказательства корректности программы представляется в виде дерева, каждый узел которого — информационный граф программы, в котором дуги размечены формулами на языке спецификации. Корнем дерева является информационный граф программы с предусловием и постусловием, которые описывают ограничения на входные переменные и условия корректности результата работы программы соответственно. Основные преобразования, применимые к информационному графу программы: разметка дуг, эквивалентное преобразование, расщепление, свертка программы. Посредством данных преобразований информационный граф модифицируется и, в конечном счете, сводится к набору формул на языке спецификации, истинность которых будет свидетельствовать о корректности программы. Предложена архитектура системы поддержки процесса доказательства, которая позволяет строить дерево доказательства. В системе выделено несколько основных модулей: «Модуль доказательства корректности программы», «Система управления библиотекой аксиом и теорем» и «Модуль анализа ошибок и выдачи информации об ошибках». Согласно описанной архитектуре, разработано инструментальное средство для поддержки формальной верификации, которая позволяет строить дерево доказательства. Описана основная функциональность реализации системы.
Ключевые слова:
функционально-потоковое параллельное программирование, язык программирования Пифагор, формальная верификация программ, инструментальные средства для поддержки формальной верификации.
Поступила в редакцию: 18.05.2015
Образец цитирования:
M. S. Ushakova, A. I. Legalov, “Automation of formal verification of programs in the Pifagor language”, Модел. и анализ информ. систем, 22:4 (2015), 578–589
Образцы ссылок на эту страницу:
https://www.mathnet.ru/rus/mais461 https://www.mathnet.ru/rus/mais/v22/i4/p578
|
|