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

2014 Fiscal Year Annual Research Report

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

Research Project

Project/Area Number 25280020
Research InstitutionUniversity of Tsukuba

Principal Investigator

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

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

コード生成法は、一般的なプログラムから、特定の実行環境や特定のパラメータに応じたプログラムを生成することにより、プログラムの実行性能を高める手法であり、本研究の目的は、そのようなコード生成法の信頼性を高めることである。本年度は以下の成果を得た。
(1)計算エフェクトを利用した高性能プログラムの生成における安全性について理論的研究を行い、局所的な破壊的変数を持つ体系に対して、型安全性を保証することに成功した。オープンコードを局所的に保存し再利用するという手法はコード生成に頻出するプログラミングパターンであるが、生成されたコードが自由変数を持たないことなどの安全性の保証が困難であった。本研究の成果により、一定の範囲で、安全性を自動的に検査することが可能となった。
(2)コード生成法の適用対象の1つとして、データベースの問い合わせ言語SQLのコードを生成する手法について研究をおこない、以下の成果を得た。SQLを関数型言語に埋め込み、合成可能な問い合わせ言語を構成した「統合言語クエリ」に対して、単一のSQLコードを生成する手法として、「終タグレス法」を用いたプログラム変換として定式化するという新たな着想に基づいて定式化を行った。本研究の手法では、対象言語のプログラムの型付けが、ホスト言語の型システムにより自動的にチェックされるため、プログラム変換・コード生成のルールの記述における間違いを早期に発見できるため、拡張が容易で信頼性が高いという特徴がある。
(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

コード生成法の基礎理論、コード生成を用いた応用領域への展開の両面で、研究は順調に進んでいる。また、当初計画になかった内容として、コード生成法の新たな研究課題(モジュールの生成など)に思い至り、提案を行うにいたっている。

Strategy for Future Research Activity

平成27年度は最終年度であるため、これまでの成果をさらに発展させるとともに、論文としてまとめて情報発信していく予定である。また、システムとして実装した部分については、整理をしてインターネットで公開することを目指す。

Causes of Carryover

本研究経費で使用予定のもののうち、大学院生を雇用してのシステム作成を平成27年度に集中して行うよう研究計画を変更したため。

Expenditure Plan for Carryover Budget

本研究の成果物としてのシステムおよび実例の構築を行うため、機材および人件費として使用する予定である。

  • Research Products

    (7 results)

All 2015 2014

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

  • [Journal Article] ついにSQLを組み立てる:拡張可能で安全な統合言語クエリ2015

    • Author(s)
      鈴木健一、亀山幸義、オレッグキセリョーフ
    • Journal Title

      第17回プログラミングおよびプログラミング言語ワークショップ論文集(オンライン)

      Volume: 17 Pages: 17ページ

    • Peer Reviewed
  • [Journal Article] The Next Stage of Staging2015

    • Author(s)
      Jun Inoue, Oleg Kiselyov, Yukiyoshi Kameyama
    • Journal Title

      第17回プログラミングおよびプログラミング言語ワークショップ論文集(オンライン)

      Volume: 17 Pages: 11ページ

    • Peer Reviewed
  • [Journal Article] Agdaによる型推論器の定式化2015

    • Author(s)
      門脇香子、浅井健一
    • Journal Title

      第17回プログラミングおよびプログラミング言語ワークショップ論文集(オンライン)

      Volume: 17 Pages: 13ページ

    • Peer Reviewed
  • [Journal Article] A Type Theoretic Specification of Partial Evaluation2014

    • Author(s)
      K. Asai, L. Fennell, P. Thiemann, Y. Zhang
    • Journal Title

      Proc. of 2014 Symp. on Principles and Practice of Declarative Programming

      Volume: 16 Pages: 57-68

    • Peer Reviewed
  • [Presentation] 拡張可能で安全な統合言語クエリ (ポスター発表)2014

    • Author(s)
      鈴木健一、亀山幸義、オレッグキセリョーフ
    • Organizer
      日本ソフトウェア科学会第31回大会
    • Place of Presentation
      名古屋大学(愛知)
    • Year and Date
      2014-09-09 – 2014-09-09
  • [Presentation] コード生成のための自然演繹2014

    • Author(s)
      須藤悠斗、Oleg Kiselyov, 亀山幸義
    • Organizer
      日本ソフトウェア科学会第31回大会
    • Place of Presentation
      名古屋大学(愛知)
    • Year and Date
      2014-09-08 – 2014-09-10
  • [Presentation] Prolog 再考: 急がないで推測2014

    • Author(s)
      Oleg Kiselyov, 亀山幸義
    • Organizer
      日本ソフトウェア科学会第31回大会
    • Place of Presentation
      名古屋大学(愛知)
    • Year and Date
      2014-09-08 – 2014-09-10

URL: 

Published: 2016-06-01  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi