シェープ解析
シェープ解析(シェープかいせき、英: Shape analysis)は、静的コード解析の技法のひとつであり、(通常は命令型の)コンピュータプログラムの中で相互にリンクしている動的に割り当てられたデータの特性を解析・検証する技術である。通常はコンパイル時にソフトウェアのバグを発見したり、プログラムの特性の高レベルな妥当性を検証するために用いられる。
シェープ解析は、例えば Java プログラムではソートするメソッドが正しくソートを行えることを保証するために用いたり、C のプログラムでは、適切に開放されないようなメモリのブロックの箇所を見つけ出したりすることができる。シェープ解析は非常に強力ではあるが、実行に非常に時間がかかるのが通例である。このため、大学や研究機関(実験的にのみ使用)以外ではあまり広く用いられていない。