SYSTEM ATLASЗагрузка материала

Теорема невозможности полного статического анализа

Limits of Static Analysis

Полный точный анализ поведения произвольных программ невозможен.

Простыми словами

Например, программе дают задачу и сначала нужно понять, существует ли алгоритм, который вообще гарантированно её решит. Поэтому результат задаёт границу для алгоритмов и ожиданий - он помогает отличить задачу, которую можно ускорить, от задачи с фундаментальным ограничением.

Механизм действия

Сначала проверяют, есть ли исходное условие из определения. Затем смотрят, как оно влияет на исходные параметры, ограничения модели и измеряемые величины. Если эту связь не удаётся наблюдать, принцип не стоит использовать как готовое объяснение.

Пример в работе

Нерабочий подход

Решение принимают без учета механизма «Теорема невозможности полного статического анализа», оценивая только ближайший эффект.

Системный подход

Перед изменением проверяют, как «Теорема невозможности полного статического анализа» влияет на ограничения, стимулы, зависимости и вторичные последствия.

Ограничения

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

Источник

Henry Gordon Rice, “Classes of Recursively Enumerable Sets and Their Decision Problems”, 1953.

Первоисточник