Сборники трудов ИСП РАН


Автоматическое обнаружение использования неинициализированных значений в рамках полносистемной эмуляции

Н.А. Белов (ИСП РАН, Москва, Россия, МГУ, Москва, Россия)

Аннотация

Описанный в данной статье метод позволяет автоматически обнаруживать использование неинициализированных значений в рамках полносистемной эмуляции. Это актуально для такого низкоуровневого программного обеспечения, как, например, BIOS или начальный загрузчик, выполняющие функции инициализации оборудования и загрузки операционной системы. Ошибки в данных программных системах наиболее опасны и приводят к неработоспособности всей системы целиком. Программное обеспечение подобного рода затруднительно тестировать на реальной аппаратуре, поэтому для этих целей используются эмуляторы различных архитектур. В рамках работы был разработан метод использования теневой памяти (памяти, содержащей информацию об исходной памяти) для хранения и отслеживания состояния регистров и ячеек гостевой памяти. Также были сформулированы критерии обнаружения использования неинициализированных значений и уведомления об ошибках. Разработанный метод был реализован и протестирован на гостевой системе архитектуры x86 в полносистемном эмуляторе QEMU.

Ключевые слова

обнаружение неинициализированных значений, полносистемная эмуляция, инструментирование

Издание

Труды Института системного программирования РАН, том 28, вып. 5, 2016, стр. 11-26.

ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).

DOI: 10.15514/ISPRAS-2016-28(5)-1

Полный текст статьи в формате pdf Вернуться к содержанию тома