Анализ диапазона значений - Value range analysis

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

Анализ диапазона значений часто реализуется в Компилятор Intel C ++ и должен быть реализован в GCC.[нужна цитата ]

Рекомендации

  1. ^ Харрисон, Уильям Х. (1977). «Компиляторный анализ диапазонов значений переменных». IEEE Transactions по разработке программного обеспечения. 3 (3): 243–250. Дои:10.1109 / TSE.1977.231133.
  2. ^ Вагнер, Д .; Foster, J. S .; Брюэр, Э. А .; Айкен, А. (2000). Первый шаг к автоматическому обнаружению уязвимостей переполнения буфера. NDSS.
  3. ^ Берч, Джонни; ван Энгелен, Роберт; Галливан, Кайл. «Анализ диапазона значений условно обновляемых переменных и указателей» (PDF).