Skip to main content
QUICK REVIEW

[論文レビュー] Bounded Synthesis of Reactive Programs

Carsten Gerstacker, Felix Klein|arXiv (Cornell University)|Jan 1, 2018
Formal Methods in Verification被引用数 4
ひとこと要約

本稿では、LTL仕様から読みやすく構造化された反応型プログラムを自動生成する、境界付き合成アプローチを提示する。2つの制約ベースの手法を用いる:1つは双方向交互自動機に基づくもので、もう1つは直接プログラム符号化を用いるものである。実際の実行では、直接符号化手法が自動機ベース手法を上回り、構造的オーバーヘッドを最小限に抑えつつ、効率的で人間が読みやすいコードを生成する。

ABSTRACT

Most algorithms for the synthesis of reactive systems focus on the construction of finite-state machines rather than actual programs. This often leads to badly structured, unreadable code. In this paper, we present a bounded synthesis approach that automatically constructs, from a given specification in linear-time temporal logic (LTL), a program in Madhusudan's simple imperative language for reactive programs. We develop and compare two principal approaches for the reduction of the synthesis problem to a Boolean constraint satisfaction problem. The first reduction is based on a generalization of bounded synthesis to two-way alternating automata, the second reduction is based on a direct encoding of the program syntax in the constraint system. We report on preliminary experience with a prototype implementation, which indicates that the direct encoding outperforms the automata approach.

研究の動機と目的

  • 反応型合成ツールが通常生成する平坦な有限状態機械とは対照的に、読みやすく構造化されたコードが不足しているという問題に取り組む。
  • ループや変数を備えた実際の命令型プログラムを生成する境界付き合成手法を開発する。
  • 2つの制約ベースのアプローチを比較する:1つは双方向自動機を用い、もう1つは直接プログラム構文の符号化を用いる。
  • LTL仕様に対して、どちらの手法がより効率的かつスケーラブルな合成結果を生むかを評価する。
  • 境界付き合成が、正しさの保証を維持したまま、最小限で人間が読みやすいプログラムを生成可能であることを示す。

提案手法

  • 本稿では、プログラム構造と動作を符号化することで、反応型合成問題をブール制約充足問題(SAT)に還元する。
  • 実行グラフの普遍的双方向自動機に対して適用可能な一般化された境界付き合成フレームワークを導入し、注釈関数による受容性のチェックを可能にする。
  • LTL仕様を満たすプログラムを認識するための、双方向普遍ストリート自動機を構築し、最初の手法の基盤を形成する。
  • 2番目の手法では、プログラムの構文と実行トレースを制約システムに直接符号化し、明示的な自動機構築を回避する。
  • 両手法とも、普遍的自動機を用いてすべての可能なプログラム実行が仕様を満たすことを確認することで正しさを保証する。
  • 直接符号化アプローチは、SATソルバー内でプログラム実行をシミュレートするように最適化されており、複雑な自動機実行グラフの構築を回避する。

実験結果

リサーチクエスチョン

  • RQ1境界付き合成を、平坦な有限状態機械ではなく、構造的で命令型のプログラムを生成できるように拡張できるか?
  • RQ2プログラム合成において、自動機理論的アプローチと直接符号化アプローチの性能とスケーラビリティはどのように比較できるか?
  • RQ3制約内でのプログラム構文の直接符号化は、双方向交互自動機の使用に比べ、合成効率で優位に立つか?
  • RQ4得られるプログラムは、複雑なLTL仕様を満たしつつ、サイズが最小限で人間が読みやすいものにできるか?
  • RQ5明示的な実行グラフ構築を回避することで、解法時間と合成品質にどのような影響があるか?

主な発見

  • 直接符号化手法は、すべてのテストベンチマークで双方向自動機ベース手法を上回り、著しく短い解法時間となる。
  • 2ビットアーキテクチャのベンチマークでは、直接符号化は14分で解けたが、自動機ベース手法は120分を超過した。
  • 直接符号化は、変数の更新を伴うコンパクトなwhileループといった、より効率的で読みやすいコードを生成したのに対し、フラット化された状態機械とは対照的であった。
  • 双方向なし(直接)符号化は、プログラムサイズの増大に伴いより良好にスケーリングされ、128状態のプログラムで、他の手法が120分以内に完了しなかった。
  • 一般化された境界付き合成フレームワークは、実行グラフ上の注釈関数を介して、 Büchi, co-Büchi, および Streett 受容条件を正常にサポートした。
  • 両手法とも同一の正しく動作するプログラムを生成したため、制約符号化の正しさが確認されたが、直接手法は性能上の優位性によりより実用的であった。

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

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

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

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