RUS  ENG
Полная версия
ЖУРНАЛЫ // Труды института системного программирования РАН // Архив

Труды ИСП РАН, 2015, том 27, выпуск 5, страницы 157–174 (Mi tisp177)

Эта публикация цитируется в 1 статье

Использование симуляции сбоев при тестировании компонентов ядра ОС Linux

А. В. Цываревa, А. В. Хорошиловabcd

a Институт системного программирования РАН
b Московский физико-технический институт (государственный университет)
c Национальный исследовательский университет "Высшая школа экономики"
d Московский государственный университет имени М.В. Ломоносова

Аннотация: В статье рассматриваются методы тестирования компонентов ядра ОС Linux с использованием симуляции сбоев. Основная цель таких методов – проверка поведения модуля при возникновении нештатных ситуаций, таких как сбои в аппаратуре или нехватка ресурсов.
Эти ситуации на практике встречаются достаточно редко и непредсказуемо, что существенно затрудняет их обнаружение и локализацию.
Единственным распространённым подходом к поиску таких проблем является случайное внесение сбоев в ходе выполнения обычных тестов.
Но из-за недетерминированной природы такой способ тестирования не обеспечивает достаточной воспроизводимости тестовых сценариев, что не позволяет давать никаких гарантий корректности поведения драйвера даже в случае успешного выполнения всех тестов.
В статье предлагаются новые методы систематического тестирования устойчивости к сбоям, решающие проблему воспроизводимости тестирования.
В основе этих методов лежит систематический перебор точек для симуляции сбоев с отбрасыванием потенциально "неинтересных" тестов, которые не проверяют ничего нового по сравнению с другими тестами. Применимость и эффективность конкретного систематического метода зависит от способа определения "неинтересных" тестов: это может быть как ручное выделение уникальных участков базовых тестов, ограничивающих множество точек для симуляции сбоев, так и автоматическое определение дублирующих точек по стеку вызовов функций тестируемого модуля. Была проведена апробация предложенных систематических методов на одном из драйверов Linux и двух тестовых наборах. Результаты апробации показывают, что систематические методы не уступают по эффективности методу со случайным внесением сбоев, а в чем-то и превосходят его.

Ключевые слова: Linux, компоненты ядра Linux, драйвер, тестирование, симуляция сбоев.

DOI: 10.15514/ISPRAS-2015-27(5)-9



Реферативные базы данных:


© МИАН, 2024