研究課題/領域番号 |
22K21279
|
研究機関 | 奈良先端科学技術大学院大学 |
研究代表者 |
嶋利 一真 奈良先端科学技術大学院大学, 先端科学技術研究科, 助教 (50964376)
|
研究期間 (年度) |
2022-08-31 – 2024-03-31
|
キーワード | ソフトウェアテスト / 動的解析 / 依存関係 / ソフトウェア保守 / ソフトウェア工学 |
研究実績の概要 |
本年度は互換性検証技術の構築を目的として,テストの生成やその実行の比較を対象に研究を行った.テストの実行時情報を効率的に比較する手法として,実行トレースからマークル木を作成し効率的に差分を検知する手法に着目し,互換性検証を行う手法の実装を行っている.メソッド返り値のみに着目するトレースや引数に関連するトレースなど様々な選択があるのでこれらを順に検討している段階である.また,ライブラリに対するテストの生成については,テスト自動生成技術によって生成したテストからライブラリの入出力に関連する部分のみ抽出することで,実行コストを下げつつカバレッジを増加させる手法の実装を行っている.実行トレースの収集及びテスト生成の技術については目途がついてたので,両者を組み合わせた実装を行い,手法の実現を図っている段階である. 二つのソースコードが同一の機能を有しているかを判定するための要素技術として,テスト対象に対して記号実行を用いてテストを自動生成し,実行結果の比較を行うフレームワークを作成した.ソースコードの類似度もフレームワークにて測定することで,難読化前後の同機能を持つソースコードの信頼性の評価に用いることが可能となった. また,互換性検証を幅広く展開するために,類似した機能の対応付けも重要な項目となる.そのため,2つの類似するWebアプリケーションに対して,類似する機能の対応関係の抽出を行い,変更差分をもとに機能の対応付けを行う技術についても実現し,UIが異なるアプリケーションでも機能の対応付けが可能であることを確認した.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
当初の想定とは異なるが,互換性検証技術とテスト生成技術の構築を並行して行った結果,それぞれ核となる技術に目途が立っており現在その実装段階である.また,2つのプログラムが同様の挙動をしているかといった判定を実行における情報やその差分を効果的に用いることで実現できており,ソフトウェアにおいて変更があった際に互換性検証を行うための要素技術も実現できている.
|
今後の研究の推進方策 |
次年度は,互換性検証技術については,実行トレースのマークル木に基づいて厳密かつ効率的な比較を行うために必要な実行トレースについて組み合わせを試し,最も効果的な手法についてツール化を行う予定である.互換性検証技術を用いたテストについては,ライブラリの利用機能について高いカバレッジを達成しつつ,ライブラリの入出力に関連する実行トレースのみに着目する.こちらも既存の動的解析技術を利用して実行トレースを収集することで,ツールとして実現しする.これら二つを組み合わせることで,当初想定していた利用機能に特化した厳密かつ効率的なライブラリ互換性検証手法の実現を目指す.
|
次年度使用額が生じた理由 |
現在は既存技術をもとにプロトタイピングを行っている段階であり,既存の設備を用いてツールの作成を行っている.そのため,今年度は大規模な実行時情報を扱うために必要な計算機の購入を見送った. 次年度は,プロトタイプを用いて得られた結果をもとに,実験に用いる装置や物品を購入するために未使用額を充てる方針としている.
|