研究概要 |
1. 制御フロー解析アルゴリズムと自動変換アルゴリズムの開発 従来の処理の重い継続を,使用法に若干の制限があるが処理の軽い継続IOCへの変換を自動的に行なうアルゴリズムを開発した.変換可能な継続の検出は,プログラム全体の制御フローを構築し,解析することによって行なうが,継続機能を備えた言語では,従来の制御フロー解析方式では不十分であった.そこで,継続を考慮した新しい制御フロー解析方式も確立した. 2. 実装 開発した制御フロー解析アルゴリズムと自動変換アルゴリズムをScheme処理系に実装した. 3. 評価 実装したシステムを用いて,様々なプログラムに対して自動変換を試み,その評価を行った.その結果,静的な解析であることから変換の限界はあるものの継続を用いた実際的なプログラムにおいては,変換可能な継続をほとんど検出できることを確認した. 4. 制御フロー解析アルゴリズムの停止性と正しさの検証 解析対象となるSchemeプログラムをCPS変換することで,プログラムの制御構造はすべて関数呼出しで統一的に表現されるので,検証が容易になると期待できる.またCPSプログラムの制御フロー解析アルゴリズムとその検証方法は,他の研究グループによって開発されたものがあり,その検証方法を我々のアルゴリズムに適用することを検討した.開発した制御フロー解析アルゴリズムの数学的な正当性の証明は現在行っているところである.
|