КОРРЕКТНОСТЬ ПРОГРАММНЫХ СРЕДСТВ Корректность программных










Лекция 3-Корректность ПС.ppt
- Количество слайдов: 10
КОРРЕКТНОСТЬ ПРОГРАММНЫХ СРЕДСТВ
Корректность программных средств – это соответствие проверяемого объекта некоторому эталонному объекту или совокупности более или менее формализованных характеристик и правил. Корректность текстов программ – это степень соответствия исходных текстов программ формализованным правилам языков спецификаций и программирования. Конструктивная корректность модулей – это соответствие им структуры общих правил структурного программирования и конкретным правилам оформления и внутренних построения программных модулей в данном заказе. Функциональная корректность модулей – это корректность обработки исходных данных и получение результатов.
Конструктивная корректность данных определяется правилами их структурирования и упорядочивания. Функциональная корректность данных связана в основном с конкретизацией их содержания в процессе использования программ, а также при подготовке данных внешним оппонентам. Конструктивная корректность программных модулей определяется правилами структурного модульного построения программных комплексов и общими правилами организации межмодульных связей. Это составляющее может быть проверено формализованными автоматизированными методами. Функциональная корректность комплексов программ наиболее трудно формируется вследствие большого количества возможных эталонных значений и распределений. В наиболее сложном случае, для программ реального времени, можно разделить на: Ø детерминированную корректность – должно быть обеспечено однозначное соответствие исходных и результирующих программ определяющее эталонное значение; Ø стохастическую корректность – статическое соответствие распределений и результирующих случайных величин заданным эталонным распределениям при соответствующих распределениях исходных данных; Ø динамическую корректность – это соответствие изменяющихся во времени результатов использования программ эталонным данным.
Синтаксический контроль корректности текстов программ – это проверка входного текста программы на соответствие синтаксису языка программирования. Семантический контроль корректности текстов программ – это проверка корректности применения и взаимодействия базовых конструкций языка программирования в тексте проверяемой программы. Формализованный структурный контроль программ основывается на статистической проверке соответствия структуры программы и последовательности основных операций использования памяти в системе эталонных правил. Верификация (подтверждение правильности) состоит в проверке и доказательстве корректности разработанной программы по отношению к совокупности формальных утверждений представленных программных спецификаций и полностью определяющем связи между входными и выходными данными программы.
Корректность комплексов программ Корректность комплексов программ Корректность Корректность текстов программных групп и данных программ модулей комплексов программ синтаксически структурная Структурных Структурная и й межмодульная связи функциональн Конкретных семантический ая значений Функциональн ая связь детерминиров анная детерминиров анная стохастическая динамическая
Схема взаимодействия компонент, определяющих обнаруженные отклонения программ от эталонных Модель области определения исходных данных Эталоны: 1. формализованные Проверки программы: правила; 1. исходные тексты; 2. программы 2. результаты спецификаций; использования 3. тесты. Средства сравнения программ и их Отклонение от результатов с эталонов эталонами
Типы эталонов и методы проверки корректировки программ
Методы получения эталонных значений Методы получения эталонных значений Ручные или компьютерные Разработка упрощенной расчеты по аналитическим или обобщенной формулам материальной модели проверяемых программ Использование результатов функционирования ранее разработанных реальных Разработка комплексов программ или правдоподобных гипотез и их компонентов постановка умозрительных экспериментов.
Блок-схема системы верификаций программных модулей
Общая схема отладки программы

