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

2011 Fiscal Year Annual Research Report

プログラムの形式文法に基づく双方向化の研究

Research Project

Project/Area Number 22800003
Research InstitutionTohoku University

Principal Investigator

松田 一孝  東北大学, 大学院・情報科学研究科, 助教 (10583627)

Keywordsプログラミング言語 / プログラム変換 / 関数プログラミング / 双方向変換 / 逆計算
Research Abstract

本研究の目的は,あるデータを別のデータへと変換する通常の変換から,変換後のデータに加えた変更を対応するように元のデータに書き戻しを行う逆方向の変換を,形式文法の知見を利用し導出すること(双方向化)である.本年度は昨年度得た知見をまとめ発表した.
本年度の主な成果は,累積変数やデータの複数回走査を持つあるクラスのプログラムに対する多項式時間逆計算手法を提案したことである.逆計算は,双方化の一種であり,プログラムとその出力が与えられたときにその出力に対応した入力を全て求める計算である.逆計算の応用としては,直列化器から非直列化器の作成,XML相互変換の実現,Undo/Redo機構の実装,効率的なテストケース生成など様々な例が知られている.本研究は,対象とするプログラムを適切に制限することで多項式時間の逆計算を実現した.これまでも対象を制限し効率的な逆計算を目指した研究はあったが,それらの扱えるプログラムはとても限定されたものであった.本手法が対象とするプログラムは,制限されてはいるものの,たとえば多くの線形サイズ増大なXSLTを表現可能である.本研究の面白さの一つは,これまで取り扱いが難しいとされ,アドホックに扱われてきた累積的計算や複数回走査を持つプログラムを,適切な制限により,系統的に扱っている点である.提案逆計算手法は,大雑把にはCYK構文解析の木への拡張になっている.
また,特定プログラム言語で記述されたグラフ変換の効率化の研究も行った.この研究はプログラムの解析により不要な関数呼出・合成を消すことでプログラムの効率化を図る.この研究は,一見本研究の目的である「形式文法を利用した双方向化」に関連しないように思えるが,現在の形式文法を利用したアプローチは関数合成を含むプログラムの取り扱いを苦手としているため,形式文法を利用した双方向化の適用可能性を高める上で有用であることが期待できる.

  • Research Products

    (4 results)

All 2012 Other

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

  • [Journal Article] Polynomial-Time Inverse Computation for Accumulative Functions with Multiple Data Traversals2012

    • Author(s)
      Kazutaka Matsuda, Kazuhiro Inaba, Keisuke Nakano
    • Journal Title

      Proceedings of ACM SIGPLAN 2012 Workshop on Partial Evaluation and Program Manipulation

      Pages: 5-14

    • DOI

      10.1145/2103746.2103752

    • Peer Reviewed
  • [Journal Article] Marker-directed Optimization of UnCAL Graph Transformations2012

    • Author(s)
      Soichiro Hidaka, Zhenjiang Hu, Kazuhiro Inaba, Hiroyuki Kato, Kazutaka Matsuda, Keisuke Nakano, Isao Sasano
    • Journal Title

      LOPSTR2011 : 21st International Symposium on Logic-Based Program Synthesis and Transformation, Revised Papers

      Volume: LNCS 7225(accepted)

    • Peer Reviewed
  • [Presentation] Polynomial-Time Inverse Computation for Accumulative Functions with Multiple Data Traversals2012

    • Author(s)
      松田一孝
    • Organizer
      プログラミングおよびプログラミング言語ワークショップ
    • Place of Presentation
      和歌山県西牟婁郡
    • Year and Date
      2012-03-10
  • [Remarks]

    • URL

      http://www.kb.ecei.tohoku.ac.jp/~kztk/

URL: 

Published: 2013-06-26  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi