• 研究課題をさがす
  • 研究者をさがす
  • KAKENの使い方
  1. 課題ページに戻る

2019 年度 実績報告書

分離論理を用いたソフトウェア検証システム

研究課題

研究課題/領域番号 18H03226
研究機関国立情報学研究所

研究代表者

龍田 真  国立情報学研究所, 情報学プリンシプル研究系, 教授 (80216994)

研究期間 (年度) 2018-04-01 – 2021-03-31
キーワード分離論理 / ソフトウェア検証 / プログラム論理
研究実績の概要

本研究の目的は、オハーン理論に一般帰納的述語、配列、算術を追加した論理体系を定義し、その論理体系に対して、定理証明、両仮説形成、記号計算のループインバリアント生成の三つを計算する効率よいアルゴリズムを与え、それらのアルゴリズムの正しさおよび決定可能性を数学的に証明し、またそれらのアルゴリズムの効率を実装実験により証拠付けることである。本研究では、次のような研究を行った。一般的帰納的述語に対して循環証明を、配列および算術に対してプレスバーガー算術への翻訳を、ループインバリアント生成アルゴリズムに対してゲージ領域などの既知の最新の抽象領域の組み合わせを、それぞれアイデアとして研究を進めた。記号実行のループインバリアント生成は記号区間領域、ゲージ領域などの既知の最新の抽象領域を組み合わせ、これを拡張された分離論理に適用することによりよいアルゴリズムを構成する研究を行った。有界木幅帰納的述語のある記号ヒープのエンテイルメントの真偽を、循環証明体系により計算する判定器を構成し、その決定可能性定理を証明する研究を行った。決定可能性の証明のアイデアとして、有限個の標準形により証明探索空間が限定できること、unfold match を分離含意により拡張することを用いて研究を行った。配列と算術をもつ分離論理に関して、既存研究を発展させて、配列、算術、リスト述語を同時にもつ分離論理に対するアルゴリズムを構成しその決定可能性を証明する研究を行った。配列とリストはその性質によりヒープ中で分離できること、プレスバーガー算術への翻訳をアイデアとして研究を進めた。理論、実装、実験を互いにフィードバックさせながら研究を進めていて完成に近づいている。

現在までの達成度 (区分)
現在までの達成度 (区分)

2: おおむね順調に進展している

理由

分離論理を一般帰納的述語により拡張する研究と、分離論理を配列と算術により拡張する研究を並行に行った。それぞれの拡張では、まず、拡張した論理体系を定義し、次に、その論理体系に対して、定理証明、両仮説形成、記号計算のループインバリアント生成の三つを計算する効率よいアルゴリズムを与え、それらのアルゴリズムの正しさおよび決定可能性を数学的に証明し、またそれらのアルゴリズムの効率を実装実験により証拠付ける研究を行った。定理証明としては記号ヒープのエンテイルメントの判定を研究した。本研究では、両仮説形成を用いて、記号実行においてモジュラー性を次のように可能にする研究を行った。まず部分手続きの事前事後条件を計算し、次にその部分手続きがよばれる場所にこの事前事後条件を適用するときに、両仮説形成がその適用方法を計算する。本研究では、得られたエンテイルメント判定アルゴリズムを変形することにより両仮説形成アルゴリズムを得る研究を行った。また、以上の結果を融合して、分離論理を一般帰納的述語、配列、算術により同時に拡張する研究を行った。まず、同時に拡張した論理体系を定義し、次に、その論理体系に対して、定理証明、両仮説形成、記号計算のループインバリアント生成の三つを計算する効率よいアルゴリズムを与え、またそれらのアルゴリズムに関する実装実験を行った。以上により進捗はおおむね良好であるといえる。

今後の研究の推進方策

分離論理を一般帰納的述語、配列、算術により同時に拡張する研究をさらに進める。すでに、同時に拡張した論理体系を定義し、次に、その論理体系に対して、定理証明、両仮説形成、記号計算のループインバリアント生成の三つを計算する効率よいアルゴリズムを与え、アルゴリズムを実装した。今後は、それらのアルゴリズムの正しさおよび決定可能性を数学的に証明し、またそれらのアルゴリズムの効率を実装を用いた実験により証拠付ける。また、一般帰納的定義を扱うシステムだけではなく、一般帰納的定義のうちで実際のソフトウェア検証によく現れるリストを特別に高速に扱えるシステムの研究も行う。リストに関する効率のよいシステムが完成したら、それを一般的帰納的定義のシステムに組み込み、一般的帰納的定義はすべて扱えるが、リストは特に高速に扱える機能を持つシステムの研究を行う。

  • 研究成果

    (5件)

すべて 2022 2021

すべて 雑誌論文 (3件) (うち査読あり 3件) 学会発表 (2件)

  • [雑誌論文] Biabduction for Separation Logic with Arrays and Lists2022

    • 著者名/発表者名
      Daisuke Kimura, Makoto Tatsuta, Mahmudul Faisal Al Ameen, Koji Nakazawa, and Mirai Ikebuchi
    • 雑誌名

      Proceedings of the 24st JSSST Workshop on Programming and Programming Languages (PPL2021)

      巻: 1 ページ: 1--16

    • 査読あり
  • [雑誌論文] Decidability for Entailments of Symbolic Heaps with Arrays2021

    • 著者名/発表者名
      Daisuke Kimura, Makoto Tatsuta
    • 雑誌名

      Logical Methods in Computer Science

      巻: 17 (2) ページ: 1--33

    • DOI

      10.23638/LMCS-17(2:15)2021

    • 査読あり
  • [雑誌論文] Function Pointer Eliminator for C Programs2021

    • 著者名/発表者名
      Daisuke Kimura, Mahmudul Faisal Al Ameen, Makoto Tatsuta, and Koji Nakazawa
    • 雑誌名

      Lecture Notes in Computer Science

      巻: 13008 ページ: 23--37

    • DOI

      10.1007/978-3-030-89051-3_2

    • 査読あり
  • [学会発表] Brotherston's Conjecture: Equivalence of Inductive Definitions and Cyclic Proofs2022

    • 著者名/発表者名
      Makoto Tatsuta
    • 学会等名
      九州大学 論理と計算セミナー
  • [学会発表] 帰納的定義付き一階述語論理の循環証明体系におけるカット除去2021

    • 著者名/発表者名
      益岡幸弘, 龍田真
    • 学会等名
      記号論理学と情報科学研究集会(SLACS 2021)

URL: 

公開日: 2022-12-28  

サービス概要 検索マニュアル よくある質問 お知らせ 利用規程 科研費による研究の帰属

Powered by NII kakenhi