Аннотация:
Несмотря на то, что при разработке программного обеспечения используются различные технологии и подходы, позволяющие диагностировать ошибки на ранних этапах разработки и тестирования, часть ошибок обнаруживается во время эксплуатации. Для пользователя ошибки часто выглядят, как аварийное завершение программы во время работы. Для сбора отчётов об аварийных завершениях программ в операционную систему встраивается специальный компонент анализа. Такой компонент присутствует как в ОС Windows, так и в ОС на базе Linux, в частности в Ubuntu. Важным параметром является степень критичности найденной ошибки, причем данная информация полезна как разработчику дистрибутива, так и пользователю. В частности, пользователи, имея такую диагностику, могут принять организационно-технические меры до выхода исправления ошибки от разработчика программного обеспечения. В статье представлен CASR: инструмент анализа образа памяти в момент завершения процесса (coredump) и составления отчётов об ошибках. Инструмент позволяет проводить оценку критичности обнаруженного аварийного завершения путём анализа образа памяти, а также собирать необходимую информацию для разработчика, которая поможет исправить дефект. В качестве такой информации выступают версия дистрибутива ОС, версия пакета, карта памяти процесса, состояние регистров, значения переменных среды, стек вызовов, номер сигнала, который привёл к аварийному завершению, и т.д. Оценка критичности даёт возможность разработчику программного обеспечения исправить ошибки, которые являются наиболее опасными в первую очередь. CASR позволяет обнаружить файлы и сетевые соединения, которые были открыты в момент аварийного завершения. Эта информация поможет воспроизвести ошибку, а также принять меры пользователям и администраторам в случае атаки на систему. Инструмент предназначен для работы на ОС Linux, поддерживает архитектуры x86/64, armv7 и может поставляться в виде пакета для дистрибутивов на базе Debian. Инструмент был успешно протестирован на нескольких ошибках, сведения о которых были получены из открытых источниках.
Ключевые слова:оценка критичности, дамп памяти, отчёты об ошибках.