研究概要 |
平成21年度に引き続き、ソフトウェア保守に関連したデータを収集・分析・対策の作成を支援する保守ナビゲートシステムの開発を中心に行う.特に,ソフトウェア保守作業において重要なソースコードの理解・改善支援のための可視化システム,既存ソースコードに含まれる有用コードの抽出システムの開発を行った.以下,それぞれについて述べる 1. ソースコードの理解支援のための可視化システム プログラム依存グラフを用いたソースコード可視化手法を提案し,その手法に基づくシステムを実装した.提案手法では,文の間のデータの繋がりに着目し,データの繋がりの強い部分が一つの機能を表すと考え,メソッド抽出リファクタリングの候補を求め,自動的に提示する.本システムは保守ナビゲートシステムにおける,リファクタリング支援機能に相当し,メソッド抽出リファクタリングをすべき箇所の候補を利用者に提示する 2. 有用コードの抽出システム 既存のソフトウェアに実装された機能を効率的に把握・再利用するため,プログラム依存グラフを用いたコードクローン検出技術を用いて,複数のソフトウェアから同様の機能を実現した箇所を検出する手法を提案し,その手法に基づくシステムを実装した.本システムは保守ナビゲートシステムにおける,修正保守支援機能に相当する 1,2で開発したシステムを,オープンソースソフトウェアの開発履歴データに適用することで,その有効性を確認し,それぞれの手法の有用性を評価した
|