値の範囲分析

コンピューティング、特にコンパイラ構築において、値範囲解析はデータフロー解析の一種であり、プログラム実行の各時点で数値変数が取り得る値の範囲(間隔)を追跡する。[1]得られた情報は、冗長性の除去、デッドコードの除去、命令の選択など の最適化に使用できるだけでなく、バ​​ッファオーバーランの検出など、プログラムの安全性を向上させるためにも使用できる[2]値範囲解析の手法では、通常、シンボリック解析が広範に用いられる。[3]

値範囲解析はIntel C++コンパイラで実装されることが多く、GCCでも実装されています。[4]

参考文献

  1. ^ ハリソン, ウィリアム H. (1977). 「変数の値の範囲に関するコンパイラ解析」. IEEE Transactions on Software Engineering . 3 (3): 243– 250. doi :10.1109/TSE.1977.231133. S2CID  17018610.
  2. ^ Wagner, D.; Foster, JS; Brewer, EA; Aiken, A. (2000).バッファオーバーラン脆弱性の自動検出に向けた第一歩. NDSS.
  3. ^ バーチ、ジョニー、ヴァン・エンゲレン、ロバート、ガリバン、カイル。「条件付き更新変数とポインターの値の範囲分析」(PDF)
  4. ^ MacLeod, Andrew (2021年4月28日). 「Project RangerによるGCCでの値の範囲伝播」
「https://en.wikipedia.org/w/index.php?title=Value_range_analysis&oldid=1249560055」より取得