Статический анализ кода для автоматизированного обнаружения ошибок при переносе программ на 64-битные платформы

Рыжков, Евгений Александрович. Статический анализ кода для автоматизированного обнаружения ошибок при переносе программ на 64-битные платформы : диссертация ... кандидата технических наук : 05.13.11 / Рыжков Евгений Александрович; [Место защиты: Тул. гос. ун-т].- Тула, 2009.- 135 с.: ил. РГБ ОД, 61 09-5/2732
Автор
Рыжков, Евгений Александрович
Год
2009
  • 99 000 UZS

Оглавление диссертации
Введение
Глава 1. Постановка задачи переноса приложений на 64-битные платформы
1.1 Проблема переноса приложений на 64-битные платформы 16
1.2 Способы тестирования приложений для подтверждения корректности переноса кода
1.2.1 Просмотр кода 22
1.2.2 Статический анализ кода 23
1.2.3 Динамический анализ кода 23
1.2.4 Метод белого ящика 24
1.2.5 Метод черного ящика 25
1.2.6 Ручное тестирование 26
1.3 Основные задачи исследования 26
Глава 2. Статический анализ кода как наиболее удобное решение для проверки корректности 64-битных программ 28
2.1 Применение статического анализа кода при разработке программ 28
2.1.1 Процесс анализа 30
2.1.2 Дерево кода 33
2.1.3 Методы статического анализа 34
2.2 Разработка статического анализатора: требования, архитектура, реализация 37
2.2.1 Требования к анализатору кода 37
2.2.2 Архитектура анализатора кода 38
2.2.3 Реализация анализатора кода 44
Глава 3. Обнаружение ошибок при переносе программ на 64-битные платформы 47
3.1 Примеры потенциально-опасных конструкций в коде программ на языке Си++ 47
3.1.1 Использование функций с переменным количеством аргументов...51
3.1.2 Магические константы 52
3.1.3 Хранение в double целочисленных значений 56
3.1.4 Операции сдвига 57
3.1.5 Упаковка указателей 59
З.І.бМептзіге-типьів объединениях 61
3.1.7 Изменение типа массива 63
3.1.8 Виртуальные функции с аргументами THnamemsize 64
3.1.9 Сериализация и обмен данными
3.1.10 Битовые поля 68
3.1.11 Адресная арифметика с указателями 71
3.1.12 Индексация массивов 73
3.1.13 Смешанное использование простых целочисленных типов и memsize-типов 76
3.1.14 Неявные приведения типов при использовании функций 80
3.1.15 Перегруженные функции 81
3.1.16 Выравнивание данных 82
3.1.17 Исключения 85
3.1.18 Использование устаревших функций и предопределенных констант 86
3.1.19 Явные приведения типов 86
3.2 Правила статического анализа кода для диагностики потенциально опасных конструкций 87
3.2.1 Приведение 32-битных целых типов к memsize-типам 89
3.2.2 Приведение memsize-типов к целым 32-битным типам 90 3.2.3 Memsize-типы в виртуальных функциях 90
3.2.4 Memsize-типы в перегруженных функциях 91
3.2.5 Приведение типов указателей на memsize-типы 92
3.2.6 Приведение memsize-типов к double 92
3.2.7 Memsize-типы в функции с переменным количеством аргументов .93
3.2.8 Опасные константы 93
3.2.9 Memsize-типы в объединениях 94
3.2.10 Исключения и memsize-типы 94
3.3 Методика создания новых правил диагностики ошибок 95
Глава 4. Программный комплекс для статического анализа 64-битных приложений Viva64 97
4.1 Обзор программы Viva64 97
4.2 Сравнение диагностических возможностей современных анализаторов при проверке 64-битного кода 101
4.3 Применение Viva64 для проверки CAD-системы Leios Studio 105
4.3.1 Библиотека компонентов Leios Components 106
4.3.2 Программный интерфейс для работы с облаками точек и триангулированными сетками 107
4.3.3 Библиотека подгонки деталей 109
4.3.4 Библиотека обработки граней и ребер 110
4.3.5 Необходимость миграции библиотеки компонентов на 64-битную платформу 111
4.3.6. Участие компании ООО «СиПроВер» в миграции библиотеки
компонентов 112
Заключение 114
Список использованных источников

Рекомендуем вам товары

99 000 UZS
Автор
Савин Александр Николаевич
Количество страниц
Год
2009
99 000 UZS
Автор
Сачкова Елена Федоровна
Количество страниц
Год
2009
99 000 UZS
Автор
Сидоров Иван Александрович
Количество страниц
Год
2009
99 000 UZS
Автор
Степанов Олег Георгиевич
Количество страниц
Год
2009
Модули для Opencart 2, Опенкарт 3