ソースプログラムのバージョン管理などにおいて,異なる二つのソースプログ ラムの差異を知る必要がある場合,一般的にはUNIXのdiffなどの差分抽出ツー ルによって差分を得て,その差分から具体的な作業内容を推測する.しかし, UNIXのdiffはテキストを入力対象とし,行を単位とした差分を出力するツール であり,比較する対象をソースプログラムとした場合,行単位の出力はプログ ラムの構成単位である構文要素とは必ずしも一致せず,意味に影響を与えない 変更も差分として出力される.プログラマは頭の中で抽出された行単位の 差分を構文要素の差分に変換し,その中から実質的な差分を抽出しているため, 無駄な時間と労力を費やさなければならない. 本論文では,プログラムの構造に着目した差分を抽出するため,プログラムを宣 言の集合と関数グラフとして定義し,関数グラフを比較してプログラマの直感 にあった差分を抽出する手法を提案する.さらに提案した手法に基づいてツー ルを実装し,実際のソースプログラムに適用することで差分の理解が容易にな ることを示す.