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