Skip to main content
QUICK REVIEW

[論文レビュー] Checking Refinement of Asynchronous Programs Against Context-Free Specifications

Pascal Baumann, Moses Ganardi|arXiv (Cornell University)|Jan 1, 2023
Formal Methods in Verification被引用数 2
ひとこと要約

この論文は、非同期プログラムのリファレンスカウンティングおよびバリア同期パターンの自動検証を可能にする、EXPSPACE完全なアルゴリズムを提示する。本手法は、非well-quasi-ordering上での新しい下向き閉包構成を用い、文脈自由言語を正則言語に置き換える。その後、状態付きベクトル加算システム(VASS)への還元を実施する。このアプローチにより、正確な複雑性境界を伴って、並列システムにおけるリソース使用パターンの検証が可能となる。

ABSTRACT

In the language-theoretic approach to refinement verification, we check that the language of traces of an implementation all belong to the language of a specification. We consider the refinement verification problem for asynchronous programs against specifications given by a Dyck language. We show that this problem is EXPSPACE-complete - the same complexity as that of language emptiness and for refinement verification against a regular specification. Our algorithm uses several technical ingredients. First, we show that checking if the coverability language of a succinctly described vector addition system with states (VASS) is contained in a Dyck language is EXPSPACE-complete. Second, in the more technical part of the proof, we define an ordering on words and show a downward closure construction that allows replacing the (context-free) language of each task in an asynchronous program by a regular language. Unlike downward closure operations usually considered in infinite-state verification, our ordering is not a well-quasi-ordering, and we have to construct the regular language ab initio. Once the tasks can be replaced, we show a reduction to an appropriate VASS and use our first ingredient. In addition to the inherent theoretical interest, refinement verification with Dyck specifications captures common practical resource usage patterns based on reference counting, for which few algorithmic techniques were known.

研究の動機と目的

  • 文脈自由指定、特にリファレンスカウンティングおよびバリア同期をモデル化するDyck言語を対象とした非同期プログラムの適合性検証の課題に取り組む。
  • 括弧構造に類似した構造に依存するリソース使用パターンの検証におけるアルゴリズム的技術のギャップを埋める。
  • Dyck言語に対する適合性チェックの複雑性を確立し、それがEXPSPACE完全であることを示す——これは正則指定包含の複雑性と一致する。
  • well-quasi-orderingでない順序上で動作する新しい下向き閉包構成を開発し、適合性検証に適した正則言語への置き換えを可能にする。

提案手法

  • well-quasi-orderingでない新しい語の順序を導入し、非同期プログラムにおける文脈自由言語のカスタム下向き閉包構成を可能にする。
  • 標準的な下向き閉包操作に依存せず、初めから構築する方法により、各タスクのトレース言語を正則言語として表現する。
  • タスク言語の正則抽象化後に、グローバルな振る舞いを要約する、簡潔に記述された状態付きベクトル加算システム(VASS)を用いる。
  • 適合性問題を、VASSのカバレッジ言語がDyck言語に含まれるかを検証する問題に還元する。この問題はEXPSPACE完全であることが示されている。
  • Tame-pumpingおよび有限状態トランスダーサによるオフセット/ディップ追跡を活用し、抽象化中に構造的インヴァリアントを保持する。
  • トランスダーサのスケルトン実行を推測し、セパレータ「#」および「¯#」を介してオフセットおよびディップインヴァリアントを検証する、決定的かつ単一に簡潔な有限状態オートマトン(dsNFA)を設計する。

実験結果

リサーチクエスチョン

  • RQ1非同期プログラムのDyck言語指定に対する適合性検証は決定可能か?その計算複雑性は?
  • RQ2順序がwell-quasi-orderingでない場合に、文脈自由言語の下向き閉包構成を開発できるか?
  • RQ3非同期プログラムの個々のタスクのトレース言語を、適合性の意味を保ったまま正則言語に効果的に置き換えられるか?
  • RQ4正則言語からDyck言語への指定に移行した場合、適合性チェックの複雑性は上昇するか?両者ともEXPSPACE完全であるが。
  • RQ5提案手法は、リファレンスカウンティングやバリア同期といった実用的な並列パターンに適用可能か?

主な発見

  • 非同期プログラムのDyck言語指定に対する適合性チェック問題はEXPSPACE完全であり、言語空集合判定および正則指定包含の複雑性と一致する。
  • well-quasi-orderingでない順序上で動作する新しい下向き閉包構成が開発され、文脈自由タスク言語の効果的正則抽象化を可能にする。
  • 導出木内の語のオフセットおよびディップは、文法サイズの多項式で有界であり、構造的インヴァリアントの有限状態追跡が可能となる。
  • プログラムのトレース言語の正則抽象化を認識するdsNFAの構築には、入力文法サイズに対して指数時間の空間しか必要とせず、複雑性上界と一致する。
  • VASSカバレッジ言語包含への還元は健全かつ完全であり、VASSに基づく包含問題がEXPSPACE完全であることが示されている。
  • 本手法により、従来手動インヴァリアントを必要としていたリファレンスカウンティングのような一般的なリソース管理パターンの自動検証が可能となった。

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

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

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

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