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

Особенности и преимущества

Casr решает те же задачи, что и система с открытым исходным кодом Apport, однако в отличие от неё проводит оценку критичности аварийного завершения, а также предоставляет список открытых файлов и сетевых соединений на момент завершения.

Casr – это:

  • Обнаружение критичных аварийных завершений, которые могут привести к перехвату потока управления.
  • Классификация аварийных завершений по 23 классам в зависимости от состояния программы на момент завершения (перезапись адреса возврата из функции, разыменование нулевого указателя и др.). Далее аварийные завершения группируются по степени критичности: эксплуатируемые, потенциально эксплуатируемые, отказ в обслуживании.
  • Поиск открытых файлов и сетевых соединений, которые могут быть причиной аварийного завершения.
  • Развёрнутый отчёт об ошибке, который содержит информацию о степени критичности аварийного завершения, а также дополнительные данные (версии ОС и пакета, строка запуска программы, стек вызовов, открытые файлы и сетевые соединения, состояние регистров и др.);
  • Отчёты для трудновоспроизводимых ошибок (недетерминированные ошибки, отсутствие возможности настроить правильное окружение и др.);
  • Интеграция с системами мониторинга (например, Zabbix), которая позволяет системным администраторам оперативно получать информацию о критичных аварийных завершениях.

Опыт внедрения

CASR поставляется в ряд российских компаний и организаций в дополнение к комплексу ИСП Crusher, куда он будет включён в ближайшие 1-2 года.

Системные требования

Поддержка ОС семейства Linux x86 (32/64), armv7. Инструмент может распространятся в виде deb-пакета.

Схема работы