2009 Fiscal Year Annual Research Report
REMIX:開発者視点のソフトウェア分析ツールキット
Project/Area Number |
21650008
|
Research Institution | National Institute of Advanced Industrial Science and Technology |
Principal Investigator |
神谷 年洋 National Institute of Advanced Industrial Science and Technology, サービス工学研究センター, 研究員 (70415660)
|
Keywords | リバースエンジニアリング / 検索駆動型開発(Search-driven Dev.) / ツール / プログラム理解 / 保守 |
Research Abstract |
提案書に掲げた初年度(H21年度)の具体的な作業は、(1)プロトタイピングと(2)初期評価であった。結果、初期に掲げた目標の多くを達成し、2年目以降の研究の展開についての具体的なイメージをつかむことができた。ツールの応用として研究成果を国際ワークショップ(査読付き)および研究会で発表した(前者についてはその拡大版がLNCSに採録され、H22年度に発行予定)。 プロトタイプとして実装したツールに実装したリバースエンジニアリングのための手法は、類似コード検出、プログラムスライシング(プログラムを依存関係のグラフとして表現し、一定の基準により部分グラフに相当するプログラムを求めるもの)、ドキュメントとソースコードの双方を対象としたソースコード検索の3つである。その一部についてH22年5月にプロトタイプとして配布を開始する。 また、分析手法を組み合わせるための手段としては、同提案書にある「分解」を実現するためのデザインポリシー「汎用型による水平分解」を確立した。具体的には、(i)分析対象となるソースコードやAST、PDGなどのデータを、プログラミング言語に組み込みの汎用のデータ構造、あるいは、汎用のデータ構造と同じAPIを持つデータ構造によって表現した。(ii)分析手法は汎用データ型に適用される特殊なアルゴリズムとして実装した。これにより、種々の分析手法を実現する(相互に依存性を持たない)小規模なモジュール群を、小規模なスクリプト(グルーコード)により連携させることで、分析手法の相互運用が可能になった。
|
Research Products
(3 results)