平成8年度 委託研究ソフトウェアの中間報告 |
(1)研究テーマ
(2)研究代表者(氏名、所属、役職)
(1)研究進捗状況
本研究は、並行論理プログラムのデータの流れや通信プロトコルに関する性質 を静的に解析するモード解析を中核技術として、それを静的デバッガの構築や 最適化などに応用することを目的としている。
モード体系の重要な応用の一つに、モードづけできない、つまりモード制約が 矛盾するプログラムについて、その理由を解析して呈示する機能がある。昨年 度までに、全体として矛盾している制約集合の中から、矛盾する極小の部分集 合を効率よく見つけ出すアルゴリズムを開発し、それに基づき、矛盾する制約 を課したプログラム中の記号(または記号出現)を提示する方式を提案した。本 年度は、その実装および方式詳細化を進めてきている。これまでに
などの技術を提案し、実装を進めている。
また、モード解析のコンパイラ最適化への応用について、本年度はKLIC分散処 理系の実装を調査して、最適化の可能性を検討している。
(2)現在までの主な成果
モードづけできないプログラムについて、矛盾するモード制約の極小集合を求 めるアルゴリズムを実装し、既存の klint 処理系と結合した。また、これを 拡張することにより、
を実装し、実際のプログラムへの適用実験を行なってきた。
(3)今後の研究概要
静的デバッガについては、プログラムの層化を行なうことによって探索効率を 改善するとともに、モード多相(mode polymorphism)を正式に採り入れたい。
その他のklintシステムの機能拡張については、依然として、ベクタのような ランダムアクセスデータへの対応が最優先課題である。
KLIC処理系最適化のためには、モードだけでなく、制約ベースの型解析やデー タ参照数情報の解析も必要となる。その検討を進める予定である。また、本検 討と並行して、静的解析情報を用いたKLIC並列処理系の最適化の効果について も検討の予定である。
(4)今年度目標成果ソフトウェアイメージ 今年度中に、klint 第2版を公開する。これは、モードに関して正しいプログ ラムについて、そのモード情報を出力する機能だけでなく、モード誤りをもつ プログラムについて、ほぼ自動的に、その原因箇所を効率良く解析し、特定す るものであり、プログラムの静的デバッグに役立つと期待される。