• 研究課題をさがす
  • 研究者をさがす
  • KAKENの使い方
  1. 課題ページに戻る

2000 年度 実績報告書

関数型プログラミング言語のプログラム変換に関する研究

研究課題

研究課題/領域番号 11780216
研究機関筑波大学

研究代表者

南出 靖彦  筑波大学, 電子・情報工学系, 講師 (50252531)

キーワードプログラム変換 / 関数型プログラミング言語 / 正当性
研究概要

関数型プログラミング言語のコンパイラなどで用いられるプログラム変換の正当性について研究を行った。特に、本研究では、プログラム変換がプログラムの性能に及ぼす影響について考慮し、性能に関して正当であることを示す研究を行った。
まず、値呼び出しの関数型プログラミング言語のコンパイラで用いられるCPS変換が、プログラムの実行に必要な記憶領域の大きさを定数倍の範囲で保存することを示した。これまで、プログラムの実行に必要な記憶領域に関して理論的に扱った研究はほとんどなく、このような性質の証明は、困難であると考えられていた。しかし、この研究では、reference(書き換え可能な値)を考慮したMLの型システムの健全性の証明の手法を応用することで、見通しの良い証明を与えることができた。
コンパイラなどで利用されるプログラム変換は、上のCPS変換のように良い性質(性能を定数倍の範囲で保存する)ものだけではない。多くの場合にプログラムを効率を良くするために、特殊な場合にはプログラムの効率を悪くする変換も用いられる。このような変換に関しては、最悪の場合の効率を保証することが重要だと思われる。本研究では、性能に関する正当性の条件として、プログラム変換による最悪の場合の性能の悪化の割合が、プログラムの大きさの多項式で抑えられるという条件を提案した。さらに、この条件に関して幾つかの基本的な性質を示し、A-normal変換の呼ばれるプログラム変換が、スタック空間の大きさについて、この条件を満たすことを示した。

  • 研究成果

    (1件)

すべて その他

すべて 文献書誌 (1件)

  • [文献書誌] 南出靖彦: "A New Criterion for Safe Program Transformations"Proc.The Forth International Worshop on Higher Order Operational Techniques Semantics. 15 (2000)

URL: 

公開日: 2002-04-03   更新日: 2016-04-21  

サービス概要 検索マニュアル よくある質問 お知らせ 利用規程 科研費による研究の帰属

Powered by NII kakenhi