2011 Fiscal Year Research-status Report
トレース情報とプログラム解析による開発支援環境の研究開発
Project/Area Number |
23700041
|
Research Institution | Kanazawa University |
Principal Investigator |
櫻井 孝平 金沢大学, 電子情報学系, 助教 (80597021)
|
Project Period (FY) |
2011-04-28 – 2013-03-31
|
Keywords | ソフトェアデバッグ / プログラム解析 / プログラムトレース |
Research Abstract |
本年度は、まずトレース情報に基づくデバッガの実装であるTraceglasses上に、トレース情報とプログラムの静的解析結果を対応づけるための枠組みを構築した。プログラムの静的解析の枠組みの構築には、既存のプログラム解析フレームワークであるSootおよびSparkを利用した。Sparkは比較的単純なポインタ解析の枠組みの実装であるものの、多くの環境で容易に利用することができる。その上で、実際にデバッグに解析を利用する手法として、トレース情報中の実行済みの分岐から、実行されなかった潜在的な実行箇所の候補を探し、そのなかから前述のポインタ解析を利用し、利用される可能性のあったオブジェクトのポインタを探し出す解析手法を提案した。この解析により、ある特定のオブジェクトに本来であれば実行されるべきであった操作を発見することができる。この解析手法が実際に有用であることを示すために、いくつかのオープンソースソフトウェアのバグデータベースから実際の例を分析したところ、Apache-antやApache-commons SCXMLといったソフトウェアにおいて有用な例を発見した。具体的には、特定のリストオブジェクトに対する追加操作が正しくなされず、空のリストに起因する欠陥の原因をそのリストオブジェクトに関する解析を行うことで自動的に特定できた。また、Traceglassesはバックエンドの再実装をおこない、トレース情報の記録で約3倍の性能向上を見込んでいる。また、より大きなサイズのプログラム実行の記録(4GB以上)に対応した。
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
本年度は研究者自身の所属機関の異動に伴う作業や環境の変化により、論文発表等の研究成果の発表がなかったが、ツール開発の点ではプロトタイプの実装が完了し、Webサイト上で外部に公開も行っている。
|
Strategy for Future Research Activity |
今後は開発した成果を論文等により発表する予定である。本研究では開発した解析手法をOmission Finderとして名付け、そのアルゴリズムを定義した。またその有効性を示すための実際の例を発見している。これらをまとめ論文として公表する。また、開発したツールにおいても、更なる改善や、ユーザーテストを伴う実験のための計算機環境等の構築を行う予定である。開発した手法は、当該研究者によって有効性の分析を行った。一方で、手法を利用するプログラムの開発者にとって有効であるかどうかを実験によって確認することを予定している。さらにこの枠組みの応用例として、複数の分散した計算機上で実行されるプログラムのデバッグや検証への適用を検討する。
|
Expenditure Plans for the Next FY Research Funding |
当初の計画では研究費を物品及びOOPSLA'11等の国際会議参加の旅費に利用する予定であったが、研究者の研究機関異動などの都合及び開発作業を重点的に進めたため、全てを利用しなかった。次年度は論文発表や調査のための海外渡航費用(OOPSLA'12等)や、開発環境及び実験のための計算機の購入に利用する。実験では単一の計算機上で仮想環境を用意し、複数の被験者が実際に提案手法と開発したツールを利用してソフトウェアをデバッグする。その際どのようにツールを利用したか、うまく欠陥の原因を発見できたかどうか等を記録する。そのための計算機環境の構築を行う。また、分散した環境上での適用のためには、複数の計算機間でテストしながら開発をすることになる。このため追加の計算機が必要となる。
|