シェープ解析
一般的には、プログラムは数に制限なくオブジェクトを生成することができる。しかし、解析が完了するためには、ポインタ解析は有限の名前しか用いることができない。典型的な方法では、プログラムの特定の行で割り当てられたオブジェクトに同じ名前を与える。上記の例では、行[1]で作成されたオブジェクトはすべて同じ名前を持つ。このため、delete 文が初めて解析されると、解析処理は [1] と名前のついたオブジェクトの一つが解放されるようとしていると判断する。delete 文が(ループ処理により)二度目に解析されると、解析プログラムは配列内のオブジェクトを区別できないため、二度目のdelete が最初の delete と同じオブジェクトを解放しているかも知れないと判断し、プログラムに問題がある可能性を警告する。この警告は偽のものである。シェープ解析の目標は、こうした警告を生じさせないことである。