• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to project page

2014 Fiscal Year Annual Research Report

ML系多相型言語SML#の実用化技術に関する基礎研究

Research Project

Project/Area Number 25280019
Research InstitutionTohoku University

Principal Investigator

大堀 淳  東北大学, 電気通信研究所, 教授 (60252532)

Co-Investigator(Kenkyū-buntansha) 上野 雄大  東北大学, 電気通信研究所, 助教 (60551554)
Project Period (FY) 2013-04-01 – 2018-03-31
KeywordsSML# / コンパイラ / 実装方式 / 最適化 / コード分析
Outline of Annual Research Achievements

本研究の目的を達成する上での具体的な目標は以下の通りである.(1) 効率よいコード生成システム.不要なクロージャ生成を抑止し,効率良いコードを生成可能にする最適化方式の開発,および,汎用のコード生成システムであるLLVMバックエンドの開発する. (2)コンパイラの高速化技術.関数型言語で書かれたコンパイラの特性の分析を通じて,コンパイル時間の大幅な短縮を実現する技術を開発する. (3)実行時コード分析.コード位置情報を抽象化し,コンパイラが行う各中間言語の変換過程を,意味と型ばかりでなく,抽象的なコード位置情報をも保存する変換として洗練することによって,実行コード分析の枠組みを構築する. (4) ソースコード分析と可視化.ソースコード間の依存関係を表現する方式を構築し,大規模システムのソース構造の可視化ツール等の基礎なるソースコード分析の枠組みを構築する.
これら課題の中で,平成26年度は主に,(1)に関しては,昨年度の成果を受け継ぎ,LLVMバックエンドを完成させSML#2.0.0版として世界にリリースすると共に,LLVMの汎用のコード生成システムの機能を活かせば種々のアーキテクチャに対応可能との洞察を実証すべく,あらに64ビットアーキテクチャ向けのバックエンドの試作に取り組み,コンパイラをコンパイルし実際に動作す64ビットシステムの試作に成功した.また,(2),(3)コンパイラの外部関数の並列実行に関する性能評価,さらに,(4)ソースコード可視化ツールを完成させることに成功した.特に(1), (4)の項目は,当初の予定以上の進展を見た.

Current Status of Research Progress
Current Status of Research Progress

1: Research has progressed more than it was originally planned.

Reason

上項目に記載のとおり,当初計画より早くLLVMバックエンドを完成させそれを含むコンパイラをリリースすることができ,さらに計画を拡張し64ビットアーキテクチャ向けのコンパイラの試作に成功し,また,可視化ツールを完成させることができ,全体として,想定以上の進捗を達成していると言える.

Strategy for Future Research Activity

今後,これらの研究を一層加速する.平成27年度は,具体的には,以下の研究を遂行する.(1) 32ビット及び64ビットを含むマルチターゲット対応のLLVMバックエンドを完成させる.さらに,研究の進展に伴い研究スコープを拡大し,コンパイラの中間言語を系統的に取り扱う基礎理論の構築を行う.
(2) 前年度の分析結果である外部関数呼び出しの際の性能低下問題の原因を分析し,コンパイルアルゴリズムの見直しを含めた再設計・最適化を試みる.
(3) SML#のプロファイラの試作を行う.
(4) ソースコード可視化ツールをSML#コンパイラへ組み込む.
(5) SML#の特長を生かした実用システムとしてWEBアプリケーションをターゲットとし,宣言的な記述によりWEBアプリケーション開発環境の理論と実装の研究を新たに開始する.本項目は結果実現しているSML#コンパイラを,産業界と連携して実用システム開発に適用する段階となったことを受けた新たな研究項目である.この研究の追加によって,本研究の成果の実証,さらにそれらの社会展開に道を拓くものと考える.

Causes of Carryover

本年度は,ほぼ予定通りの予算執行ができ,次年度使用額は僅か223円である.

Expenditure Plan for Carryover Budget

次年度に,223円を消耗品等の経費に当て,有効に使用する予定である.

  • Research Products

    (6 results)

All 2015 2014

All Journal Article (1 results) (of which Peer Reviewed: 1 results,  Open Access: 1 results,  Acknowledgement Compliant: 1 results) Presentation (5 results)

  • [Journal Article] 変数参照関係を用いた関数型プログラムのコードリーディング支援2015

    • Author(s)
      遠藤誠典, 百足勇人, 森畑明昌, 上野雄大, 大堀淳
    • Journal Title

      コンピュータソフトウェア

      Volume: 32 Pages: 194-212

    • DOI

      http://dx.doi.org/10.11309/jssst.32.1_194

    • Peer Reviewed / Open Access / Acknowledgement Compliant
  • [Presentation] The Essence of Ruby2014

    • Author(s)
      Katsuhiro Ueno, Yutaka Fukasawa, Akimasa Morihata, Atsushi Ohori
    • Organizer
      12th Asian Symposium of Programming Languages and Systems
    • Place of Presentation
      Singapore
    • Year and Date
      2014-11-17 – 2014-11-19
  • [Presentation] 関数型言語SML#における64ビット対応への取り組み2014

    • Author(s)
      逢坂美冬, 佐々木智啓, Charles Mejia Cruz, 上野雄大, 大堀淳
    • Organizer
      関数型言語SML#における64ビット対応への取り組み
    • Place of Presentation
      名古屋大学
    • Year and Date
      2014-09-07 – 2014-09-10
  • [Presentation] Compiling SML# with LLVM a Challenge of Implementing ML on a Common Compiler Infrastructure2014

    • Author(s)
      Katsuhiro Ueno, Atsushi Ohori
    • Organizer
      ACM SIGPLAN ML Family Workshop
    • Place of Presentation
      Gothenburg, Sweden
    • Year and Date
      2014-09-04 – 2014-09-04
  • [Presentation] SML# in Industry : A Practical ERP System Development2014

    • Author(s)
      Atsushi Ohori, Katsuhiro Ueno, Kazunori Hoshi, Shinji Nozaki, Takashi Sato, Tasuku Makabe, Yuki Ito
    • Organizer
      ACM International Conference on Functional Programming
    • Place of Presentation
      Gothenburg, Sweden
    • Year and Date
      2014-09-01 – 2014-09-03
  • [Presentation] A foreign language interface from ML to shell2014

    • Author(s)
      Katsuhiro Ueno, Atsushi Ohori
    • Organizer
      Symposium on Trends in Functional Programming
    • Place of Presentation
      Soesterberg, Netherlands
    • Year and Date
      2014-05-26 – 2014-05-28

URL: 

Published: 2016-06-01  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi