Использование автогенерации кода для тестирования драйверов ОС Windows Дипломная работа студента 545 группы Комольцева Дмитрия Владимировича Научный руководитель:

Презентация:



Advertisements
Похожие презентации
Поддержка разработки Parallels Business Automation в среде Eclispe Научный руководитель: Сергушенков Ю. А. Рецензент: доцент кафедры системного программирования,
Advertisements

Генерация средств импорта данных в рамках проектов ИС, реализованных в технологии REAL-IT Выполнил Комиссаров Антон Научный руководитель: Иванов А.Н. Рецензент:
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Математико-механический факультет Кафедра системного программирования Автоматизация выбора оптимальной.
Проверка эквивалентности срединной и линейной осей многоугольника Дипломная работа студента 545 группы Подколзина Максима Валериевича Санкт-Петербургский.
Исследование возможностей сервисной шины SonicMQ Дипломная работа студентки 545 группы Комольцевой Дарьи Владимировны Научный руководитель: Графеева Н.Г.
Санкт-Петербургский Государственный Университет Математико-Механический факультет Кафедра системного программирования Межъязыковое взаимодействие OCaml.
Разработка отладчика для программ на языке haXe и целевой платформы Adobe Flash 9 Выполнил студент 544 группыКрасько Н.Л. Научный руководительПлискин М.М.
Санкт - Петербургский Государственный Университет Математико - механический факультет Кафедра системного программирования Система проверки данных на полноту.
Cанкт-Петербургский государственный университет математико-механический факультет кафедра системного программирования Перенос драйвера блочного устройства.
Автоматическая генерация каркасов клиентских приложений для систем с сервисно-ориентированной архитектурой Дипломная работа студента 545 группы Аязяна.
Курсовая работа студента 345 группы Чуновкина Фёдора Дмитриевича Научный руководитель: Бондарев А.В. Санкт-Петербургский Государственный Университет Математико-механический.
Генерация скрипта создания базы данных с учетом зависимостей Автор : Максим Масунов, 545 группа Санкт - Петербургский государственный университет Математико.
Сравнение различных технологий создания и использования web-сервисов Дипломная работа студентки 544 группы Григорьевой Елены Научный руководитель: Графеева.
Магистрант кафедры телекоммуникаций и информационных технологий Комиссар Дмитрий Семёнович Руководители: Доцент Резников Геннадий Константинович.
Апробация технологий Silverlight/LINQ/WCF для создания web-приложений, ориентированных на интенсивную обработку данных Дипломная работа студента 545 группы.
Санкт-Петербургский Государственный Университет Математико-механический факультет Кафедра системного программирования Научный руководитель: Я.А. Кириленко.
Программное обеспечение (ПО) § 3. Системное ПО Основные понятия: системное ПО, операционная система, утилита, драйвер.
Санкт-Петербургский Государственный Университет Математико-механический факультет Кафедра системного программирования Курсовая работа студентки 361 группы.
Разработка подсистемы для создания презентаций лекций средствами анимирования, а также моделирования электронных схем в интерактивном режиме МОСКОВСКИЙ.
1. ЧТО ТАКОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ? НАБОР ПРОГРАММ В ПАМЯТИ КОМПЬЮТЕРА 2. ИЗ КАКИХ ЧАСТЕЙ СОСТОИТ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ? КРОССОВЫЕ ТЕСТОВЫЕ СИСТЕМНЫЕ.
Транксрипт:

Использование автогенерации кода для тестирования драйверов ОС Windows Дипломная работа студента 545 группы Комольцева Дмитрия Владимировича Научный руководитель: Сабашный В.Е. Рецензент: Лабутин И.А год Санкт-Петербургский Государственный Университет Математико-Механический Факультет Кафедра Системного Программирования

Автоматическое тестирование Быстрее, чем ручное Некоторые области неудобно тестировать вручную Удобно проводить регрессионное тестирование Перехват функций Тестирование путей обработки ошибок Эмуляция ситуации нехватки системных ресурсов Формирование «специфических» запросов системе

Существующая система Операционная система Тестируемый драйвер Wrapper ExAllocatePool(…) Kernel mode User mode Тестовое окружение Установка параметров перехвата. w_ExAllocatePool(…){ изменение параметров; задержка; ExAllocatepool(…); Возврат кода ошибки; } … ExAllocatePool(…); …

WDF как среда разработки драйверов OS Windows Самая новая технология разработки драйверов от Microsoft Поддерживаются версии Windows начиная с Windows 2000 Kernel Mode Driver Framework и User Mode Driver Framework Простота разработки драйверов Берет на себя работу с PnP, WMI, DMA,... Поддержка версий

Проблема WDF поддерживает одновременную работу с разными версиями окружения Требуемая версия определяется в процессе загрузки драйвера Старый метод перехвата не работает Требуется добавить поддержку перехвата WDF функций Нельзя нарушать работу старой системы перехвата

Решение Wrapper Kernel mode w_WdfDriverCreate (…){ Изменение параметров; ws_ WdfDriverCreate (…); Возврат кода ошибки; } Тестируемый драйвер Работа… WdfDriverCreate(DG,…); Снова работа; … Операционная система WdfDriverCreate(DG,…) ts_WdfDriverCreate(DG,…){ return w_WdfDriverCreate(…); } ws_WdfDriverCreate(…){ return WdfDriverCreate(DG, …); }

Схема генерации Заголовочные файлы Windows DDK Заголовки функций Шаблоны функций- перехватчиков Выбранные заголовки Сгенерированные функции-перехватчики для всех функций Исходные коды драйвера- перехватчика Готовый драйвер Сгенерированные функции-обертки для WDF функций Выбранные заголовки с помеченными WDF функциями

Результаты В тестовое окружение добавлена поддержка перехвата WDF функций Вспомогательный код генерируется автоматически Сохранена совместимость со старыми тестами Найдены критические ошибки в коммерческом продукте