研究概要 |
本年度は,各ソフトウェア部品が行う入出力の情報を抽出するツールを,過去の研究で開発したプログラムスライシングツールの拡張として実装した.ツールの枠組みについては,プログラム解析技術に詳しいKing's College Londonの研究者や,IBM T.J. Watson Research Centerの研究者らと意見交換を行い,その知見を踏まえたものとなっている.現在は試作したツールを用いて実験の一部を実施している段階であり,次年度,結果を論文としてまとめる予定である. また,このようなプログラム解析手法が開発者と協調する手段として,開発者が情報タグをソースコードに付与し,その情報を入力とした解析の結果もまた情報タグとしてソースコード上に提示する手法を考案した.このアプローチについては,国内の研究者との議論を踏まえて,ツールの試作を進めている. これらの研究と並行して,ソフトウェア部品のコンテキスト依存性を確かめるための手段として動的解析手法の実験を行った.これは,以前より継続的に開発していた,プログラムの実行履歴を解析する手法を本研究テーマに応用したものである.実際のソフトウェア企業で開発されたソフトウェアをその設計時に作られたシナリオに基づいて実行したとき,ソフトウェア実行中のある時間軸上の区間(フェイズ)がシナリオの各ステップに該当するかという対応関係の候補を半自動的に抽出できることを確認した.この成果については,今後,実行シナリオと実行履歴の対応関係を自動的に抽出する手法へと発展させることを検討している.この対応関係が得られると,ソフトウェアの各部品が,特定の機能の実行に関係した部品であるのか,複数の機能から用いられる部品なのかを推測することが可能となり,ソフトウェア部品群の再利用性を評価する一助となることが期待できる.
|