本研究では、これまでに研究開発を進めてきた教育向き知的プログラミング環境INTELLITUTORのサブシステムであるプログラム理解システムALPUSの、汎用化の研究を行っている。ここでいう汎用化は、複数のプログラミング言語、すなわちPASCALとC、に対応できるプログラム理解システムの実現、および色々なプログラミングスタイルに対応できる理解法の実現を意味する。汎用化の方法としては、1)プログラム文の抽象表現化、2)プログラム文の正規化、3)プログラミング知識の抽象表現化、4)抽象表現に対応した汎用な推論法の研究、などである。これによって、学習者のプログラムは一度この抽象表現に書き換えられ正規化されるので、元のプログラミング言語や書き方の依存性がかなり解消される。本研究では、基本的なアルゴリズム教育に必要な部分に限定して、そのためにPASCALと等価なC言語のサブセットを設定した。なお、汎用化によってコンピュータ処理の負担が増大するので、理解のための推論手法の改良や、そのために必要な学生のプログラミング過程の分析も行っている。 平成7年度は、中間的な研究報告として、学会の研究会やワークショップ等で発表し、今後の研究の為の方向づけ等を行った。また、プログラム理解技術の重要な応用分野であるリバースエンジニアリングに関しても、関連研究として考察し、報告した。
|