02.08.2012: Вышла версия 0.1 альфа 1 системы KernelStrider
KernelStrider даёт возможность собирать данные о работе модулей ядра Linux, в том числе драйверов устройств, модулей файловых систем и т.д.
KernelStrider собирает информацию об операциях чтения/записи с памятью, выполняемых анализируемым модулем ядра, а также о вызовах функций и некоторых других событиях. Эти данные можно, в частности, передать для анализа системам, выявляющим "состояния гонки" ("race conditions") в программных компонентах, таким, например, как "offline"-вариант системы ThreadSanitizer, http://code.google.com/p/data-race-test/.
При использовании текущей версии KernelStrider для анализа компонентов ядра Linux и выявления там "состояний гонки" пользователю может потребоваться специальным образом отметить ("аннотировать") некоторые конструкции в коде этих компонентов. Например, - указать, что callback-функции, реализующие файловые операции, могут выполняться только после того, как будут соответствующим образом зарегистрированы, и т.п.
В дальнейшем система KernelStrider будет доработана так, чтобы больше видов таких отношений порядка, а также механизмов синхронизации выявлялось и обрабатывалось автоматически.
На данный момент, поддерживается только архитектура x86.
Загрузить KernelStrider можно с домашней страницы проекта, http://code.google.com/p/kernel-strider/.
Пошаговое руководство по использованию KernelStrider и ThreadSanitizer для поиска ошибок в модуле ядра:
http://code.google.com/p/kernel-strider/wiki/KernelStrider_Tutorial
В будущем KernelStrider может войти в состав системы KEDR (http://code.google.com/p/kedr/).