• 概要

     本研究の目的は,ソフトウェア検証過程における定理証明の利用方法の提案 と,定理証明の応用領域の拡張である.我々は,ケーススタディとして定理証 明器 Isabelle/HOL でシステム仕様を保証した C プログラム併合システムを構 築する.これは,与えられた 2 つの C プログラムのソースコードに対し,そ れらを併合し,いくつかの最適化を施した C プログラムソースコードを出力す る併合システムである.また,ここで扱う C プログラムは実際の C 言語の部 分集合である.本システムの主要部分はIsabelle/HOL で記述し証明しており, フロントエンドとバックエンドは C プログラムで実装している.本システムは, フロントエンドとバックエンドを備えることで,定理証明器に不慣れなユーザ にも使いやすいツールとして提供可能である.併合については,併合後のプロ グラムが変数名の重複を含まないこと,改名された関数定義が必ず存在するこ となど,構文的な正当性のみを対象として形式化し,証明を完了した.最適化 については,形式化は行ったが証明は完了していない.併合システムはソフト ウェアテストにおけるテストスイートや,分散開発環境でのプログラムソース の併合などで用いられ,仕様を証明したものを提供することで,これを使って 開発されたシステムの信頼性が向上する.また,この併合システムを 本研究の 成果により,Isabelle/HOL のライブラリとして提供することで,定理証明の応 用事例の増加も期待できる.
  • 発表論文

    ``定理証明器によって証明された C プログラムのマージャー,'' 情報処理学会第92回プログラミング研究会発表資料, January, 2013. ``Certified Merger for C Programs Using a Theorem Prover:A First Step,'' 28th International Conference on Computers and Their Applications (CATA2013), pp.59-64, March, 2013.