ClearView автоматически отслеживает нарушения работы программы и создает для нее бинарные патчи

Эта программа создана под руководством Martin C. Rinard, профессора MIT. ClearView не нуждается в исходном коде программы. Работа ClearView состоит из следующих стадий:

  • Обучение -- наблюдая за нормальной работой приложения создается модель работы программы. Модель -- это набор утверждений (инвариантов) о состоянии регистров и памяти.
  • Мониторинг -- с помощью подключаемых мониторов (в проекте использовались Heap Guard & Determina Memory Firewall) выявляются нарушения функционирования (типа срыва стэка).
  • Идентификация связанных инвариантов -- в случае нарушения функционирования устанавливаются бинарные патчи недалеко от точки нарушения, которые выявляют связанные с нарушением инварианты.
  • Генерация бинарных патчей -- кандидатов на починку. Патчи меняют функционирование программы только при нарушении связанных инвариантов.
  • Проверка того, что патч-кандидат решает проблему и выбор одного из кандидатов.
Таким образом программа может продолжать работать до внесения исправления в исходники.

©  Linux.org.ru