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

2013 Fiscal Year Annual Research Report

信頼性の高いコード生成のためのプログラミング言語の実現

Research Project

Project/Area Number 25280020
Research Category

Grant-in-Aid for Scientific Research (B)

Research InstitutionUniversity of Tsukuba

Principal Investigator

亀山 幸義  筑波大学, システム情報系, 教授 (10195000)

Co-Investigator(Kenkyū-buntansha) 浅井 健一  お茶の水女子大学, 人間文化創成科学研究科, 准教授 (10262156)
五十嵐 淳  京都大学, 情報学研究科, 教授 (40323456)
海野 広志  筑波大学, システム情報系, 助教 (80569575)
Project Period (FY) 2013-04-01 – 2016-03-31
Keywordsディペンダブルコンピューティング / プログラミング言語 / プログラム生成 / ソフトウェア検証
Research Abstract

コード生成法は、一般的なプログラムから、特定の環境やパラメータに応じたプログラムを生成することにより、プログラムの実行性能を高める手法であり、本研究の目的は、コード生成法の信頼性を高めることである。初年度となる平成25年度の主な成果は以下の3つである。
(1)効率的コード生成においては、純粋な関数型プログラムの範囲に留まらず、計算エフェクトを発生する仕組みを利用する必要があるが、その場合、生成されたコードが自由変数を持たないこと(安全性)を保証するのは困難な課題であった。本年度の研究では、Hasekll上のコード生成構成子ライブラリの形で、任意のモナディックな計算エフェクトを許しつつ、生成コードが一切の自由変数を持たない言語系を構築し、実装を与えることに成功した。ただし、このライブラリの安全性の厳密な証明は、今後の課題である。
(2)CSPは、計算結果をコードの中に埋め込む機能であり、実用的なコード生成言語には必須である。従来理論におけるCSPの定式化は、非常に複雑な計算規則で与えられており、コード生成言語の実装とも対応していないという問題があった。今年度の研究では、CSPの自然かつ簡潔な定式化を与えることに成功した。これは、CSPの理解を深めるのに役立つとともに、今後のコード生成言語の設計における基本的な指針を与えると考えている。
(3)形式検証は、紙と鉛筆による証明に代わり、コンピュータが証明をチェックするものであり、人間の思い込みによる誤りを防ぐことができ、証明の信頼性を向上させる。本年度の研究では、コード生成の一種である型主導の部分計算プログラムに対して、その正当性を定理証明システムを用いて形式検証した。

Current Status of Research Progress
Current Status of Research Progress

2: Research has progressed on the whole more than it was originally planned.

Reason

3年計画の研究の初年度に、任意の計算エフェクトを取り込んだ言語での安全性の保証、従来理論では複雑な扱いしかできなかったCSPのきわめて簡潔かつ自然な取扱いの発見、ある種のコード生成に対する正当性に対する形式検証の3点の成果を得ており、研究は極めて順調に進んでいる。

Strategy for Future Research Activity

研究計画の2年目は、初年度に得られた成果を有機的に統合し、1つのコード生成言語に対する信頼性向上の方策を得ることに力を注ぐ。このため、3研究機関に所属している研究メンバーが一堂に会して集中的に議論するミーティングを何度かもつとともに、大学院生等を含めたメンバー間の相互訪問の機会を増やすこととする。

Expenditure Plans for the Next FY Research Funding

本研究経費で雇用予定であった研究員の着任が遅れたこと、これに伴い、研究員が使用する機材も平成26年度予算で購入することになったことの2つの理由により、予算の一部を平成26年度に残すこととなったため。
研究員は平成26年3月に着任しており、平成25年度の剰余分は人件費および物件費として、平成26年度に支出する予定である。

  • Research Products

    (7 results)

All 2014 2013 Other

All Journal Article (3 results) (of which Peer Reviewed: 3 results) Presentation (3 results) Remarks (1 results)

  • [Journal Article] Combinators for Impure yet Hygienic Code Generation2014

    • Author(s)
      Yukiyoshi Kameyama, Oleg Kiselyov, Chung-chieh Shan
    • Journal Title

      Proc. of ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation

      Volume: 2014 Pages: pp. 3-14

    • DOI

      10.1145/2543728.2543740

    • Peer Reviewed
  • [Journal Article] On Cross-Stage Persistence in Multi-Stage Programming2014

    • Author(s)
      Yuichiro Hanada and Atsushi Igarashi
    • Journal Title

      Proc. of International Symposium on Functional and Logic Programming (Lecture Notes in Computer Science)

      Volume: 印刷中 Pages: 印刷中

    • Peer Reviewed
  • [Journal Article] Formalizing a Correctness Property of a Type-Directed Partial Evaluator2014

    • Author(s)
      Noriko Hirota and Kenichi Asai
    • Journal Title

      Proc. of ACM SIGPLAN Workshop on Programming Language meets Program Verification

      Volume: 2014 Pages: pp. 41-46

    • DOI

      10.1145/2541568.2541572

    • Peer Reviewed
  • [Presentation] 型デバッガのログの解析とエラーメッセージの改良2014

    • Author(s)
      石井柚季、浅井健一
    • Organizer
      第16回プログラミングおよびプログラミング言語ワークショップ
    • Place of Presentation
      阿蘇の司ビラパークホテル
    • Year and Date
      20140305-20140307
  • [Presentation] 段階的計算における最適なステージ化プログラム生成の自動化2013

    • Author(s)
      清水春樹、亀山幸義
    • Organizer
      日本ソフトウェア科学会第30回大会
    • Place of Presentation
      東京大学
    • Year and Date
      20130911-20130913
  • [Presentation] 多段階計算λ>のための越段階埋込2013

    • Author(s)
      花田裕一朗、五十嵐淳
    • Organizer
      日本ソフトウェア科学会第30回大会
    • Place of Presentation
      東京大学
    • Year and Date
      20130911-20130913
  • [Remarks] プログラミング科学リサーチユニット

    • URL

      http://logic.cs.tsukuba.ac.jp/programming/

URL: 

Published: 2015-05-28  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi