平成9年度 委託研究ソフトウェアの中間報告

(9) KL1プログラム静的解析系

  
研究代表者: 上田 和紀 教授
早稲田大学 理工学部情報学科


研究テーマ、研究代表者:
(1)研究テーマ
KL1プログラム静的解析系

(2)研究代表者(氏名、所属、役職)
上田 和紀、早稲田大学 理工学部情報学科 教授

記述項目:
(1)研究進捗状況

並列論理型言語のプログラミングとプログラムの効率的実行にとって、 モード解析をはじめとする各種の静的解析技法は非常に基本的な情報を 提供する。本研究の目的は、これまでに開発したモード解析系klintを さらに発展させて、型情報や参照数情報も含む実装方式非依存の解析情 報を統合的に出力する解析系を構築することである。

本テーマの主な研究開発項目としては

(a) KL1特有の言語機能の取扱いの実現
(b) 現klintの改訂
(c) 型解析機能の設計と実装
(d) 参照数解析機能の設計と実現

があるが、これまでに(a)(b)は順調に進み、現在は技術的に困難と考え られる(d)の検討を(c)に先行させて行なっている。

(2)現在までの主な成果

これまでの研究によって、下記の機能の設計および実現を行なった。

(3)今後の研究概要

今後は、型解析機能および参照数解析機能の設計と実装を完成させ、さ らにそれらをklint第2版として統合化してゆく予定である。

(4)今年度目標成果ソフトウェアイメージ

今年度目標成果であるklint第2版は、KL1プログラムを構成する述語の 引数や変数が、どのような通信プロトコル、データ型、参照数で使われ ているかを静的に解析するツールである。解析に成功したプログラムに 対しては、各述語の引数に関するプロトコル、データ型、参照数情報を 出力し、これらの性質に関して一貫性を欠くプログラムに対しては、そ の旨を出力する。

本システムは、KL1でプログラムを書くすべてのプログラマにとって有 用な静的デバッグツールとなることを目指している。klint第1版によっ て、KL1プログラムの開発中に犯す誤りの大多数が静的に検出除去でき ることが経験されている。モード誤りが宣言なしで検出可能なのに対し、 型や参照数の誤りを検出するには、型や参照数に関する宣言が必要とな ると予想されるが、宣言さえ与えられれば、さらに多くの誤りが検出で きるようになる。

また、モード、型、参照数の解析を経たプログラムには、より容易に高 度な最適化を施すことができる。その性能向上以外の効果として、オブ ジェクトコードサイズの減少という効果も無視できない。現在のKLICで は、生成されたCコードのコンパイル速度が問題となっているが、コン パクトなCコードが生成できればKLICのコンパイル時間が短縮でき、静 的解析の手間をある程度吸収できると考えられる。

さらに、今後開発されてゆくであろう種々のプログラム解析技術やプロ グラミング環境は、実装方式非依存の基本解析情報の存在を前提とする ことによって、より高度な技術内容を単純に実現することができる。


www-admin@icot.or.jp