ポインタ解析
アンダーソンのアルゴリズム
二分決定図
ポインタ解析をごく小規模なプログラムを除く大半のプログラムに適用することは、膨大な計算機資源を必要とする。このオーバーヘッドを減らすため、さまざまな方法の簡略化が行われてきたが、簡略化による問題として、求められた被参照オブジェクトの集合が実際より大規模になることがある。
簡略化の方法として、下記のものがある。
構造化されたオブジェクトへのすべての参照をひとつのオブジェクトに対するものとして扱う。
どのオブジェクトがポインタに割り当てられるかを解析する際、制御のフローを無視する。 コンテキストを無視したポインタ解析: context-insensitive pointer analysis(関数呼び出しが行われる際のコンテキストを無視する場合) フローを無視したポインタ解析: flow-insensitive pointer analysis(関数内の制御フローを無視する場合)