Skip to main content
QUICK REVIEW

[論文レビュー] Trace Logic for Inductive Loop Reasoning

Pamina Georgiou, Bernhard Gleiss|arXiv (Cornell University)|Aug 4, 2020
Formal Methods in Verification参考文献 28被引用数 5
ひとこと要約

本稿では、プログラム変数を時刻とループ反復回数の関数としてモデル化する、多くの sorted な一階論理フレームワーク「トレース論理」を導入する。これにより、安全検証のための自動的帰納的ループ推論が可能になる。プログラムの意味をトレース論理に符号化し、超限帰納的証明を支援する一貫性のあるトレース補題を用いることで、整数や配列における量化子の入れ子構造を持つ複雑な一階論理的性質の完全自動検証が達成された。SMTベースのツールでは従来、処理不能とされてきたSV-COMPの100以上のベンチマークが、成功裏に検証された。

ABSTRACT

We propose trace logic, an instance of many-sorted first-order logic, to automate the partial correctness verification of programs containing loops. Trace logic generalizes semantics of program locations and captures loop semantics by encoding properties at arbitrary timepoints and loop iterations. We guide and automate inductive loop reasoning in trace logic by using generic trace lemmas capturing inductive loop invariants. Our work is implemented in the RAPID framework, by extending and integrating superposition-based first-order reasoning within RAPID. We successfully used RAPID to prove correctness of many programs whose functional behavior are best summarized in the first-order theories of linear integer arithmetic, arrays and inductive data types.

研究の動機と目的

  • 配列や帰納的型といった無限データ構造を有するループにおける帰納的推論の自動化という課題に対処すること。
  • 変数値を時刻とループ反復回数の関数としてモデル化することで、プログラム意味論を一般化し、反復回数に対する任意の量化を可能にすること。
  • 境界付き帰納に基づくトレース補題に根ざした、ループ不変条件の自動発見と安全検証を自動化すること。
  • 一階論理のスーパーポジションに基づく推論を形式的検証に統合し、SMTソルバーの範囲外となる量化子を含む複雑な性質を補完すること。
  • 実世界のベンチマークを対象として本手法を実装・評価し、従来のSMTベースおよび変換ベースの手法に優る性能を示すこと。

提案手法

  • 実行時刻とループ反復回数を引数とするプログラムの場所を関数として扱う、多様な sorted な一階論理「トレース論理」を提唱する。
  • 帰納的でない、完全なプログラム意味論の公理化を定義し、ホア論理に関して妥当かつ完全であることを証明する。
  • 境界付き帰納に基づいて、帰納的ループ不変条件を捉える3つの汎用的トレース補題を導入し、導出された不変条件の妥当性を保証する。
  • Vampire一階論理証明器にトレース論理の性質をサポートさせる拡張を行い、Rapidフレームワークに統合する。
  • トレース補題とプログラム公理の論理的帰結として、スーパーポジションに基づく推論により自動的にループ不変条件を導出する。
  • 配列と整数における存在記号と全称記号の入れ子構造を含む、複雑な安全性性質を表現できるように、プログラムとアサーションをトレース論理に符号化する。

実験結果

リサーチクエスチョン

  • RQ1一階論理証明を用いて、安全検証のための帰納的ループ推論を効果的に自動化できるか?
  • RQ2トレース論理は、ループ反復回数および時刻に対する任意の量化をサポートでき、複雑な配列および整数の性質を表現できるか?
  • RQ3境界付き帰納に基づくトレース補題は、無限データ構造を有するプログラムの帰納的不変条件の発見を信頼性高くガイドできるか?
  • RQ4トレース論理におけるスーパーポジションに基づく推論は、SMTソルバーにとって決定不能または処理不能な性質を検証できるか?
  • RQ5トレース論理をRapidに統合することで、従来のツールが失敗する複雑な量化されたアサーションを有するベンチマークの完全自動検証が可能になるか?

主な発見

  • 著者らは、SV-COMPリポジトリの100以上のベンチマークを成功裏に検証した。これは、配列と整数における量化子の入れ子構造を持つ複雑な安全性性質を含む。
  • 本手法により、ある配列から正の要素を別の配列にコピーするプログラムの正しさが証明された。これは、類似したフレームワークを用いた先行研究では達成できなかった性質である。
  • トレース論理の帰納的でない公理化は、ホア論理に関して妥当かつ完全である。これは形式的検証のための堅固な基盤を提供する。
  • 3つのトレース補題は妥当であり、スーパーポジション推論を用いた安全アサーションの証明に必要な不変条件の自動発見を可能にする。
  • トレース論理をVampire証明器に統合したRapidフレームワークにより、現在のSMTソルバーや変換ベースのツールでは到達できない性質の完全自動検証が可能になった。
  • 本手法は、特に無限データ構造上の存在記号および全称記号を含む性質を扱う際、既存の手法を上回るスケーラビリティと表現力を持つことが示された。

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

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

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

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