stringtranslate.com

Анализ диапазона значений

В вычислительной технике , в частности при построении компиляторов , анализ диапазона значений — это тип анализа потока данных , который отслеживает диапазон (интервал) значений, которые может принимать числовая переменная в каждой точке выполнения программы. [1] Полученная информация может использоваться в оптимизациях, таких как устранение избыточности, устранение мертвого кода , выбор инструкций и т. д., но также может использоваться для повышения безопасности программ, например, при обнаружении переполнения буфера . [2] Методы анализа диапазона значений обычно широко используют символьный анализ . [3]

Анализ диапазона значений часто реализуется в компиляторе Intel C++ и реализован в GCC . [4]

Ссылки

  1. ^ Харрисон, Уильям Х. (1977). «Анализ компилятором диапазонов значений переменных». Труды IEEE по программной инженерии . 3 (3): 243–250. doi :10.1109/TSE.1977.231133. S2CID  17018610.
  2. ^ Вагнер, Д.; Фостер, Дж. С.; Брюэр, Е. А.; Эйкен, А. (2000). Первый шаг к автоматизированному обнаружению уязвимостей переполнения буфера . NDSS.
  3. ^ Бирч, Джонни; ван Энгелен, Роберт; Галливан, Кайл. «Анализ диапазона значений условно обновляемых переменных и указателей» (PDF) .
  4. ^ Маклеод, Эндрю. «Распространение диапазона значений в GCC с помощью Project Ranger».