arXiv論文メモ
新着一覧
cs.PL / cs.SE · 査読状況未確認

分割と探索で分散システムの証明を自動生成する

Synthesizing Proofs Using Proof Sharding and Exploration

Seyed Armin Vakil Ghahani, Manos Kapritsos

この論文をやさしく読む

ひとことで言うと

分散システムの形式的な正しさの証明を小分けにして探索し、必要な証明注釈を自動で見つけるツールを評価した。

何に役立つ?

証明作成でプログラマーが定理証明器と往復する手間を減らす可能性がある。すべての証明を自動完成できたという結果ではない。

この研究の面白いところ

大きな課題を分割して個別に探索し、注釈候補を制御することで探索空間の爆発に対処した。103課題中86課題で最後の注釈を見つけた。

どこまで分かった?

評価は分散システムの安全性証明に関する103の証明完成課題で、17課題では最後の注釈を見つけていない。実行時間は最長2時間と報告されている。

v1のアブストラクトに基づくAI解説。日本語訳とは別に、用途の解釈を含みます。

アブストラクトの日本語訳

分散システムを正しく実装することは難しく、従来のテストでは微妙な不具合を見逃すことがある。形式的検証は複雑な分散システムの正しさを証明する別の方法だが、自動化や導入を助ける先行研究があっても、ソフトウェア開発に組み込むのはなお難しい。プログラマーは正しい証明を見つけるまで定理証明器に何度も問い合わせる必要があり、この往復には多くの人手がかかるため、形式的検証の採用を妨げる。本研究は、分散システムの正しさの証明を探すときの人手を減らし、実際の検証を拡大する課題に取り組む。 自動化ツールProofSaXを提案する。大きな検証課題を小分けにし、各部分の証明探索空間を独立して探索して正しさの証明を合成する。追加する証明用の注釈候補を制御しながら探索し、探索空間の爆発に対処する。分散システムのさまざまな安全性の証明で評価した結果、証明を完成させる103課題のうち86課題で、最後に必要な証明注釈を発見できた。実行時間は1分から2時間だった。

v1の要旨から自動生成。本文の精読・人による確認は未実施。

初稿
2026-09-22(UTC)
最新改訂
2026-09-22 · v1
査読・掲載
査読状況未確認
arXivで読むPDF

更新履歴

取得できた版を表示。版の更新は査読済みを意味しません。過去版の本文差分は未解析です。

原文の要旨

Distributed systems are hard to implement correctly, and subtle bugs can go undetected using traditional testing. Formal verification offers an alternative for proving the correctness of complex distributed systems. Despite previous efforts to automate and facilitate formal verification, it is still hard to integrate formal verification in software development. Programmers need to query the theorem prover repeatedly to find the correct proof of their system. This cycle of going back and forth with the theorem prover involves a lot of human intervention and is a barrier to adopting formal verification in software development. In this paper, we address the challenges of scaling formal verification in practice by reducing the human intervention required to find the correctness proof of a distributed system. We propose ProofSaX, an automated tool that shards large verification tasks and explores the proof search space for each shard independently to synthesize correctness proofs. We use controlled exploration when adding possible proof annotations to handle the search-space explosion problem. We evaluate ProofSaX on a variety of safety proofs for distributed systems. We show that ProofSaX can find the last proof annotation in 86 out of 103 proof-completion tasks, with runtimes ranging from one minute to two hours.

arXiv ID: 2609.28535 / 要約の誤りについて