高信頼性システム向けリアルタイムOSのテスト手法

 
鴫原 一人
富士ソフト(株) ASI事業部 エグゼクティブフェロー

 キーワード
リアルタイムOS μITRON テスト手法

[背景]高機能を持つリアルタイムOSの品質確保

[問題]マルチプロセッサ,メモリ保護機能に対するテスト手法
[貢献]リアルタイムOSのテスト手法の確立


 IoTや自動車の高度化に伴い,組込みシステムの重要性が一層高まっている.また,組込みシステムの高機能化・大規模化に伴い,マルチプロセッサやメモリ保護機能も必要となっている.一方で複雑化した組込みソフトウェアの不具合が問題視されている.組込みソフトウェア開発においては,プログラムの再利用性や,リアルタイム性を確保するために,組込み向けリアルタイムOS(RTOS)を採用して開発することが一般的である.つまりRTOSは,組込みシステムの品質を支える重要なソフトウェアであると言える.

 RTOSの品質確保は重要な課題であるが,RTOSに特化したテスト手法やツールなどで,一般的に知られているものは存在しない.また,マルチプロセッサやメモリ保護に対応したRTOSは,歴史が浅く,テスト手法が確立されていないという問題がある.実際に,RTOSに対してテスト分析を行った結果,RTOS特有の性質から,スクラッチでテストプログラムを開発・保守することが困難であることや,マルチプロセッサ環境やメモリ保護機能におけるテストの実現に課題があることが明確となった.本研究では,これらの問題を解決するために,RTOSに対するテストの課題や規模を明確にし,RTOSをテストするための手法やツールを考案した.

 まず,μITRONベースのRTOSを対象に,テストプログラムを直接コーディングするのではなく,テストプログラムより抽象度の高いテストシナリオから,テストプログラムを生成するツールを開発した.テストシナリオを形式的に表現するために,TESRY(TEst Scenario for Rtos by Yaml)記法と呼ぶ記法を考案し,TESRY記法で記述されたテストシナリオから,テストプログラムを生成するツールとして,TTG(Toppers Test Generator)を開発した.マルチプロセッサ向けRTOSに対しては,テストで必要となるプロセッサ間の同期を実現するプロセッサ間同期制御ライブラリを開発し,TTGに組み込んだ.

 次に,AUTOSAR OSベースのRTOSを題材として,メモリ保護機能に対するテストを実施した.AUTOSAR OS仕様は,μITRON仕様と比べて,OSオブジェクトに設定可能なパラメータが多く,テストケース数が膨大となる問題に対しては,テストケースの組合せツールを用いたテストケース生成を行った.また,メモリ保護機能に対するテストパターンを導出し,テストのポータビリティ向上のため,プロセッサに依存する部分の明確化を行った.

 本研究で開発したμITRONベースのRTOS向けのテストスイートは,以下から公開している.
http://www.toppers.jp/ttsp.html

 

 
 (2019年5月8日受付)
 
取得年月日:2018年9月
学位種別:博士(情報科学)
大学:名古屋大学



推薦文
:(組込みシステム研究会)


自動車やエレベータといった機器はソフトウェアによって制御されており,OSとしてリアルタイムOSが使用されている.リアルタイムOSに問題(バグ)があると,これらの機器の制御に問題が発生して人命を脅かす可能性がある.本博士論文では,リアルタイムOSのバグを検出するための膨大なテストプログラムを効率的に作成する技術を提案している.この技術を用いることでシステムの信頼性・安全性を高めることが期待できる.


研究生活


大学卒業後,エンジニアとして勤務していましたが,名古屋大学との共同研究への参加をきっかけに,RTOSの検証手法などについて研究・開発することになりました.また,所属企業より,博士課程へ入学する機会を与えていただき,博士号を取得することができました.社会人としての博士課程入学であり,子どもも小さかったため,仕事・育児・大学と,時間的に厳しい部分はありました.家族の理解・支えがなければ,博士論文を完成させるのは難しかったと思います.しかし,たくさんの論文執筆や,英語での学会発表など,博士号を取得するまでに,数多くの貴重な経験をできたと思いますし,企業での業務に活かされていると感じています.

本研究にあたり,ご指導とご助言をいただきました高田広章教授,本田晋也准教授に,心よりお礼申し上げるとともに,博士課程入学の機会を与えていただきました,富士ソフト(株)に感謝いたします.