
- •2) Проблема разрешимости
- •4) Эффективный ап, классы эквивалентности, управляемый ап.
- •5) Простой ап, его протокол. Репозиция ап.
- •6)Сети Петри: граф, структура, назначение, маркировка. Выполнение сп.
- •7)Особенности моделирования сетями Петри
- •8) Свойства сп:
- •9) Дерево достижимости
- •10)Анализ свойств сетей Петри с помощью дерева достижимости.
- •14) Виды конечных автоматов
- •15) Работа ка. Автоматы-преобразователи и автоматы-распознаватели.
- •16) Прямое произведение ка. Эквивалентность автоматов.
- •17) Нахождение эквивалентных состояний ка. Теорема Мура
- •18) Минимизация ка.
- •19) Взаимодействующие последовательные процессы (впп).
- •20) Протоколы впп и операции с ними.
- •21) Свойства параллельных вычислительных процессов (пвп).
- •22.3) Программирование пвп. Признаки параллельности.
- •24) Моделирование пвп: метод процесс/канал.
- •25)Моделирование пвп: метод обмена сообщениями.
- •26)Моделирование пвп: метод параллелизма данных.
- •27)Моделирование пвп: метод использования общей памяти.
- •28) Семантическая теория программ. Метаязыки для описания синтаксиса.
- •30) Семантическая теория программ. Денотационная семантика.
- •31) Семантическая теория программ. Операционная и декларативная семантика.
- •32) Аксиоматическая семантика
- •33) Жизненный цикл по. Основные модели жизненного цикла.
- •34) Верификация как этап жизненного цикла по.
34) Верификация как этап жизненного цикла по.
Верификация (от лат. verus — истинный, facere — делать) — это подтверждение соответствия конечного продукта предопределённым эталонным требованиям.
Формальная верификация —доказательство с помощью формальных методов правильности или неправильности программы (системы) в соответствии с формальным описанием свойств программы (системы).
Методы верификации:
Метод аксиоматической семантики Хоара
Метод индуктивных утверждений Флойда
Доказательное программирование
(proofing programming)
Автоматическое доказательство теорем
(Theorem proving)
Проверка моделей (Model checking)
Символьное выполнение (Symbolic execution)
Абстрактная интерпретация
(Abstract Interpretation)
Верификация ПО
Верификация - это процесс определения, выполняют ли программные средства и их компоненты требования, наложенные на них в последовательных этапах жизненного цикла разрабатываемой программной системы.
Основная цель верификации состоит в подтверждении того, что программное обеспечение соответствует требованиям.
Дополнительной целью является выявление и регистрация дефектов и ошибок, которые внесены во время разработки или модификации программы.
В задачи верификации включается контроль результатов одних разработчиков при передаче их в качестве исходных данных другим разработчикам.
Верификация должна быть тесно интегрирована с процессами проектирования, разработки и сопровождения программной системы.
Верификация - процесс, направленный на демонстрацию наличия ошибок и условий их возникновения.
Верификация включает в себя анализ причин возникновения ошибок и последствий, которые вызовет их исправление, планирование процессов поиска ошибок и их исправления, оценку полученных результатов.
Задачи и цели процесса верификации
Цель: доказательство того, что результат разработки соответствует предъявленным к нему требованиям.
Задачи: последовательная проверка того, что в программной системе:
* общие требования к информационной системе, предназначенные для программной реализации, корректно переработаны в спецификацию требований высокого уровня к комплексу программ, удовлетворяющих исходным системным требованиям;
* требования высокого уровня правильно переработаны в архитектуру ПО и в спецификации требований к функциональным компонентам низкого уровня, которые удовлетворяют требованиям высокого уровня;
* спецификации требований к функциональным компонентам ПО, расположенным между компонентами высокого и низкого уровня, удовлетворяют требованиям более высокого уровня;
* архитектура ПО и требования к компонентам низкого уровня корректно переработаны в удовлетворяющие им исходные тексты программных и информационных модулей;
* исходные тексты программ и соответствующий им исполняемый код не содержат ошибок.
Основные характеристики объектов, влияющие на выбор методов верификации
класс комплекса программ, определяющийся глубиной связи его функционирования с реальным временем и случайными воздействиями из внешней среды, а также требования к качеству обработки информации и надежности функционирования;
сложность или масштаб (объем, размеры) комплекса программ и его функциональных компонентов, являющихся конечными результатами разработки;
преобладающие элементы в программах: осуществляющие вычисления сложных выражений и преобразования измеряемых величин или обрабатывающие логические и символьные данные для подготовки и отображения решений.