対象世界モデル上でのシミュレーションに基づくプログラム理解の枠組みを提案し、また、その枠組みによるプログラム理解システムをプログラムの動作検証に応用したシステムを試作した。 従来、プログラム理解はプログラムのパタンに類する知識をシステムに持たせ、与えられたプログラムをそのパタンとマッチングすることによって行われてきていた。しかしながら、プログラムの意味を把握するためには、プログラムのソースコードだけを処理するのでは不十分であり、プログラムが操作しようとする世界を想定しながらプログラムの役割を同定するべきである。以上の考え方に基づいて、プログラムの操作対象の世界モデルをシステムに与え、そのモデル上でプログラムの働きをシミュレートすることによって、プログラムが果たしている役割・機能を理解する方式を提案した。特に、対象をアセンブリ言語による機械制御プログラムに絞り、試作システムを構築した。また、プログラム理解の一つの応用として、プログラムの機械動作レベルでの仕様とプログラム理解結果とを突き合わせることによって、プログラムの動作確認を行うシステムを考案し、試作実験を行った。この試作システムを用いた実験により、本システムが約5000ステップのほぼ実用的な家電製品制御プログラムに対し、有効に動作することを確認している。 また、プログラム理解のもう一つの応用として、プログラミング教育への応用についても検討を始め、良好な感触を得ている。
|