Skip to main content
QUICK REVIEW

[論文レビュー] Antichain with SAT and Tries

Arlen Cox, Jason Leasure|arXiv (Cornell University)|Aug 30, 2017
Software Testing and Debugging Techniques参考文献 18被引用数 8
ひとこと要約

この論文は、正規言語の属性を効率的に解くためのSMTソルバQzyを提案する。Qzyは、ブール有限オートマトン(BFA)とIC3モデルチェックアルゴリズムを用い、複数の文字列変数、正規表現、および補集合や積集合といった複雑な演算を含む充足可能性問題を解く。BFAをIC3用の遷移系にエンコードすることで、NFAの決定化に伴う指数的状態爆発を回避し、特に差集合や積集合問題において、ハードなベンチマークで優れた性能を発揮する。

ABSTRACT

Even the fastest SMT solvers have performance problems with regular expressions from real programs. Because these performance issues often arise from the problem representation (e.g. non-deterministic finite automata get determinized and regular expressions get unrolled), we revisit Boolean finite automata, which allow for the direct and natural representation of any Boolean combination of regular languages. By applying the IC3 model checking algorithm to Boolean finite automata, not only can we efficiently answer emptiness and universality problems, but through an extension, we can decide satisfiability of multiple variable string membership problems. We demonstrate the resulting system's effectiveness on a number of popular benchmarks and regular expressions.

研究の動機と目的

  • 正規表現属性問題におけるSMTソルバの性能ボトルネックを解消するため、NFAの決定化や補集合演算のオーバーヘッドを回避すること。
  • アンカー、単語境界、大文字小文字の区別なしといった複雑な正規表現構造を含む、複数の文字列変数に対する効率的な充足可能性チェックを可能にすること。
  • IC3モデルチェックを用いたBFA上で、従来のオートマトンベースおよびSMTベースのソルバーよりもハードなベンチマークで優れた性能を示すことが示されること。
  • BFAを用いて正規言語のブール結合をコンactかつラージな表現として表現し、指数的状態爆発を回避すること。

提案手法

  • 正規表現を、補集合や積集合を状態爆発を伴わずにネイティブにサポートするブール有限オートマトン(BFA)として表現する。
  • BFAをブール状態とシンボルベクトルを持つ有限状態遷移系としてエンコードし、ハードウェアモデルチェッカーの直接利用を可能にする。
  • IC3アルゴリズムを適用して、BFAの空集合性および充足可能性に対応する安全特性を検証する。
  • イプシロン遷移におけるインバーター・グラフを用いて、(単語境界、アンカーなど)履歴制限付き遷移述語を効率的に統合する。
  • 複数の独立した文字列変数を扱うために、変長入力と並列的状態進化を処理するように遷移系を拡張する。
  • IC3のレモン学習を活用して探索空間を効率的に削減し、高コストなNFAの決定化を回避する。

実験結果

リサーチクエスチョン

  • RQ1補集合や積集合の文脈において、NFAに比べてBFAが複雑な正規表現制約をよりコンactに表現できるか。
  • RQ2IC3モデルチェックアルゴリズムが、NFA決定化に伴う指数的コストを回避しつつ、BFAの空集合性および充足可能性問題を効率的に解けるか。
  • RQ3BFAベースのSMTソルバの性能は、複雑な正規表現と複数の変数を含むベンチマークにおいて、既存のソルバ(例:DPRLE、Norn、CVC4、Z3-Str2)と比較してどうか。
  • RQ4(アンカー、単語境界など)履歴制限付き述語のエンコードが、BFA-IC3フレームワークに効率的に統合できるか。
  • RQ5IC3ベースのアプローチは、NFA変換に依存するソルバーよりも、特に差集合や積集合問題といったハードな問題においてスケーリングが優れているか。

主な発見

  • Qzyは、RegExLibの最も困難なベンチマークにおいて、差集合や積集合問題で他のすべてのソルバーよりも優れた性能を示し、特にそれらの問題で失敗するかタイムアウトする。
  • 積集合問題において、Qzyは他のソルバーよりもほぼ2乗のスケーリングを維持する一方、他のソルバーや指数的増加を示すため、ハードなインスタンスにおいても堅牢であることが示された。
  • Qzyは、一般化された記号的オートマトンエンコードにより、単語境界、アンカー、Unicode、大文字小文字の区別なしといった複雑な正規表現機能を効果的に処理できた。
  • IC3ベースのアプローチにより、NFA決定化に伴う指数的コストを回避し、理論的に難しい問題に対しても高速な証明が可能になった。
  • Qzyの性能は、洗練されたモデルチェックエンコードとIC3における効果的なレモン学習に起因し、前処理のオーバーヘッドなしに探索空間を削減できた。
  • パラメトリックベンチマークにおいて、Qzyは問題の複雑さが増してもランタイムが比較的緩やかに増加する一方、他のソルバーよりも指数的増加を示すのとは対照的で、効率的なスケーリングを達成した。

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

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

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

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