27.08.2014: Выпущен инструментарий LDV Tools 0.6

Наиболее важные изменения, которые вошли в LDV Tools 0.6:

  • Поддержка совместимости с ядром ОС Linux версий 3.14-3.16.
  • Улучшения в 5 существующих спецификациях правил:
  • Добавлены 11 новых спецификаций правил:
  • Обновлена версия инструмента верификации CPAchecker до 1.3.4 (r12604).
  • Исправлена большая часть проблем с памятью, в особенности утечки памяти, в Aspectator и C-Backend компонента CIF (теперь он потребляет до тысячи раз меньше памяти на больших аспектных файлах) .
  • Оптимизация Aspectator, которые сокращают время инструментирования до 25 раз для некоторых больших аспектных файлов.
  • Альтернативная реализация скрипта загрузки результатов верификации в базу данных, которая работает в несколько десятков раз быстрее предыдущей.

Результаты валидации инструментария LDV Tools версий 0.6 и 0.5 с различными инструментами верификации на наборе, состоящем из 41 известной ошибки в ядре Linux*, представлены ниже в таблице.

LDV Tools 0.6 LDV Tools 0.5
BLAST CPAchecker BLAST CPAchecker
Найденные ошибки 17 13 15 14
Пропуск ошибок Ошибки в инструментах верификации 3 2 3 3
Нехватка памяти (63 гигабайта) 1 2 1 0
Нехватка времени (50 минут) 0 6 0 4
Неподдерживаемые спецификации правил 0 0 7 7
Другие 20 18 15 13

Инструменты верификации BLAST и CPAchecker смогли найти на одну ошибку больше благодаря улучшению спецификации правила SKB allocation in pm_runtime context. Дополнительно BLAST нашел еще одну ошибку для одной из новых спецификаций. CPAchecker не смог найти три ошибки из-за увеличения времени анализа, но нашел ошибку, которая раньше не находилась из-за исключения.

Соответствующий исходный код доступен в репозитории по тегу v0.6. Инструкции по скачиванию и установке LDV Tools описаны здесь.

* Текущий набор валидации имеет ряд существенных отличий от набора, использованного ранее для валидации LDV Tools 0.5.