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

遅延評価を行うプログラミング言語の必要呼び意味論とコンパイラの形式的検証

Research Project

Project/Area Number 19J11926
Research Category

Grant-in-Aid for JSPS Fellows

Allocation TypeSingle-year Grants
Section国内
Review Section Basic Section 60050:Software-related
Research InstitutionTohoku University

Principal Investigator

水野 雅之  東北大学, 情報科学研究科, 特別研究員(DC2)

Project Period (FY) 2019-04-25 – 2021-03-31
Project Status Declined (Fiscal Year 2020)
Budget Amount *help
¥900,000 (Direct Cost: ¥900,000)
Fiscal Year 2020: ¥400,000 (Direct Cost: ¥400,000)
Fiscal Year 2019: ¥500,000 (Direct Cost: ¥500,000)
Keywords遅延評価 / 必要呼び / 名前呼び / プログラム意味論
Outline of Research at the Start

本研究は遅延評価をサポートするコンパイラに対して形式的検証の手法を明らかにし,そのような処理系の信頼性を向上するものである.
そのため,定理証明支援系Coqを用いて様々なメタ定理を証明することで,形式的検証に適した意味論の定式化を模索するほか,遅延評価を効率的に実行するための最適化に対して実際に形式的検証を行い,その手法を明らかにする.
遅延評価は言語機能として提供されるだけでなく,その特別な例であるストリーム処理としてライブラリに取り入れられてもいる.本研究が完成した際の影響はそのようなライブラリにも波及すると予想される.

Outline of Annual Research Achievements

形式的検証に適した意味論の定式化を模索するため,λ計算を相互再帰で拡張した言語の二種類の遅延評価の実装,必要呼び意味論と名前呼び意味論の,評価結果が対応することの形式的検証を行うことで評価を行なった.コンパイラを検証する際,意味論の定式化は複雑さを左右するため重要である.その際,遅延評価の効率的な実装である必要呼び意味論では簡約ごとに変数の依存関係を辿る必要があるため,相互再帰のような言語機能は考慮が必要である.
その過程で,定理証明支援系を用いた形式化に適するのみならず,既存の研究と比較しても簡潔な,必要呼び意味論と名前呼び意味論の対応の証明が得られた.この証明は,名前呼び意味論を表示的意味論として定義していた既存研究[Launchbury, POPL ‘93]と異なり,必要呼び意味論と名前呼び意味論の両方を操作的意味論として定義している点が特徴である.
必要呼び意味論においてシェアされていたメモリ領域が名前呼び意味論においては複製される点に注目し,過度に一般的過ぎない巧妙な命題に対して帰納法を回す点も本研究の特徴である.相互再帰を含むプログラムの実行時データには普通再帰的な構造が現れるが,シェアリングに注目し,帰納法や余帰納法を用いることなく実行時データ同士の対応を定義している.この成果はTPPミーティングにおいて口頭発表を行なったほか,APLASにおいても口頭発表しており,20ページの論文が査読を経て,Springerが出版しているLNCSに採録されている.
相互再帰のみならず,一部の無限ループを実行時に検出する言語機能や,関数型言語で一般的な,データコンストラクタとパターンマッチングで対象言語を拡張した場合においても,必要呼びと名前呼びの対応の証明が複雑にならないことも確かめた.この結果はJFPに投稿すべく,現在論文を執筆中である.

Research Progress Status

翌年度、交付申請を辞退するため、記入しない。

Strategy for Future Research Activity

翌年度、交付申請を辞退するため、記入しない。

Report

(1 results)
  • 2019 Annual Research Report
  • Research Products

    (3 results)

All 2019

All Journal Article (1 results) (of which Peer Reviewed: 1 results) Presentation (2 results) (of which Int'l Joint Research: 1 results)

  • [Journal Article] Formal Verifications of Call-by-Need and Call-by-Name Evaluations with Mutual Recursion2019

    • Author(s)
      Masayuki Mizuno, Eijiro Sumii
    • Journal Title

      Lecture Notes in Computer Science

      Volume: 11893 Pages: 181-201

    • DOI

      10.1007/978-3-030-34175-6_10

    • ISBN
      9783030341749, 9783030341756
    • Related Report
      2019 Annual Research Report
    • Peer Reviewed
  • [Presentation] Formal Verifications of Call-by-Need and Call-by-Name Evaluations with Mutual Recursion2019

    • Author(s)
      Mizuno Masayuki
    • Organizer
      The 17th Asian Symposium on Programming Languages and Systems
    • Related Report
      2019 Annual Research Report
    • Int'l Joint Research
  • [Presentation] Formal Verifications of Call-by-Need and Call-by-Name Evaluations with Mutual Recursion2019

    • Author(s)
      水野雅之
    • Organizer
      The 15th Theorem Proving and Provers Meeting
    • Related Report
      2019 Annual Research Report

URL: 

Published: 2019-05-29   Modified: 2024-03-26  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi