• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to project page

2007 Fiscal Year Annual Research Report

対話的定理証明によるソフトウェアの精密な検証

Research Project

Project/Area Number 18700018
Research InstitutionUniversity of Tsukuba

Principal Investigator

南出 靖彦  University of Tsukuba, 大学院・システム情報工学研究科, 准教授 (50252531)

Keywordsソフトウェア検証 / 定理証明系 / Hoare論理
Research Abstract

ソフトウェアの精密な検証について以下の研究を行った。
1)アルゴリズム検証の事例研究として、重み付きグラフに対して最短経路を求めるBellman-Fordアルゴリズムの形式化及び検証を行った。アルゴリズム教科書では、重みとして実数など具体的な代数構造を仮定してアルゴリズムの形式化が行われる。一方、本研究では、必要最低限の性質を仮定し形式化を行った。代数的な構造としてどのような性質が必要かを、厳密な証明をすることで明確にすることができた。また、グラフの経路の形式化をリストの構造に対応するように行うことで、グラフアルゴリズムの形式化が扱いやすくなることが分かった。
2)プログラム検証の事例研究として、KMP法による文字列照合のC言語による実装の正しさを検証した。検証には、検証条件生成ツールCaduceusを用いた。ループ不変条件を決定するには、プログラムの精密な分析が必要であったが、検証条件の証明自体は、比較的容易であった。また、検証の過程でアルゴリズムの教科書に掲載されているC言語によるKMP法の実装の誤りを発見することができた。
3)Cプログラムに対する検証条件生成ツールCaduceusの最新版を定理証明系Isabelleに対応させる実装を行った。この実装に基づき、Caduceusの解説をコンピュータソフトウェア誌に書いた。Caduceusによる検証の原理から、配列及びポインタを用いたプログラムの検証までを解説した。

  • Research Products

    (3 results)

All 2008 2007

All Journal Article (3 results) (of which Peer Reviewed: 3 results)

  • [Journal Article] 多相レコード型に基づくRubyプログラムの型推論2008

    • Author(s)
      松本, 宗太郎・南出, 靖彦
    • Journal Title

      情報処理学会論文誌:プログラミング 49

      Pages: 39-54

    • Peer Reviewed
  • [Journal Article] Verified Decision Procedures on Context-Free Grammars2007

    • Author(s)
      Yasuhiko, Minamide
    • Journal Title

      International Conference on Theorem Proving in Higher Order Logics LNCS 4732

      Pages: 173-188

    • Peer Reviewed
  • [Journal Article] Cプログラムの検証ツール Caduceus2007

    • Author(s)
      南出, 靖彦
    • Journal Title

      コンピュータコンピュータソフトウェア 24

      Pages: 15-19

    • Peer Reviewed

URL: 

Published: 2010-02-04   Modified: 2016-04-21  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi