Утилита Jolt реанимирует зависшее приложение

Многие пользователи не раз оказывались в ситуации, когда сбой приложения приводил к уничтожению результатов нескольких часов работы. Новая разработка инженеров из Массачусетского технологического института поможет минимизировать потери и в некоторых случаях вернет к жизни безнадежно зависшую программу. Сами разработчики называют свое творение «дефибриллятором для засбоивших приложений».

 

Одной из наиболее распространенных причин «зависания» программы является бесконечный цикл – ситуация в которой приложение раз за разом выполняет один и тот же фрагмент программного кода. Инструмент под названием Jolt позволит прервать этот замкнутый круг и заставит приложение перейти к следующей строке.

Утилита внимательно следит за использованием ресурсов памяти и изготавливает серию «мгновенных снимков» после выполнения каждого цикла. «Если снимки, создаваемые нашим приложением, отличаются друг от друга, это означает, что программа функционирует в обычном режиме и выполняет свои задачи, – объясняет разработчик Майкл Карбин (Michael Carbin). – Однако, генерирование серии одинаковых снимков свидетельствует о наличии проблем».

На стадии тестирования исследователи смогли восстановить работоспособность пяти разных программ с помощью Jolt. Приложения были возвращены в достаточно стабильное состояние для сохранения результатов работы и перезапуска.

Впрочем, предложенное решение вряд ли может претендовать на звание абсолютной защиты от сбоев. Разработчики честно признаются в наличии нескольких существенных проблем. Во-первых, Jolt крайне требователен к ресурсам и непрерывный мониторинг циклов, замедляет выполнение самой программы на восемь процентов. Второй, более существенный недочет, заключается в том, что для вывода программы из бесконечного цикла, инструмент должен применяться на стадии компиляции кода.

Исследователи уже работают над усовершенствованной версией утилиты под названием Bolt, которая обеспечит возвращение к жизни скомпилированных программ. На данный момент инструмент работает только с самыми простыми приложениями и не всегда справляется с обнаружением начала и окончания цикла в более сложных программах.

 

News Reporter

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *