Skip to main content
QUICK REVIEW

[論文レビュー] Analyzing Alloy Formulas using an SMT Solver: A Case Study

Aboubakr Achraf El Ghazi, Mana Taghdiri|arXiv (Cornell University)|May 4, 2015
Logic, programming, and type systems参考文献 2被引用数 5
ひとこと要約

本稿では、Alloy Analyzerが要請する型の有限化を回避するために、Yices SMTソルバを用いてAlloyモデルを分析する手法を提案する。Alloy制約をSMT-Lib形式に変換することで、トートロジーの検証が可能となり、より豊富な理論を扱えるようになる。5つの証明は型の有限化なしに完了し、ほとんどの場合でAlloy Analyzerを上回る性能を示した。

ABSTRACT

This paper describes how Yices, a modern SAT Modulo theories solver, can be used to analyze the address-book problem expressed in Alloy, a first-order relational logic with transitive closure. Current analysis of Alloy models - as performed by the Alloy Analyzer - is based on SAT solving and thus, is done only with respect to finitized types. Our analysis generalizes this approach by taking advantage of the background theories available in Yices, and avoiding type finitization when possible. Consequently, it is potentially capable of proving that an assertion is a tautology - a capability completely missing from the Alloy Analyzer. This paper also reports on our experimental results that compare the performance of our analysis to that of the Alloy Analyzer for various versions of the address book problem.

研究の動機と目的

  • SATベースで型を有限化するAlloy Analyzerの制限を解消し、トートロジーを証明できないことの問題に対処する。
  • SMTソルバの背景理論および無限型のサポートを活用することで、Alloyにおけるスコープの上限問題を克服する。
  • より一般かつ完全な検証が可能なSMT論理へのAlloyモデルの翻訳の可能性を実証する。
  • 量子化子とラムダ式を用いて、非可換閉包、抽象型、多重性といった複雑なAlloy構文をSMT論理にエンコードする方法を調査する。
  • アドレス帳の事例研究において、SMTベースの解析と標準的なAlloy Analyzerとの間で、性能と正しさを評価する。

提案手法

  • YicesをSMTソルバのターゲットとして、AlloyモデルをSMT-Lib形式に変換する。
  • Yicesの量子化子とラムダ式を用いて、関係、多重性(lone, some, one, set)、抽象型、非可換閉包といったAlloy構文をエンコードする。
  • 非決定性のため必要となる非可換閉包のような構文にのみ、必要に応じて型の有限化を適用し、最小限に抑える。
  • Yicesの背景理論(整数、集合など)のサポートを活用し、ビットブロードキャストによる算術処理を回避し、表現力を向上させる。
  • 翻訳結果をYicesの意思決定手続きと統合し、アサーションの充足可能性または充足不能性を検査する。
  • 基本版、階層的版、非循環的版の3つのバージョンのAlloyアドレス帳モデルに対して、実験的評価を実施する。

実験結果

リサーチクエスチョン

  • RQ1YicesのようなSMTソルバは、型の有限化なしにAlloyのアサーションを検証可能であり、トートロジーの証明が可能か?
  • RQ2SMTベースの解析は、実行時間とスケーラビリティの面で、Alloy Analyzerと比較してどの程度優れているか?
  • RQ3非可換閉包や抽象型といった複雑なAlloy構文をSMT論理に翻訳する際の課題は何か?
  • RQ4部分的な有限化をどの程度用いることで、複雑さを低減しつつ整合性を保てるか?
  • RQ5SMTベースの解析は、スコープ制限のためにAlloy Analyzerが見逃す反例を検出できるか?

主な発見

  • アドレス帳モデルの3バージョンにまたがる9つのアサーションのうち、5つは型の有限化なしにトートロジーとして証明された。これは、境界付き解析を超えた正しさの検証が可能であることを示している。
  • 残りの4つのアサーションは部分的な有限化を要したが、非決定性を有する構文(非可換閉包など)にのみ適用され、他の型は無限のまま保たれた。
  • ほとんどのケースで、YicesはAlloy Analyzerを上回る分析時間の性能を示し、同じ検証タスクにおいてより効率的であることが示された。
  • Alloy構文をSMT論理に翻訳することは可能であったが、非可換閉包の等価性チェックのような複雑な構文は解析が難しく、さらなる最適化が必要であった。
  • SMTベースのアプローチは、Alloy Analyzerの根本的な制限である「トートロジーを証明できないこと」を回避した。
  • 結果から、SMTベースの解析は、低スコープで動作するAlloy Analyzerが見逃す反例を発見できる可能性を示唆しているが、本研究の事例ではその現象は観察されなかった。

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

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

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

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