Оглавление
Список обозначений
Введение
1 Автоматизированное обнаружение уязвимостей в программах на языке С
1.1 Типы существующих программных дефектов
1.1.1 Некорректные операции с памятью.
1.1.2 Некорректные операции с целыми типами.
1.1.3 Операции чтения неопределенного значения
1.1.4 Некорректное использование функций стандартной библиотеки
1.1.5 Утечки памяти .
1.2 Методы и средства обнаружения программных дефектов
1.2.1 Методы лексического и синтаксического анализа.
1.2.2 Программный комплекс i.
1.2.3 Программный комплекс .
1.2.4 Метод абстрактной интерпретации программ
1.3 Выводы..
2 Метод обнаружения дефектов в программах на языке С
2.1 Введение
2.2 Общий подход к решению задачи обнаружения дефектов в программах на языке С
2.2.1 Лексический и синтаксический анализ Спрограммы.
2.2.2 Преобразование .дерева разбора в промежуточное представление
2.2.3 Верификация программы на языке промежуточного представления
2.3 Описание языка I
2.3.1 Синтаксическая структура Iпрограммы
2.3.2 Типы данных.
2.3.3 Константы.
2.3.4 Инструкции
2.4 Математическая модель языка I.
2.5 Инварианты Iпрограммы
2.6 Базовый алгоритм генерирования инвариантов
2.6.1 Алгоритм обхода управляющею графа
2.6.2 Свойства систем интервальных уравнений .
2.6.3 Определение инвариантов в вершинах.
2.6.4 Теорема о корректности алгоритма генерирования инвариантов.
2.7 Построение и проверка индуктивных гипотез.
2.8 Выводы
3 Программная реализация средства автоматизированного обнаружения дефектов в программах на языке С
3.1 Требования к программному комплексу.
3.2 Основные этапы метода автоматизированною обнаружения уязвимостей
3.2.1 Лексический и синтаксический анализ С программы
3.2.2 Трансляция абстрактною синтаксическою дерева в промежуточное представление .
3.2.3 Верификация Iпрограммы
3.3 Выводы.
4 Исследование эффективности средства автоматизированного обнаружения уязвимостей в программах на языке С
4.1 Модельные примеры.
4.1.1 Модельный пример v
4.1.2 Модельный пример v.
4.2 Анализ программы xv
4.3 Выводы.
Заключение
Список использованных источников
- Киев+380960830922