Введение ........................................................................................................................ 4
1. Анализ методов снижения числа ошибок в программном обеспечении ... 14
1.1. Виды и последствия ошибок в программном обеспечении ....................... 14
1.2. Анализ существующих методов снижения числа ошибок......................... 18
Далее хотелось бы подробнее остановиться и подробнее рассмотреть
некоторые из известных методов сокращения числа программных ошибок.... 19
1.3. Способы автоматизации разработки программного обеспечения ............ 23
1.4. Возможности декларативного программирования и
метапрограммирования ........................................................................................... 29
1.5. Критерии оценки надёжности и сложности ПО. Обоснование и выбор
моделей для оценки количества ошибок в ПО ..................................................... 32
1.6. Снижение числа ошибок в программном обеспечении на основе
сокращения степени участия программиста ......................................................... 37
1.7 Постановка задач работы ........................................................................... 40
2. Исследование и разработка метаязыка описания задач для автоматизации
программирования ................................................................................................... 42
2.1 Технологии снижения числа программных ошибок в процессе создания
кода, использующие сокращение участия программиста ................................... 42
2.2 Формализация понятия метаязыка описания задач .................................... 47
2.3 Разработка синтаксиса метаязыка описания задач ..................................... 49
2.4 Оценка сжатия текста, написанного программистом, при использовании
CDTL ......................................................................................................................... 54
2.5 Алгоритм динамического выбора состава модулей для решения
коллектива задач одного типа ................................................................................ 56
2.6 Универсальный конфигуратор ПО, для пакета программ защиты Webсервера....................................................................................................................... 61
2.7 Выводы по главе ............................................................................................. 65
3. Разработка программной среды и оптимизация метаязыка описания
задачи........................................................................................................................... 67
3.1 Выбор и обоснование архитектуры программной среды........................... 67
3.2 Банки описаний алгоритмов программных модулей.................................. 68
3.3 Применение банка алгоритмов как части транслятора описания задачи на
CDTL ......................................................................................................................... 713
3.4 Алгоритм идентификации формализованных результатов внешней
верификации программных модулей в базах данных .......................................... 74
3.5 Исследование алгоритма идентификации формализованных результатов
внешней верификации программных модулей в базах данных .......................... 87
3.6 Описание фаз работы транслятора CDTL.................................................... 91
3.7 Выводы по главе ............................................................................................. 94
4. Экспериментальное исследование методов снижения числа программных
ошибок на основе сокращения участия программиста .................................... 96
4.1 Апробация метаязыка описания задачи CDTL с помощью транслятора при
генерации пакета программ для защиты от атак WEB-сервера .......................... 96
4.2 Характеристика программных модулей, используемых при тестировании
метаязыка описания задач..................................................................................... 100
4.3 Экспериментальная оценка методов контекстного анализа слова и файла
108
4.4 Оценка сокращения сложности разработки программ на CDTL с
помощью метрики Холстеда и Метрики Джилба............................................... 113
4.5 Оценка сокращения количества ошибок в программах при применении
метаязыка CDTL с помощью метрики Холстеда и простой интуитивной
модели. .................................................................................................................... 114
4.6 Выводы по главе.............................................................................................. 116
Заключение............................................................................................................... 117
Список литературы ................................................................................................ 118
ПРИЛОЖЕНИЕ Свидетельства о регистрации программных продуктов,
патент на изобретение и акт внедрения ............................................................. 135


