Skip to main content
QUICK REVIEW

[論文レビュー] Verifying Asymptotic Time Complexity of Imperative Programs in Isabelle

Bohua Zhan, Maximilian P. L. Haslbeck|arXiv (Cornell University)|Feb 5, 2018
Logic, programming, and type systems参考文献 14被引用数 3
ひとこと要約

この論文は、時間クレジットと分離論理を拡張することで、Isabelle/HOL において命令型プログラムの漸近的時間計算量を形式的に証明する検証済みフレームワークを提示する。自動化のための auto2 証明器を統合し、実行時間の挙動についての推論を可能にし、アクラ=バジの定理や amortized 分析といった高度な技術の形式的検証を可能にする。中間の事例研究として、中央値の中央値、カラーツバのアルゴリズム、スプレイ木が含まれる。

ABSTRACT

We present a framework in Isabelle for verifying asymptotic time complexity of imperative programs. We build upon an extension of Imperative HOL and its separation logic to include running time. In addition to the basic arguments, our framework is able to handle advanced techniques for time complexity analysis, such as the use of the Akra-Bazzi theorem and amortized analysis. Various automation is built and incorporated into the auto2 prover to reason about separation logic with time credits, and to derive asymptotic behavior of functions. As case studies, we verify the asymptotic time complexity (in addition to functional correctness) of imperative algorithms and data structures such as median of medians selection, Karatsuba's algorithm, and splay trees.

研究の動機と目的

  • 命令型プログラムの漸近的時間計算量について形式的に検証可能なフレームワークを Isabelle/HOL で開発すること。
  • 実行時間の推論を可能にするために、Imperative HOL 及びその分離論理に時間クレジットを拡張すること。
  • auto2 証明器とフィルタを用いて、漸近的上限の自動推論支援を提供すること。
  • アクラ=バジの定理や amortized 分析といった高度な複雑性技法の検証を可能にすること。
  • 中央値の中央値、カラーツバのアルゴリズム、スプレイ木といった複雑なアルゴリズムとデータ構造に関する事例研究を通じて、モジュラリティと再利用可能性を示すこと。

提案手法

  • 計算ステップ数を自然数として返す型システムに、実行時間を第一級の値として統合した、Imperative HOL のモナディック枠組みを拡張すること。
  • 部分ヒープにおける時間クレジットを導入し、リソース消費の推論を可能にする。
  • 時間クレジットの分解を含む分離論理の論理積を定義し、リソース使用のモジュラリティ推論を支援すること。
  • フィルタと形式化された Landau 記号を用いて、漸近的支配関係を表現し、2 変数における Θ-上限を導出すること。
  • 時間クレジットの仮定と分離論理における漸近的推論を処理するためのカスタム規則を auto2 証明器に統合すること。
  • 関数型プログラムのためのアクラ=バジの定理および amortized 複雑性の既存形式化を活用し、命令型プログラムの類似物をサポートすること。

実験結果

リサーチクエスチョン

  • RQ1Isabelle/HOL のような証明支援ツールにおいて、命令型プログラムの漸近的時間計算量をどのように形式的に検証できるか?
  • RQ2時間クレジットを分離論理に統合することで、安全かつモジュラーな amortized リソース解析を実現できるか?
  • RQ3時間クレジットを備えた分離論理において、漸近的上限を導出するための自動化はどの程度達成可能か?
  • RQ4アクラ=バジの定理のような高度な複雑性技法を、形式的枠組み内でどのように適用・検証できるか?
  • RQ5関数型データ構造の検証済み amortized 分析を、命令型データ構造に適応・再利用できるか?

主な発見

  • 中央値の中央値選択アルゴリズムの漸近的時間計算量が、アクラ=バジの定理を用いて形式的に検証された。
  • カラーツバのアルゴリズムが、アクラ=バジ法を用いて O(n^log₂3) の時間計算量であることが形式的に検証された。
  • スプレイ木およびスケュー・ヒープが、1 回あたり O(log n) の amortized 時間計算量であることが形式的に検証された。
  • 2 変数の漸近的計算量解析がフレームワークでサポートされ、0-1 ナップサック問題で実証された。
  • auto2 証明器の拡張により、1 変数および 2 変数における漸近的上限の自動推論が可能となり、手動での証明作業が削減された。
  • モジュラー設計により、関数的正しさ、実行時間解析、分離論理の推論が分離可能となり、証明の保守性が向上した。

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

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

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

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