Информация о статье
2020 г., Том 25, № 5, с.91-106
Кондратьев Д.А., Промский А.В.
На пути к верификации научных и инженерных программ. Проект CPPS
В настоящее время, когда теоретические основы верификации программ хорошо изучены, исследователи концентрируют свои усилия на предметно-ориентированных методах для различных классов программ. Инструменты, которые они выбирают, варьируются от проверки моделей для сетевых протоколов до исчислений указателей для фрагментов ядра операционной системы. Однако, похоже, что области научных и инженерных программ все еще уделяется недостаточно внимания. Мы хотели бы внести свой вклад в заполнение этого пробела с помощью разработки системы CPPS. Целью этого проекта является создание системы параллельного программирования для Sisal-программ. Дедуктивная верификация Sisal-программ является одной из важных подцелей. Так как язык Cloud-Sisal построен на основе циклических выражений, их аксиоматическая семантика является базой логики Хоара для языка Sisal. Циклические выражения языка Cloud-Sisal, выражения конструирования массивов и выражения замещения элементов массивов позволяют реализовать эффективно исполняемые программы вычислительной или инженерной математики. Таким образом, мы полагаем, что наша аксиоматическая семантика для этих типов выражений может представлять интересный результат. Природа таких программ позволяет достичь не только эффективного исполнения, но и упростить верификацию. Действительно, программы вычислительной математики часто основаны на итерациях над структурами данных. Символический метод верификации финитных итераций является в этой ситуации очень полезным, так как он элиминирует те проблемные инварианты цикла, которые всегда мешают формальной верификации. Все предыдущие исследования этого метода были теоретическими, CPPS представляет собой первую попытку использования его на практике.
[полный текст] Ключевые слова: Cloud-Sisal, дедуктивная верификация, Cloud-Sisal-kernel, C-lightVer, облачная система параллельного программирования, ACL2, инвариант цикла
doi: 10.25743/ICT.2020.25.5.008
Библиографическая ссылка: Кондратьев Д.А., Промский А.В. На пути к верификации научных и инженерных программ. Проект CPPS // Вычислительные технологии. 2020. Т. 25. № 5. С. 91-106
|