研究課題
本研究では、複雑な振舞いをもつ並行ソフトウェアの故障に対し有効なテストケースを設計するための一手法として、ペトリネット(ソフトウェアの振舞いを表現する際に用いられる形式的モデルの一種)に基づくミューテーションテスト法を開発している。研究期間の最終年度を迎えるのに先立ち、本手法を構成する様々な部分について検討を重ねてきた。たとえば、ソフトウェアの振舞い(ひいてはテストケース)をより精密に記述できるように、ペトリネットに形式的仕様記述言語を導入した表記法(拡張プレース/トランジションネット)を考案した。テストケースの品質を評価・改善するための定量的な尺度であるミューテーションスコアを、より精度を高め、本手法に適するように拡張した。また、拡張されたミューテーションスコアを導出したり、テストケースの優先度を評価したりするために、各種メトリクスに基づいてペトリネットを重み付けする方法を構築した。ミュータントモデル(想定されるソフトウェアの故障を含むペトリネット)を作成する方法としてミューテーションオペレータを検討した。さらに、本手法を支援するための基本的な機能を備えたツールの開発を行うなどした。以上を踏まえて最終年度においては、まず拡張プレース/トランジションネットに基づいてテストケースをヒューリスティックに生成する手法を構築した。そしてその成果を参考に、拡張プレース/トランジションネットによるミュータントモデルから、アントコロニー最適化手法を応用してネガティブテストケース(ミュータントモデルに含まれる故障に到達できるテストケース)を生成する手法を構築した。また、拡張プレース/トランジションネットによるミュータントモデルを、遺伝的アルゴリズムを応用して生成する手法を検討し、ツールに実装した。
すべて 2018 2017
すべて 雑誌論文 (1件) (うち査読あり 1件、 オープンアクセス 1件) 学会発表 (4件)
Journal of Robotics, Networking and Artificial Life
巻: 4 ページ: 168-174
10.2991/jrnal.2017.4.2.14