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

2019 年度 実績報告書

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

研究課題

研究課題/領域番号 19J11926
研究機関東北大学

研究代表者

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

研究期間 (年度) 2019-04-25 – 2021-03-31
キーワード遅延評価 / 必要呼び / 名前呼び / プログラム意味論
研究実績の概要

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

現在までの達成度 (段落)

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

今後の研究の推進方策

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

  • 研究成果

    (3件)

すべて 2019

すべて 雑誌論文 (1件) (うち査読あり 1件) 学会発表 (2件) (うち国際学会 1件)

  • [雑誌論文] Formal Verifications of Call-by-Need and Call-by-Name Evaluations with Mutual Recursion2019

    • 著者名/発表者名
      Mizuno Masayuki、Sumii Eijiro
    • 雑誌名

      LNCS

      巻: volume 11893 ページ: 181~201

    • DOI

      https://doi.org/10.1007/978-3-030-34175-6_10

    • 査読あり
  • [学会発表] Formal Verifications of Call-by-Need and Call-by-Name Evaluations with Mutual Recursion2019

    • 著者名/発表者名
      Mizuno Masayuki
    • 学会等名
      The 17th Asian Symposium on Programming Languages and Systems
    • 国際学会
  • [学会発表] Formal Verifications of Call-by-Need and Call-by-Name Evaluations with Mutual Recursion2019

    • 著者名/発表者名
      水野雅之
    • 学会等名
      The 15th Theorem Proving and Provers Meeting

URL: 

公開日: 2021-01-27  

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

Powered by NII kakenhi