Skip to main content
QUICK REVIEW

[論文レビュー] Uniqueness is Separation

Liam O’Connor, Pilar Selene Linares Arévalo|arXiv (Cornell University)|Feb 6, 2026
Logic, programming, and type systems被引用数 0
ひとこと要約

論文は Separation Logic が一意性タイプシステムのフレーム条件を表現・放出するための適切な枠組みであると主張し、値の独立性を保持しつつ混合 Cogent-C 検証を可能にする。

ABSTRACT

Value independence is enormously beneficial for reasoning about software systems at scale. These benefits carry over into the world of formal verification. Reasoning about programs algebraically is a simple affair in a proof assistant, whereas programs with unconstrained mutation necessitate much more complex techniques, such as Separation Logic, where invariants about memory safety, aliasing, and state changes must be established by manual proof. Uniqueness type systems allow programs to be compiled to code that uses mutation for efficiency, while retaining a semantics that enjoys value independence for reasoning. The restrictions of these type systems, however, are often too onerous for realistic software. Thus, most uniqueness type systems include some "escape hatch" where the benefits of value independence for reasoning are lost, but the restrictions of uniqueness types are lifted. To formally verify a system with such mixed guarantees, the value independence guarantees from uniqueness types must be expressed in terms of imperative, mutable semantics. In other words, we ought to express value independence as an assertion in Separation Logic.

研究の動機と目的

  • 一意性タイプからの値の独立性を、スケーラブルなソフトウェア検証のために動機付ける。
  • Cogent が一意性をどのように強制し、現実のプログラミングでの制約を説明する。
  • これらのフレーム条件を表現・放出する正式な言語として Separation Logic を提案する。

提案手法

  • Cogent の動的型付け関係と値のヒープフットプリント追跡を用いて一意性の保証を説明する。
  • C コードとの相互作用に関する3つのフレーム条件(漏えいの自由、新規割当、惰性)を定義する。
  • Separation Logic がヒープ述語と分離論理の結合(セパレート結合)を用いてこれらの条件を一つの三重項として表現する方法を示す。
  • Separation Logic のフレーム規則と、それがモジュール化検証をどのように支えるかを説明する。

実験結果

リサーチクエスチョン

  • RQ1可変ストアを持つメモリモデルで、一意性タイプからの値の独立性保証をどのように表現できるか。
  • RQ2 Separation Logic が混合 Cogent-C 検証に必要なフレーム条件を捕捉できるか。
  • RQ3一意性タイプを用いるシステムで、外国 C コンポーネントの検証を Separation Logic 的に簡易化できるか。

主な発見

  • Cogent の動的型付け関係にはアクセス可能なポインタを追跡するヒープフットプリントが含まれ、非エイリアシングの保証を可能にする。
  • 3 つのフレーム条件(漏えいの自由、再割り当ての新規性、惰性)は、C コンポーネントとのインタフェース時に強制・主張可能であることを表現・説明する。
  • Separation Logic は局所的にヒープを変更する操作と別個のメモリを合理的に扱う自然な枠組みとフレーム規則を提供し、一意性タイプの義務と整合する。
  • 提案された定式化は Cogent-C 検証の検証作業を既存の Separation Logic ツールで再利用可能にする。
  • 著者は、精緻化型と一意性タイプを Separation Logic に基づく主張と組み合わせた、低レベル拡張のシームレスな検証を実現する未来の言語を envision している。

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

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

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

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