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

2013 Fiscal Year Annual Research Report

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

Research Project

Project/Area Number 25280019
Research Category

Grant-in-Aid for Scientific Research (B)

Research InstitutionTohoku University

Principal Investigator

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

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

本研究の目的を達成する上での具体的な目標は以下の通りである.(1) 効率よいコード生成システム.不要なクロージャ生成を抑止し,効率良いコードを生成可能にする最適化方式の開発,および,汎用のコード生成システムであるLLVMバックエンドの開発する. (2) コンパイラの高速化技術.関数型言語で書かれたコンパイラの特性の分析を通じて,コンパイル時間の大幅な短縮を実現する技術を開発する. (3)実行時コード分析.コード位置情報を抽象化し,コンパイラが行う各中間言語の変換過程を,意味と型ばかりでなく,抽象的なコード位置情報をも保存する変換として洗練することによって,実行コード分析の枠組みを構築する. (4) ソースコード分析と可視化.ソースコード間の依存関係を表現する方式を構築し,大規模システムのソース構造の可視化ツール等の基礎なるソースコード分析の枠組みを構築する.
これら課題の中で,平成25年度は主に,最も困難と思われた(1)LLVMバックエンドの実現,および,本研究を推進する上でも有用な(4)ソースコード可視化にとりくみ,(1)に関しては,LLVMバックエンドの意味論調査やSML#への接続可能性分析を完全に完了し,さらにそれらを基礎にLLVMバックエンドと整合性ある関数呼び出しに関する型主導コンパイル方式を構築し,それらを取り入れたSML#コンパイラのLLVMバックエンドの試作を成功させた.また(4)に関しては,コンパイラの行う名前解析処理のトレースを取ることによって全ての名前の定義と参照関係を同定し,それら定義・参照関係を基礎としたソースファイルの依存関係の可視化の枠組み,および,変数の依存関係をエディタから可視化する枠組みを構築し,さらに,ツール試作に成功し,想定した以上の進展を見た. 項目(2)および(3)に関しては,予備的な調査をおこなった.

Current Status of Research Progress
Current Status of Research Progress

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

Reason

上項目に記載のとおり,本プロジェクトでもっとも困難か中心をなす課題であるLLVMバックエンドの試作を完成させることができ,全体として,想定以上の進捗を達成していると言える.

Strategy for Future Research Activity

今後,これら2項目の研究を一層加速するとともに,他項目の本格的な推進を開始しる.平成26年度は,具体的には,以下の研究を遂行する.
(1) LLVMコード生成器.x86-32アーキテクチャ向けの堅牢なLLVMバックエンドを完成させ,さらに他アーキテクチャ向けのバックエンド構築の問題点を検討し,x86-64向けの設計を行う.
(2) 各コンパイルフェーズ毎のコンパイル時間に関する詳細な分析を実施する.
(3) 既存の手続き型言語のツール等の分析を行い,SML#の実行コードの速度の測定に関する可能な方法論の検討を行う.
(4) ソースコード可視化ツール.昨年度試作したツールを実用的なツールへのと完成させ,SML#コンパイラへ組み込むとともに,より広範囲な情報の可視化ツールへと拡張する.

Expenditure Plans for the Next FY Research Funding

本年度は,基礎的な研究に注力したため,PC関連機器の購入が10万円ほど想定より少なくなったため.
次年度に,プログラム開発等に必要なPC関連品の購入に充てる予定である.

  • Research Products

    (6 results)

All 2014 2013 Other

All Presentation (5 results) (of which Invited: 1 results) Remarks (1 results)

  • [Presentation] SML#のSQL統合機能への行集約機能の実装2014

    • Author(s)
      斎藤皓, 上野雄大, 森畑明昌, 大堀淳
    • Organizer
      第16回プログラミングおよびプログラミング言語ワークショップ
    • Place of Presentation
      熊本県阿蘇市阿蘇温泉「阿蘇の司 ビラパークホテル」
    • Year and Date
      20140305-20140305
  • [Presentation] Record Polymorphism: Its Development and Applications2013

    • Author(s)
      Atsushi Ohori
    • Organizer
      In Search of Elegance in the Theory and Practice of Computation Lecture Notes in Computer Science Volume 8000, 2013, pp 432-444
    • Place of Presentation
      University of Edinburgh , Edinburgh , Scotland
    • Year and Date
      20131028-20131028
  • [Presentation] 関数型言語からキーバリューストアへの型安全なアクセス機構2013

    • Author(s)
      上野雄大, 大堀淳
    • Organizer
      日本ソフトウェア科学会第30回大会
    • Place of Presentation
      東京大学
    • Year and Date
      20130911-20130911
  • [Presentation] 変数参照関係を用いた関数型プログラムのコードリーディング支援2013

    • Author(s)
      遠藤誠典, 百足勇人, 森畑明昌, 上野雄大, 大堀淳
    • Organizer
      日本ソフトウェア科学会第30回大会
    • Place of Presentation
      東京大学
    • Year and Date
      20130911-20130911
  • [Presentation] 関数型言語SML#の開発 – 我が国のソフトウェア産業新生へのささやかな貢献を目指して2013

    • Author(s)
      大堀淳
    • Organizer
      日本ソフトウェア科学会第30回大会
    • Place of Presentation
      東京大学
    • Year and Date
      20130911-20130911
    • Invited
  • [Remarks] SML#プロジェクト

    • URL

      http://www.pllab.riec.tohoku.ac.jp/smlsharp/ja/

URL: 

Published: 2015-05-28  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi