ClearView автоматически отслеживает нарушения работы программы и создает для нее бинарные патчи
Эта программа создана под руководством Martin C. Rinard, профессора MIT. ClearView не нуждается в исходном коде программы. Работа ClearView состоит из следующих стадий:
Обучение -- наблюдая за нормальной работой приложения создается модель работы программы. Модель -- это набор утверждений (инвариантов) о состоянии регистров и памяти. Мониторинг -- с помощью подключаемых мониторов (в проекте использовались Heap Guard & Determina Memory Firewall) выявляются нарушения функционирования (типа срыва стэка). Идентификация связанных инвариантов -- в случае нарушения функционирования устанавливаются бинарные патчи недалеко от точки нарушения, которые выявляют связанные с нарушением инварианты. Генерация бинарных патчей -- кандидатов на починку. Патчи меняют функционирование программы только при нарушении связанных инвариантов. Проверка того, что патч-кандидат решает проблему и выбор одного из кандидатов.
Таким образом программа может продолжать работать до внесения исправления в исходники.
Обучение -- наблюдая за нормальной работой приложения создается модель работы программы. Модель -- это набор утверждений (инвариантов) о состоянии регистров и памяти. Мониторинг -- с помощью подключаемых мониторов (в проекте использовались Heap Guard & Determina Memory Firewall) выявляются нарушения функционирования (типа срыва стэка). Идентификация связанных инвариантов -- в случае нарушения функционирования устанавливаются бинарные патчи недалеко от точки нарушения, которые выявляют связанные с нарушением инварианты. Генерация бинарных патчей -- кандидатов на починку. Патчи меняют функционирование программы только при нарушении связанных инвариантов. Проверка того, что патч-кандидат решает проблему и выбор одного из кандидатов.
Таким образом программа может продолжать работать до внесения исправления в исходники.
Ещё новости по теме:
18:20