本研究の目的を達成する上での具体的な目標は以下の通りである.(1) 効率よいコード生成システム.効率良いコードを生成可能にする方式の開発および汎用のコード生成システムであるLLVMバックエンドを開発する. (2)コンパイラの高速化技術.関数型言語で書かれたコンパイラの特性の分析を通じて,コンパイル時間の大幅な短縮を実現する技術を開発する. (3)実行時コード分析.コンパイラが行う各中間言語の変換過程を,意味と型ばかりでなく,位置情報をも保存する変換として洗練することによって,実行コード分析の枠組みを構築する. (4) ソースコード分析と可視化.ソースコード間の依存関係を表現する方式を構築し,大規模システムのソースコード分析の枠組みを構築する.(5) 高信頼WEBフレームワーク.ML系高信頼言語でWEBアプリケーションを効率よく開発するためのフレームワークの型理論と実装技術を構築する.この最後の項目は,成果の社会展開を意図し,H26年度からあらたに追加したものである. 平成29年度の主な成果は以下の通りである.(1)に関しては,並行ゴミ集め(GC)の理論とアルゴリズムを、メモリー共用型マルチプロセッサで動作するOSの超並列スレッド対応に拡張する研究を行い、試作に成功した。その予備的な結果は、ACM MLワークショップにて発表した.また、多相関数の静的な最適化の理論を構築した。(2)から(4)に関しては,多相関数の実行の効率化の研究を行うとともに、新たに、コードレベルデバッグ機能の研究を行い、コードレベルデバッガ実現の見通しを得た。(5)に関しては,昨年度のJSONデータ処理方式を一般化し、動的型付け機構の実現方式を構築しその試作を行った。さらに、今年度まてに得られた種々の機能をより堅牢なものにする目的で、SML#コンパイラのテストの枠組みを構築し、系統的なテストを行った。
|