Główne pojęcia
ツリーデータ構造を操作するプログラムの検証を自動化するため、プログラム実行を入力、出力、中間状態を含む単一のツリーデータ構造(knitted-tree)にマッピングし、制約付きホーン節を用いて検証問題を制約充足問題へと変換する手法を提案する。
Streszczenie
ツリー操作プログラムの自動検証における制約付きホーン節の活用
本論文は、ツリーデータ構造を操作するプログラムの検証を自動化するための新しい手法を提案しています。この種のプログラムの検証は、従来、複雑で特殊な証明を必要とし、一般化や自動化が困難でした。本手法は、オートマトンと論理を組み合わせることで、様々なツリーデータ構造を統一的に扱い、これらの課題に取り組みます。
本手法の中核となるのは、knitted-tree エンコーディングと呼ばれるものです。これは、プログラムの実行を入力、出力、および中間状態を含む単一のツリーデータ構造にマッピングします。この構造は、入力データツリーを基盤とし、プログラムの実行に伴う変更を記録するための追加ノードとフレーム(状態遷移を記録するデータ構造)で構成されます。
knitted-tree の構成要素間の関係は、制約付きホーン節 (CHC) を用いて表現できます。これにより、プログラムの検証問題は、CHC の充足可能性問題へと変換されます。この変換により、近年著しい進歩を遂げている CHC ソルバーを活用することができます。