研究課題
本研究では,ライブラリバージョン更新の迅速な適用を目的として,テストの実行時情報を利用した厳密かつ効率的な互換性検証手法を確立した.具体的には,(1)ライブラリメソッド内での実行の経路と値に基づく実行トレースを基にした厳密な実行トレースの比較による非互換性の検出と,(2)自動テスト生成技術によるユーザが利用しているライブラリの機能に対するテスト生成を実現した.(1)の非互換性検出については,ライブラリの更新前後で挙動が変化する箇所を,更新されたライブラリのメソッドにおける実行命令列を基にした実行トレースと返り値を基にした実行トレースをマークル木を用いて効率的に比較し,差分が観測された箇所に着目した.これにより,ライブラリの非互換性発生時に確認すべきメソッド候補を,実行されたメソッドを基にして10%から20%程度に削減することが出来た.(2)のライブラリ機能に対する自動テスト生成については,テスト対象ライブラリがOSSで利用されている事例を収集し,その単体テストを用いることで自動テスト生成を可能とした.具体的には,単体テストの実行トレースを収集し,そこからテスト対象ライブラリに関連する部分を抽出,さらに繰り返し呼出しされている実行についてはフィルタリングした.実OSSへの適用の結果,テスト対象ライブラリのカバレッジの増加を確認し,手法の適用により実際のライブラリ利用状況に基づいたテストケースの生成を行うことが出来た.
すべて 2024 2023
すべて 雑誌論文 (3件) (うち査読あり 3件、 オープンアクセス 1件) 学会発表 (5件) (うち国際学会 3件)
Science of Computer Programming
巻: 236 ページ: 103117~103117
10.1016/j.scico.2024.103117
電子情報通信学会論文誌 D
巻: J107-D ページ: -
10.14923/transinfj.2023JDL8011
コンピュータソフトウェア
巻: 40 ページ: 4_37~4_46
10.11309/jssst.40.4_37