Skip to main content
QUICK REVIEW

[論文レビュー] Now It Compiles! Certified Automatic Repair of Uncompilable Protocols

Luı́s Cruz-Filipe, Fabrizio Montesi|arXiv (Cornell University)|Jan 1, 2023
Logic, programming, and type systems被引用数 2
ひとこと要約

本論文は、知識の選択に関する問題を部分的通信によって解消することで、コンパイル不能なコサリオグラフィを自動修復する修正手順の最初の形式的定式化を提示する。Coqを用いて、著者たちは元の理論的定式化における欠陥を特定・是正し、修正されたコサリオグラフィが行動的同等性を保持し、プロジェクション可能であることを証明した。これにより、基礎となるプロセス計算機械のチューリング完全性が保証される。

ABSTRACT

Choreographic programming is a paradigm where developers write the global specification (called choreography) of a communicating system, and then a correct-by-construction distributed implementation is compiled automatically. Unfortunately, it is possible to write choreographies that cannot be compiled, because of issues related to an agreement property known as knowledge of choice. This forces programmers to reason manually about implementation details that may be orthogonal to the protocol that they are writing. Amendment is an automatic procedure for repairing uncompilable choreographies. We present a formalisation of amendment from the literature, built upon an existing formalisation of choreographic programming. However, in the process of formalising the expected properties of this procedure, we discovered a subtle counterexample that invalidates the original published and peer-reviewed pen-and-paper theory. We discuss how using a theorem prover led us to both finding the issue, and stating and proving a correct formulation of the properties of amendment.

研究の動機と目的

  • コンパイル不能なコサリオグラフィに対する自動修復手順(修正)の正しさを形式的に検証すること。
  • 元のペーパーペンによる定式化における理論的欠陥に起因する、行動的対応の誤った主張を是正すること。
  • 修正されたコサリオグラフィが元のプロトコルと関数的同等性を保ち、プロジェクション可能であることを示すこと。
  • 修正されたコサリオグラフィが基礎となるプロセス計算機械(Stateful Processes)のチューリング完全性を実現できることを確立すること。
  • 定理証明を用いて、任意のコサリオグラフィをプロジェクション可能なものに変換する、認証済みかつ形式的に検証済みの変換器を提供すること。

提案手法

  • Core Choreographies(CC)、Stateful Processes(SP)、Endpoint Projection(EPP)の既存の形式的定式化を用いて、Coq内に修正手順を形式化する。
  • 条件分岐における知識の選択の衝突を解消するために、選択ラベル(例:左/右)を挿入する新しい修正変換を定義する。
  • あるコサリオグラフィが関数を実装するならば、その修正版も同様にその関数を実装することを示す補題を用いて、修正されたコサリオグラフィが行動的同等性を保持することを証明する。
  • EPP定理を用いて、修正されたコサリオグラフィのEPPが正しい分散実装を生成することを示す。
  • 修正されたコサリオグラフィのプロジェクション可能性を形式化し、その結果得られる実装が元のプロトコルと行動的に同等であることを証明する。
  • Coqの証明能力を活用して、元の出版された理論を破綻させる微細な反例を発見・是正する。

実験結果

リサーチクエスチョン

  • RQ1元の理論的定式化における修正は、元のコサリオグラフィと修正されたコサリオグラフィの間で行動的対応を保証するのか?
  • RQ2修正手順が関数的同等性とプロジェクション可能性を形式的に検証できるか?
  • RQ3知識の選択の問題が存在する状況において、正しい意味的特徴付けは何か?
  • RQ4修正されたコサリオグラフィは、分散実装にコンパイルされた後もチューリング完全性を達成できるか?
  • RQ5形式的に検証済みで認証可能な修復手順を、実用的なコサリオグラフィプログラミングフレームワークに統合する方法は何か?

主な発見

  • 元の出版済み理論における修正は、微細な反例により誤りであることが判明し、その主張する行動的同等性は無効であった。
  • 修正された定式化はCoqで形式的に証明され、修正されたコサリオグラフィが元のプロトコルと関数的同等性を保つことを保証した。
  • 修正手順は、最小限の選択ラベルの挿入により、知識の選択の問題を効果的に解消し、Endpoint Projectionによる正しいコンパイルを可能にした。
  • 形式的に定式化された修正手順により、すべての修正されたコサリオグラフィがプロジェクション可能であることが保証され、分散実装へのコンパイルが可能となった。
  • 修正された修正手順により、Core Choreographiesおよび基礎となるStateful Processes計算機械の両方におけるチューリング完全性の証明が可能となった。
  • 修正およびその性質を含む、全形式的定式化は約250行のCoqコードに抽出され、モジュラリティと再利用可能性を示した。

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

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

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

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