研究課題/領域番号 |
20K11747
|
研究種目 |
基盤研究(C)
|
配分区分 | 基金 |
応募区分 | 一般 |
審査区分 |
小区分60050:ソフトウェア関連
|
研究機関 | 大阪大学 |
研究代表者 |
土屋 達弘 大阪大学, 大学院情報科学研究科, 教授 (30283740)
|
研究期間 (年度) |
2020-04-01 – 2024-03-31
|
研究課題ステータス |
交付 (2022年度)
|
配分額 *注記 |
4,290千円 (直接経費: 3,300千円、間接経費: 990千円)
2022年度: 1,300千円 (直接経費: 1,000千円、間接経費: 300千円)
2021年度: 1,300千円 (直接経費: 1,000千円、間接経費: 300千円)
2020年度: 1,690千円 (直接経費: 1,300千円、間接経費: 390千円)
|
キーワード | グラフデータベース / ミューテーションテスト / グラフクエリ / テストカバレッジ / テスト / ソフトウェアテスト / カバレッジ |
研究開始時の研究の概要 |
本研究では,グラフデータベースという,ネットワークをデータとするデータベースを用いたシステムを対象に,そのソフトウェアをテストする方法の確立を目指す.これにより,信頼性の高いソフトウェアの実現が可能となる.研究では,ソフトウェアが実行するグラフデータベースに対する命令であるグラフクエリに注目する.具体的には,グラフクエリのどの部分がどの程度されたかを計測することで,どの程度テストが実行されているかを計測するための基準を考案する.さらに,その基準を用いて,効率の良い自動テスト手法を開発する.
|
研究実績の概要 |
本研究では,NoSQLデータベースの1つであるグラフデータベースを用いるソフトウェアを対象としたテスト手法の確立を目指している.3年度目となる2022年 度では,このようなソフトウェアを対象とするミューテーションテスト(ミューテーション分析)に関する研究を主に進めた. ミューテーションテストは,プログラムに人為的にバグを埋め込むことで,誤ったプログラムを多数生成する.テストをこれらのプログラムに対し実行し,どの程度,不具合が検出できたかを調べる.このことで,テストスイートのバグ検出能力を計測することができる. 前年度の2021年度でグラフデータベースにおける問合せ言語(クエリ言語)に対するミューテーションテスト方法を開発したが,2022年度では,この方法の実装を中心に行った.この実装では,Neo4J等の代表的なグラフデータベースでサポートされているクエリ言語Cypherに対し,多数のミューテーション操作(バグを埋め込む操作)をNode.jsとJavaScriptを用いて実現した.Cypherで記述されたクエリをこの実装に入力すると,自動的にバグを含む多数のクエリが出力される. このミューテーションテストを実行するツールの実装に加えて,コードのホスティングサービスサイト上でこのツールを公開するための準備を進めた.さらに,2021年度に国際会議にて論文発表したグラフデータベースを用いたソフトウェアシステム開発工程におけるテストカバレッジの把握についても,用いたデータを公開するため,その準備を進めた.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
3: やや遅れている
理由
当初の計画にはなかった,グラフデータベースを用いたソフトウェアテストの実現は,計画以上に研究が進捗した部分である.また,グラフクエリに対するミューテーションテストの設計を行うだけでなく,自動的に実現するツールの実装も完了した. 一方,開発したツールの有効性を評価をする点は,3年間の当初の期間では完了できなかったため,1年の延長を申請し,許可された.加えて,ツールやデータの公開についても,準備の大半を2022年度中に終えており,1年の延長によって,2023年度中に実現できる見込みである.
|
今後の研究の推進方策 |
実装したCypherクエリに対するミューテーションテストツールの有効性を評価するため,実験を計画し,実施する. 上記のツール,および,研究前半部分で用いたデータ(実際のソフトウェアテストにおけるアーティファクトのモデル)の公開を行う. 研究成果を記した論文執筆,投稿,国内・国際会議での発表を順次実施する.
|