Skip to main content
QUICK REVIEW

[論文レビュー] An Expressive Trace Logic for Recursive Programs

Dilian Gurov, Reiner Hähnle|arXiv (Cornell University)|Nov 20, 2024
Logic, programming, and type systems被引用数 1
ひとこと要約

この論文は、2項状態述語、chop、最小不動点に基づく表現力のあるトレース論理を導入し、再帰的命令型プログラムの指定および検証を可能にする。プログラムとトレース論理式の完全な構成的意味論を確立し、構成的証明計算の健全性と相対的完全性を証明し、最も強いトレース論理式と標準的プログラムを介してプログラムと論理式の間のガロア接続を形式化することで、プログラミング構文と論理結合子の間の深い対応関係を明らかにする。

ABSTRACT

We present an expressive logic over trace formulas, based on binary state predicates, chop, and least fixed-points, for precise specification of programs with recursive procedures. Both, programs and trace formulas, are equipped with a direct-style, fully compositional, denotational semantics that on programs coincides with the standard SOS of recursive programs. We design a compositional proof calculus for proving finite-trace program properties, and prove soundness as well as (relative) completeness. We show that each program can be mapped to a semantics-preserving trace formula and, vice versa, each trace formula can be mapped to a canonical program over slightly extended programs, resulting in a Galois connection between programs and formulas. Our results shed light on the correspondence between programming constructs and logical connectives.

研究の動機と目的

  • 指定するプログラムと同等の表現力を備えたトレース論理を構築し、再帰的手続きの正確でモジュラーな検証を可能にする。
  • 標準的なステップごとの操作的意味論と一致する、プログラムとトレース論理式の両方の完全な構成的意味論を提供する。
  • 有限トレースのプログラム性質を検証するための構成的証明計算を設計し、健全かつ相対的に完全であることを保証する。
  • 最も強いトレース論理式と標準的プログラムを介して、プログラムとトレース論理式の間のガロア接続を形式化し、構造的対応関係を明らかにする。
  • 文変数による記号的継続を用いることで、明示的な仕様契約がなくても手続きモジュラーな検証が可能であることを示す。

提案手法

  • 再帰的手続きと非決定的ガードを備えたプログラミング言語 Rec を定義し、標準的なステップごとの操作的意味論を備える。
  • SOS意味論と同等であることが証明された、完全に構成的な Rec の意味論を導入する。
  • 有限プログラムトレースの集合を表現するため、2項状態述語、chop(連結)、最小不動点を用いたトレース論理を構築する。
  • 任意のプログラムの最も強いトレース論理式(stf)を、そのプログラムのすべての有限トレースを正確に特徴付ける論理式として定義する。
  • S : ϕ の形の判断を扱う構成的証明計算を設計し、判断を分解する推論規則と、論理式を変換する代数的規則を備える。
  • 任意のトレース論理式を拡張された言語 Rec∗ におけるプログラムに再構築する標準的プログラムの構成を定義し、stf と標準的プログラム写像を随伴写像とする、Rec∗ とトレース論理式の間のガロア接続を確立する。

実験結果

リサーチクエスチョン

  • RQ1再帰的命令型プログラムと同等の表現力を備え、完全な構成的意味論を持つトレース論理を構築することは可能か?
  • RQ2有限トレースのプログラム性質を検証するための、健全かつ相対的に完全な構成的証明計算を設計することは可能か?
  • RQ3プログラミング構文と論理結合子の間の正確な対応関係を形式化し、証明することは可能か?
  • RQ4最も強いトレース論理式と標準的プログラムを介して、プログラムとトレース論理式の間のガロア接続を確立することは可能か?
  • RQ5検証フレームワークから明示的な手続き契約を排除しても、モジュラーで手続きレベルの検証が可能か?

主な発見

  • Rec の意味論が、小ステップ操作的意味論と完全に同等であることが証明され、構成的モデルの正しさが保証される。
  • 任意のプログラムの最も強いトレース論理式は、その意味論を完全に保持しており、stf(S) は S のすべての有限トレースの集合を正確に特徴付ける。
  • S : ϕ のための証明計算は健全かつ相対的に完全であり、構成的推論により有限トレースの性質の検証が可能である。
  • Rec∗ とトレース論理式の集合の間で、stf と標準的プログラム写像を随伴写像とするガロア接続が正式に確立された。
  • 文変数による記号的継続を用いることで、明示的な契約がなくても手続きモジュラーな検証が達成され、新規でモジュラーな「Call」規則が得られた。
  • このフレームワークは、コールシーケンス、コールバックの不在、イベントの発生など、ホア論理や標準的時相論理では表現が難しい複雑なインタープロシージャル性質を自然にサポートする。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。