2019 Fiscal Year Research-status Report
Software model checking of real-time safety properties for embedded assembly program
Project/Area Number |
18K11239
|
Research Institution | Kanazawa University |
Principal Investigator |
山根 智 金沢大学, 電子情報通信学系, 教授 (70263506)
|
Co-Investigator(Kenkyū-buntansha) |
櫻井 孝平 金沢大学, 電子情報通信学系, 助教 (80597021)
|
Project Period (FY) |
2018-04-01 – 2021-03-31
|
Keywords | ソフトウェアモデル検査 / 組込みアセンブリプログラム / 時間Kripke構造 / SAT/SMT理論 / 抽象化精錬(CEGAR) |
Outline of Annual Research Achievements |
組込みアセンブリプログラムを対象として、アセンブリプログラムのリアルタイム性を検証できる、以下のソフトウェアモデル検査の理論、技術と手法を開発して、そのプロトタイプを実現して、それらの有効性を部分的に実証した。
1.【時間Kripke構造の自動生成】:組込みアセンブリプログラムから、リアルタイム性を含む時間Kripke構造を自動生成する手法及び時間Kripke構造自動生成システムを開発した。その自動生成システムは、Javaプログラム3000行程度で実装できて、アセンブリプログラムから時間Kripke構造を自動生成する機能を有する。ここで、各アセンブリ命令の実行クロック数を時間Kripke構造の各状態に付与して、リアルタイム性の記述を実現している。 2.【述語抽象化精錬】:述語抽象化とその精錬の理論を用いて、以下のような時間Kripke構造をソフトウェアモデル検査する手法を開発した。(1)述語を用いて、抽象化された時間Kripke構造を生成して、抽象モデル検査を行う。(2)(a)(1)で反例がなければ検証性質を満たすと判定して検証は終了する。(b)(1)で反例があれば、その反例が偽反例かどうかを判定して、(b-1)偽反例でなければ、検証性質を満たすと判定して検証は終了する。(b-2)偽反例であれば、偽反例を起こす状態列から、自動的にInterpolationを用いて、精錬述語を自動生成する。(3)(2)で生成した精錬述語を用いて、(1)の抽象化された時間Kripke構造を精錬して、(1)に戻り、(1)と(2)を繰り返す。 Java言語とSMT/SAT prover Z3により、以上の述語抽象化精錬によるモデル検査のプロトタイプを部分的に実装した。部分的ではあるが、組込みアセンブリプログラムのリアルタイム性の検証を実現して、開発した理論、技術と手法の妥当性と有効性を実証した。
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
組込みアセンブリプログラムを対象として、リアルタイム性のソフトウェアモデル検査の理論、技術と手法を開発した。そして、そのプロトタイプを開発して、部分的に、開発した理論、技術と手法の有効性が実証できた。
|
Strategy for Future Research Activity |
ソフトウェアモデル検査のプロトタイプを実現できたが、SMT検証の部分で未完成なものがある。 最後の1年間では、SMT検証の部分を完成させて、完全なソフトウェアモデル検査器を開発して、実用的なに例で実証実験を行う。 さらに、実用化するために、必要な機能を洗い出して、次の科研申請の準備をする。
|
Causes of Carryover |
論文掲載料及び成果発表のための出張経費。
|
Research Products
(4 results)