|
Автоматическое обнаружение использования неинициализированных значений в рамках полносистемной эмуляции
Н. А. Беловab a Московский государственный университет имени М.В. Ломоносова
b Институт системного программирования РАН
Аннотация:
Описанный в данной статье метод позволяет автоматически обнаруживать использование неинициализированных значений в рамках полносистемной эмуляции. Это актуально для такого низкоуровневого программного обеспечения, как, например, BIOS или начальный загрузчик, выполняющие функции инициализации оборудования и загрузки операционной системы. Ошибки в данных программных системах наиболее опасны и приводят к неработоспособности всей системы целиком. Программное обеспечение подобного рода затруднительно тестировать на реальной аппаратуре, поэтому для этих целей используются эмуляторы различных архитектур. В рамках работы был разработан метод использования теневой памяти (памяти, содержащей информацию об исходной памяти) для хранения и отслеживания состояния регистров и ячеек гостевой памяти. Также были сформулированы критерии обнаружения использования неинициализированных значений и уведомления об ошибках. Разработанный метод был реализован и протестирован на гостевой системе архитектуры x86 в полносистемном эмуляторе QEMU.
Ключевые слова:
обнаружение неинициализированных значений, полносистемная эмуляция, инструментирование.
Образец цитирования:
Н. А. Белов, “Автоматическое обнаружение использования неинициализированных значений в рамках полносистемной эмуляции”, Труды ИСП РАН, 28:5 (2016), 11–26
Образцы ссылок на эту страницу:
https://www.mathnet.ru/rus/tisp65 https://www.mathnet.ru/rus/tisp/v28/i5/p11
|
|