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

2018 年度 実施状況報告書

書換え帰納法を利用したプログラム等価性検証技術の開発

研究課題

研究課題/領域番号 18K11160
研究機関名古屋大学

研究代表者

西田 直樹  名古屋大学, 情報学研究科, 准教授 (00397449)

研究期間 (年度) 2018-04-01 – 2023-03-31
キーワードプログラム検証 / 項書換えシステム / プログラム変換 / 計算モデル / 帰納法 / 定理自動証明 / 補題生成
研究実績の概要

初年度はまずC言語で書かれたプログラムを対象に,ポインタ以外の基本データ型やユーザ定義データ型(構造体や共用体を含む)を扱うプログラムを固定長の0,1の列であるビットベクトル上で定義された論理制約付き項書換えシステムに変換する枠組みを構築し,実装した.その際に,大域変数とそれにアクセスする関数を扱うプログラムの変換を改良した.この枠組みでは従来はデータとして整数とその1次元配列のみを扱うプログラムしか変換対象でなかった点を,より多くの種類のプログラムを変換して解析できる枠組みに拡張した.
論理制約付き項書換えシステムを対象とした定理自動証明ツールの開発として,これまでに本研究で開発してきたツールCtrlがビットベクトルを扱えるための理論定義ファイルを作成した.さらに,自動証明機能の改良を目的として試行錯誤を容易にするラッパーの開発に取り組んだ.このラッパーはCtrlの対話型証明機能には実装されていなかった補題候補の等式の追加を可能にした.さらに,対話証明の際に利用したコマンドの履歴に対して,改めてCtrlを実行する際に,ファイルに記載された履歴を自動実行したのちに対話証明を開始できる機能を追加した.これにより推論規則の適用戦略の開発のための試行錯誤が容易となり,実際に試行錯誤を行った結果,新たな補題候補の自動生成法を開発するに至った.新たな補題生成法を組み込んだ自動証明では,従来のCtrlが自動証明に成功していなかった例題の自動証明に成功した.
高信頼な検証法の開発に向けて,対話型定理証明支援系Isabelle/HOL上で論理制約付き項書換えシステムを形式化する課題にも着手した.論理制約付き項書換えシステムの形式化,整数上の簡単な命令型言語から論理制約付き項書換えシステムへの変換の形式化を完了した.

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

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

理由

本研究の目的の一つは論理制約付き項書換えシステムへの変換と帰納法に基づく証明体系を命令型プログラムに応用し,命令型プログラムの新たな検証法の枠組みを確立することである.その目的に対し,変換対象となるプログラムの範囲を拡大したことは研究目的の達成に向けて順調に研究を遂行していると言える.さらに,ツールの開発および検証法の強化についても,これまでに開発してきたCtrlの機能を補完するラッパーの実装,それを利用した試行錯誤から新たな補題生成法を実現したことは当初の計画に実現性が十分にあることを示しており,初年度にこれらを達成できていることは研究目的を達成できることを十分に期待できる進捗状況であると言える.
一方,対話型定理証明支援系Isabelle/HOL上で提案手法を形式化することは2年目に取り組む予定であったが,当初の計画を順調に遂行できていたこと,さらに形式化は容易な課題ではなく時間を要する可能性が高いことから,初年度からIsabelle/HOL上での形式化に着手した.
以上のことから本研究の進行状況は概ね順調であると言える.

今後の研究の推進方策

Ctrlはプログラムの停止性や等価性を証明する上である程度,完成されたツールであるが,ビットベクトルなど新たなデータ構造を扱うには大幅な改修が必要であることがわかった.特に,ビットベクトルとその配列を扱うシステムを検証するには内部のデータ構造の改修が必要である.また,検証時にはSMTソルバを呼び出し,論理式の充足可能性や恒真性を証明するが,その際のデータのやり取りについては字句解析・構文解析を行いながら処理を進める.SMTソルバではSMT-LIBのような共通フォーマットがある一方で,その共通フォーマットは定期的に拡張される.その際にはCtrlの字句解析・構文解析を変更する必要がある.拡張性の高い検証ツールを開発することは,有用な検証システムの開発には必須であるため,これまでの研究の知見で得た特徴,必要な機能などを十分に検討し,定理自動証明器の開発に取り組む必要がある.これまでのCtrlを利用した検証実験から,定理自動証明に求められる機能,要件を精査し,拡張性のある検証システムを開発することをめざす.
一方で,推論規則の適用戦略や補題生成法の開発は本研究で目指す強力な検証システムの実現には不可欠である.そのために2年目以降も様々な例題に対して等価性や停止性の検証実験を行い,多くの知見を得ることに取り組む.また,高信頼性を保証するために,継続してIsabelle/HOL上での形式に取り組む.

  • 研究成果

    (9件)

すべて 2019 2018 その他

すべて 国際共同研究 (2件) 雑誌論文 (1件) (うち査読あり 1件) 学会発表 (6件) (うち国際学会 2件)

  • [国際共同研究] インスブルック大学(オーストリア)

    • 国名
      オーストリア
    • 外国機関名
      インスブルック大学
  • [国際共同研究] ラドバウド大学ナイメーヘン(オランダ)

    • 国名
      オランダ
    • 外国機関名
      ラドバウド大学ナイメーヘン
  • [雑誌論文] Rewriting induction for constrained inequalities2018

    • 著者名/発表者名
      Takahiro Nagao and Naoki Nishida
    • 雑誌名

      Science of Computer Programming

      巻: 155 ページ: 76-102

    • DOI

      10.1016/j.scico.2017.10.012

    • 査読あり
  • [学会発表] 論理制約付き書換えにおける構造体および共用体の表現について2019

    • 著者名/発表者名
      金澤慶明,西田直樹,酒井正彦
    • 学会等名
      電子情報通信学会ソフトウェアサイエンス研究会
  • [学会発表] A Proof Assistant for Constrained Rewriting Induction with Lemma Generation Based on Equality Derivation2019

    • 著者名/発表者名
      SHIN Donghoon
    • 学会等名
      the 50th TRS meeting
  • [学会発表] Formalizing Logically Constrained Term Rewriting Systems in Isabelle/HOL2019

    • 著者名/発表者名
      Ryota Nakayama
    • 学会等名
      the 50th TRS meeting
  • [学会発表] On Transforming Functions Accessing Global Variables into Logically Constrained Term Rewriting Systems2018

    • 著者名/発表者名
      Yoshiaki Kanazawa and Naoki Nishida
    • 学会等名
      the 5th International Workshop on Rewriting Techniques for Program Transformations and Evaluation (WPTE 2018)
    • 国際学会
  • [学会発表] Loop Detection by Logically Constrained Term Rewriting2018

    • 著者名/発表者名
      Naoki Nishida and Sarah Winkler
    • 学会等名
      the 10th Working Conference on Verified Software: Theories, Tools, and Experiments (VSTTE 2018)
    • 国際学会
  • [学会発表] 書換え解析ツールを利用した漸近的計算量解析のためのC言語プログラムの簡易化について2018

    • 著者名/発表者名
      西江一志,西田直樹,酒井正彦
    • 学会等名
      平成30年度電気・電子・情報関係学会東海支部連合大会

URL: 

公開日: 2019-12-27  

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

Powered by NII kakenhi