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

2018 年度 実績報告書

高レベル言語で記述されたソフトウェアの時相的・関係的仕様の検証

研究課題

研究課題/領域番号 16H05856
研究機関筑波大学

研究代表者

海野 広志  筑波大学, システム情報系, 准教授 (80569575)

研究期間 (年度) 2016-04-01 – 2020-03-31
キーワード時相的仕様 / 関係的仕様 / 不動点論理 / 述語充足可能性判定 / 循環証明 / プログラム検証
研究実績の概要

本研究では、研究代表者がこれまでに研究・開発を行ってきた高レベル言語のための検証理論であるリファインメント型システムおよびホーン節制約解消法、関数型言語 OCaml のための全自動・高精度検証ツールである RCaml を発展させ、実用上重要であるにも関わらず既存手法では十分に扱えなかった言語機能(再帰データ構造・参照セル・オブジェクト・モジュール機構・例外処理機構・マルチスレッド機構)および仕様(時相的仕様・関係的仕様)の全自動・高精度検証法の確立を目指している。前年度までの成果である、依存リファインメント型・エフェクトシステムによる依存時相仕様検証問題から不動点論理式の妥当性判定問題への帰着法と妥当性判定のための演繹体系だけでは、全自動で高レベルプログラムの検証を行うことができなかった。そこで、本年度は依存時相仕様および関係的仕様の自動検証の実現を目指して研究を行い、以下の成果を得た。(1) 不動点論理の妥当性判定問題の自動解消法を提案した。提案手法は妥当性判定問題を、ホーン節制約解消問題を一般化した述語制約解消問題に帰着した上で、反例駆動帰納的合成法と決定木学習、テンプレートに基づく解探索法を組み合わせて解くものである。(2) 述語制約解消問題を解くための別の手法として、機械学習分野で研究されてきた因子グラフおよびマルコフ確率場のための確率伝搬法とシステム検証分野で研究されてきた反例駆動帰納的合成法、述語抽象、SATソルバを組み合わせたものを提案した。(3) 不動点論理式の妥当性判定を関係的仕様検証に応用できるようにするため、一階不動点論理の循環証明体系を提案し、前年度までの成果である不動点論理の妥当性判定のための演繹体系との関係を調査した。

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

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

理由

研究実績の概要で述べたとおり、ホーン節制約解消問題を一般化した述語充足可能性判定問題の解消法、不動点論理の妥当性判定の述語充足可能性判定への帰着法、不動点論理の妥当性判定のための循環証明体系といった先駆的な成果を得ている。これらの成果の一部は、ホーン節制約解消に関する国際ワークショップであるHCVS'18の招待講演で発表した。また、HCVS'19併設のCHC競技会に提案手法を実装したツールであるPCSatを提出し、類似ソルバとの比較評価を行うなど、理論面だけでなく実装・評価においても大きな進展があった。

今後の研究の推進方策

今後も計画通り研究を推進する。2019年度には、これまでに得られた依存リファインメント型・エフェクトシステムに関する研究成果に基づき、OCaml言語用検証ツールRCamlを拡張することによって、高階・再帰データ構造、参照セル、オブジェクト、モジュール機構、例外処理機構、マルチスレッド機構といった高度な言語機能を扱うOCamlやJavaで記述された高レベルプログラムを対象とし、その依存時相仕様検証問題を不動点論理の妥当性判定問題に帰着するツールを完成させる。それと今年度までの成果である不動点論理の妥当性判定のためのソルバを組み合わせることによって、高レベルプログラムの時相的仕様検証および関係的仕様検証、それらを包含する仕様クラスであるHyperpropertiesの全自動検証が実現する。さらに、検証法の評価のために、情報セキュリティ(機密性・完全性・可用性)への応用を行う。

  • 研究成果

    (8件)

すべて 2019 2018

すべて 学会発表 (8件) (うち国際学会 3件、 招待講演 1件)

  • [学会発表] Belief Propagation for Predicate Satisfiability Checking(ポスター発表)2019

    • 著者名/発表者名
      柳 日向, 海野 広志
    • 学会等名
      第21回プログラミングおよびプログラミング言語ワークショップ
  • [学会発表] Propositional Dynamic Logic for Higher-Order Functional Programs2019

    • 著者名/発表者名
      Yuki Satake, Hiroshi Unno
    • 学会等名
      第21回プログラミングおよびプログラミング言語ワークショップ
  • [学会発表] A Fixpoint Logic and Dependent Effects for Temporal Property Verification2019

    • 著者名/発表者名
      Yoji Nanjo, Hiroshi Unno, Eric Koskinen, Tachio Terauchi
    • 学会等名
      第21回プログラミングおよびプログラミング言語ワークショップ
  • [学会発表] Failure of Cut-Elimination in Cyclic Proofs of Separation Logic2019

    • 著者名/発表者名
      Daisuke Kimura, Koji Nakazawa, Tachio Terauchi, Hiroshi Unno
    • 学会等名
      第21回プログラミングおよびプログラミング言語ワークショップ
  • [学会発表] Horn Clauses and Beyond for Relational and Temporal Program Verification2018

    • 著者名/発表者名
      Hiroshi Unno
    • 学会等名
      The 5th Workshop on Horn Clauses for Verification and Synthesis (HCVS'18)
    • 国際学会 / 招待講演
  • [学会発表] 一階不動点論理の循環証明体系とプログラム検証への応用2018

    • 著者名/発表者名
      南條 陽史, 海野 広志
    • 学会等名
      日本ソフトウェア科学会第35回大会
  • [学会発表] On Cut-elimination in Cycle Proof Systems(ポスター発表)2018

    • 著者名/発表者名
      Daisuke Kimura, Koji Nakazawa, Tachio Terauchi, Hiroshi Unno
    • 学会等名
      The 16th Asian Symposium on Programming Languages and Systems (APLAS'18)
    • 国際学会
  • [学会発表] On Cut-elimination in Cycle Proof Systems2018

    • 著者名/発表者名
      Daisuke Kimura, Koji Nakazawa, Tachio Terauchi, Hiroshi Unno
    • 学会等名
      The 4th Workshop on New Ideas and Emerging Results (NIER'18)
    • 国際学会

URL: 

公開日: 2019-12-27  

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

Powered by NII kakenhi