研究課題/領域番号 |
26280021
|
研究機関 | 大阪大学 |
研究代表者 |
石尾 隆 大阪大学, 情報科学研究科, 助教 (60452413)
|
研究分担者 |
小林 隆志 東京工業大学, 情報理工学(系)研究科, 准教授 (50345386)
|
研究期間 (年度) |
2014-04-01 – 2017-03-31
|
キーワード | ソフトウェア工学 / 動的解析 / デバッグ |
研究実績の概要 |
本年度は、(1)ソフトウェアの複数回の実行から収集したログの対応関係を分析する手法、(2)一部のデータが欠落した実行ログを用いての実行の再現、(3)解析基盤となるライブラリの開発と公開を行った。 (1)として、動的プログラム依存グラフの部分グラフを比較することで、ソフトウェアの動作の差分を求める手法を試作した。デバッグにおいて、ソフトウェアの修正前と修正後に取得した実行ログを比較することで、修正によって問題が生じなくなったことを開発者がテストによって確認すると同時に、ソフトウェアの他の部分の実行でデータの流れや制御の流れに変化が生じないことを自動的に検証することで、修正の正しさを開発者が迅速に確認することを可能とした。 (2)として、変数の値などが部分的に与えられている場合でも、計算できる範囲だけを用いて実行条件を再現する技術の研究を行った。具体的には、未知の値から計算される結果は未知の値であるという規則に従って、計算可能な値だけを求めながら実行経路を可能な限り探索する手法とした。 (3)として、Javaプログラムの解析を効率化するためのライブラリSOBA (Simple Objects for Bytecode Analysis)を構築し、オープンソースソフトウェアとして公開した。本研究では、当該ライブラリを(1)(2)の実現に使用しているほか、企業で用いられるソフトウェアのデータ処理の分析に注目したデータ依存関係解析や、ソフトウェアに含まれる類似コードの内容から処理の違いを分析する技術など、デバッグに必要なプログラム分析技術の実現のための基盤として使用した。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
デバッガに関する研究では、バグの実例を得にくいという点が課題であったが、米国ワシントン大学のグループによってDefects4Jと呼ばれるバグ事例データベースが公開され、Javaプログラムに関するデバッグに関してはデータに基づく議論が格段に容易になった。我々の研究でも部分的に(1)(2)の研究の評価に利用することができ、その有用性も確認できたことから、今後の研究も効率的に研究が進展することが期待できる。 また、実行ログの解析は、大量のデータを効率的に処理する必要があり、計算コストの改善というのが1つの課題となっていたが、(1)で構築した手法については学会発表を通じた議論で性能の改善の可能性が判明しており、今後の研究の進展が期待できる状況にある。
|
今後の研究の推進方策 |
本年度にJavaのプログラム解析に用いる基本的な処理をライブラリ化できたことで、様々な解析技術の試作が容易になった。ライブラリの利用方法を研究分担者と共有し、改善を継続していくことで、さらに高度な解析技術の開発を効率的に進めることを計画している。
|
次年度使用額が生じた理由 |
物品費の余剰は、研究に使用する一部機材を所属機関の経費で導入することができたことによるものである。旅費の余剰は、論文の発表が国際会議よりも論文誌を通じたものが主となったために生じたものである。
|
次年度使用額の使用計画 |
次年度の論文誌の掲載料、国際会議への参加旅費、参加費の支払いに使用する予定である。
|