研究課題/領域番号 |
25730037
|
研究種目 |
若手研究(B)
|
研究機関 | 東京工業大学 |
研究代表者 |
小林 隆志 東京工業大学, 情報理工学(系)研究科, 准教授 (50345386)
|
研究期間 (年度) |
2013-04-01 – 2015-03-31
|
キーワード | 動的解析 / デバッグ / 実行トレース解析 / 振る舞い可視化 |
研究概要 |
本研究では,実用規模のソフトウェアの複雑な振舞いを効果的に解析するスケーラブルな実行トレース解析処理基盤を構築することを目指す.効率的な解析処理のために,プログラムの静的情報や過去に蓄積した部分トレースを活用し,解析に不要な履歴の除去やトレースの分割を行うハイブリッド型依存解析手法を研究する.また,その基盤を利用して,データマイニング技術を応用した API 利用の時相制約発見手法等,多量の実行トレースの解析に基づくソフトウェア理解支援手法,欠陥個所の特定手法からなる,新しいデバッグ手法を開発する 本年度は,これまでに研究開発を行ってきたJava言語向けトレーサを拡張し,低オーバヘッドでメソッドの入退出だけでなく変数の参照・更新のイベントを取得する改良を行い,大規模実行トレース解析のための抽象化手法を提案した.提案手法では,エスケープ解析を拡張した新しい方法で一時オブジェクトを特定・除去することで,重要な振る舞いのみを表現する実行トレースを生成する.オープンソースを対象とした実験によって,約半数のオブジェクトが一時オブジェクトであり,除去可能であることを示した.さらにデザインパターンの情報を用いた抽象化に関しても研究をすすめ,効果的な可視化のためのオブジェクトグルーピングが可能であることも示した. また,実行トレースの動的依存解析結果を利用し,データ依存の伝播に基づく欠陥個所特定支援手法に関しても研究をすすめた.提案手法を実装し小規模なプログラムに適用することにより提案手法の得失を明らかにした.提案手法では,失敗実行時と成功実行時のデータ依存の差異を確率的に表現することによって欠陥混入の可能性をランキングする.手法の実装を用いた適用実験によって,ランキングだけでなく欠陥個所候補と依存性がある個所も探索範囲に加えることで特定精度を向上させることが可能であることが分かった.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
ストリーム処理を行う基盤となるトレーサの開発まで行っており,大規模解析に向けた一時オブジェクト除去手法も実現した.さらに欠陥個所特定支援手法の実装および予備評価も行うことで,デバッグを支援する具体的な手法も提案できている.
|
今後の研究の推進方策 |
多量の実行トレースを対象として本年度の成果を発展させる.まず,欠陥個所特定支援手法をより大きなプログラムに対して適用し,考慮するデータ依存の範囲と検出精度の関係を明確にする.また,一時オブジェクトの除去によって多量の実行トレース解析を効率化し,既存の欠陥個所特定支援手法の速度向上や,メソッド呼び出しパターンの抽出とパターンを用いた欠陥発見手法の精度への影響を調査する.これらの研究の基盤として,特定の振る舞いが発生する頻度を大規模に計測するための実装を行う.
|
次年度の研究費の使用計画 |
欠陥個所特定支援手法の実装・予備調査を優先させ,実行トレース解析基盤の構築を次年度に延期したため. 昨年度導入したC言語向けトレーサを利用して,大規模なトレース取得環境を用意したため,これらを解析する計算機を購入し,Java言語だけでなく,C言語にも対応したデバッグ技術の開発を行う.また,本年度の成果を国際会議等に投稿し発表を行う.
|