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

2008 年度 実績報告書

ソフトウェアの安全性向上のための型理論の深化と応用

研究課題

研究課題/領域番号 20240001
研究機関東北大学

研究代表者

小林 直樹  東北大学, 大学院・情報科学研究科, 教授 (00262155)

研究分担者 五十風 淳  京都大学, 大学院・情報学研究科, 准教授 (40323456)
住井 英二郎  東北大学, 大学院・情報科学研究科, 准教授 (00333550)
寺内 多智弘  東北大学, 大学院・情報科学研究科, 助教 (70447150)
キーワードソフトウェア検証 / 型理論 / モデル検査 / 高階再帰スキーム / 資源使用法解析 / ツリーオートマトン
研究概要

本研究では、ソフトウェアの安全性向上のため、ソフトウェアを実行前に検証するための型理論の研究を行っている.
本年度は、以下の成果が得られた.
1.高階再帰スキームに基づく関数型プログラムの検証
関数型プログラムの到達可能性検証(特定のプログラムポイントに制御が到達するか)や資源使用法の検証(ファイルやメモリが仕様どおりにアクセスされるか)などの問題が高階再帰スキームと呼ばれる無限木を記述するための文法のモデル検査の問題に還元できることを示した.これによって、再帰を含む単純型付き関数型プログラミング言語に対する健全かつ完全な検証手法が得られた.
2.高階再帰スキームのモデル検査のための型理論
上記1のプログラム検証手法のためには、高階再帰スキームのモデル検査のアルゴリズムが必要であるが、従来知られていたアルゴリズムは極めて複雑でかつ効率の悪いものだった.それに対し、型を用いることによって、ブッキ・オートマトンのある部分クラスで表される仕様については、文法のサイズに関して線形時間(ただし非終端記号の引数の数とオートマトンのサイズに対してはn-EXPTIME)でモデル検査を行うためのアルゴリズムが得られた.
3.メモリの使用法の検証のための型理論
C言語のようなfreeとmallocによって手動でメモリ管理をする言語において、freeとmallocが正しく使われていること(具体的には2重に解放がおきない、mallocされたメモリ領域はプログラム終了時までに解放されるなどの性質)を検証するための型システムを設計した.さらに、その型システムに基づき、Cプログラムにおけるfreeとmallocの使用法を自動検証するための検証器を作成した.
4.単調ACツリーオートマトンの表現力の研究
デッドロックの検証器TyPiCalの改良のために単調ACツリーオートマトンの表現力について研究を行い、単調ディオファンティン不等式とよばれる制約で表される言語はすべて単調ACツリーオートマトンによって表現できることを示した.

  • 研究成果

    (4件)

すべて 2009 2008

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

  • [雑誌論文] Types and Higher-Order Recursion Schemes for Verification of Higher-Order Programs2009

    • 著者名/発表者名
      Naoki Kobayashi
    • 雑誌名

      Proceedings of the 36th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages(POPL2009)

      ページ: 416-428

    • 査読あり
  • [雑誌論文] Tree Automata for Non-Linear Arithmetic2008

    • 著者名/発表者名
      Naoki Kobayashi, Hitoshi Ohsaki
    • 雑誌名

      Proceedings of the 19th International Conference on Rewriting Techniques and Applications(RTA'08) 5117

      ページ: 291-305

    • 査読あり
  • [雑誌論文] A Hybrid Type System for Lock-Freedom of Mobile Processes2008

    • 著者名/発表者名
      Naoki Kobayashi, Davide Sangiorgi
    • 雑誌名

      Proceedings of the 20th International Conference on Computer Aided Verification(CAV'08) 5123

      ページ: 80-93

    • 査読あり
  • [学会発表] Substructural Type Systems for Program Analysis2008

    • 著者名/発表者名
      Naoki Kobayashi
    • 学会等名
      The 9th International Symposium on Functional and Logic Programming(FLOPS'08)
    • 発表場所
      三重県伊勢市
    • 年月日
      2008-04-16

URL: 

公開日: 2011-06-16   更新日: 2016-04-21  

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

Powered by NII kakenhi