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

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

Research Project

Project/Area Number 11780216
Research Category

Grant-in-Aid for Encouragement of Young Scientists (A)

Allocation TypeSingle-year Grants
Research Field 計算機科学
Research InstitutionUniversity of Tsukuba

Principal Investigator

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

Project Period (FY) 1999 – 2000
Project Status Completed (Fiscal Year 2000)
Budget Amount *help
¥2,100,000 (Direct Cost: ¥2,100,000)
Fiscal Year 2000: ¥800,000 (Direct Cost: ¥800,000)
Fiscal Year 1999: ¥1,300,000 (Direct Cost: ¥1,300,000)
Keywordsプログラム変換 / 関数型プログラミング言語 / 正当性 / 操作的意味論
Research Abstract

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

Report

(2 results)
  • 2000 Annual Research Report
  • 1999 Annual Research Report
  • Research Products

    (2 results)

All Other

All Publications (2 results)

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

    • Related Report
      2000 Annual Research Report
  • [Publications] Yasuhiko Minamide: "Space-Profiling Semantics of the Call-by-Value Lambda Calculus and the CPS Transformation"Proceedings of the Third Workshop on Higher Order Operational Techniques in Semantics. 103-118 (1999)

    • Related Report
      1999 Annual Research Report

URL: 

Published: 1999-04-01   Modified: 2016-04-21  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi