Введение
Глава 1. Проблемы и анализ существующих подходов к поиску уязвимостей в исполняемом коде 14
1.1. Введение в проблематику, основные термины и определения 14
1.2. Классификация уязвимостей и ошибок программного обеспечения 19
1.3. Модели и алгоритмы для поиска уязвимостей в исполняемом коде 27
1.4. Обзор и сравнение существующих инструментальных средств для автоматизированного поиска уязвимостей в исполняемом коде 42
1.5. Выводы 45
Глава 2. Модель и алгоритмы автоматизированного поиска уязвимостей в трассе программы с оценкой эффективности 47
2.1. Модель поиска уязвимостей в трассе программы 47
2.1.1. Алгоритм автоматизированного поиска уязвимостей в трассе 50
2.2. Методика трансляции исполняемого кода 54
2.2.1. Общий алгоритм частичной декомпиляции 54
2.2.2. Алгоритм интерпретации исполняемого кода 55
2.2.3. Алгоритм сборки 57
2.3. Алгоритм анализа помеченных данных 59
2.4. Метрики программного кода и их применение к задаче расчета эффективности тестирования 61
2.4.1. Алгоритм преобразования процедуры в граф 61
2.4.2. Описание метрик оценки сложности кода
2.5. Алгоритм расчета полноты и повышения эффективности тестирования 74
2.5.1. Алгоритм расчёта количества достижимых вершин в программе 77
2.6. Выводы 79
Глава 3. Элементы системы автоматизированного поиска уязвимостей и повышения эффективности 81
3.1. Описание подсистемы расчета полноты и повышения эффективности систем тестирования 81
3.2. Модуль расчета сложности покрытия 86
3.3. Описание подсистемы автоматизированного поиска уязвимостей в трассе программы
3.3.1. Описание модуля частичной декомпиляции 89
3.3.2. Описание модуля анализа помеченных данных 91
3.3.3. Описание модуля детектирования уязвимостей 93
3.4. Выводы 100
Глава 4. Экспериментальная оценка эффективности комплекса 102
4.1. Общая схема взаимодействия подсистем в программном комплексе 102
4.2. Экспериментальная оценка эффективности метрик расчета сложности покрытия 104
4.3. Экспериментальная оценка эффективности подсистем и программного комплекса
4.4. Описание внедрений результатов диссертационной работы 112
4.5. Выводы 119
Заключение 121
Список сокращений и условных обозначений 123
Словарь терминов 125
Список литературы 129


