Budget Amount *help |
¥3,600,000 (Direct Cost: ¥3,600,000)
Fiscal Year 2004: ¥1,400,000 (Direct Cost: ¥1,400,000)
Fiscal Year 2003: ¥2,200,000 (Direct Cost: ¥2,200,000)
|
Research Abstract |
本研究ではコードクローンに特化した保守支援手法の提案と支援ツールの開発を行った.ソフトウェア保守作業の効率を悪化させている一要因として,コードクローンが指摘されている.コードクローンとはソースコード中に存在する同一,または類似したコード片のことである.例えば,あるコード片にバグが含まれていた場合,そのコード片のコードクローン全てについて修正の是非を考慮する必要がある.このような理由によりソフトウェアからコードクローンを取り除くことはソフトウェアの保守性や複雑度などの面からみて重要である. これまでに,いくつかのコードクローン集約手法が提案されているが,解析時間コストが高いなどの理由により,大規模なソフトウェアに対しては適用が難しかった.本研究では,大規模ソフトウェアに対しても適用可能なコードクローンの集約支援手法の提案を行った.具体的には,実用的な時間でソースコードから集約に適したコードクローンを検出し,メトリクスを用いてコードクローンの特徴を定量化し,それに基づきコードクローンの絞り込みを行う.本手法を用いることによって,各コードクローンに適した集約方法を提示することで,ユーザは効率的なリファクタリング作業を行うことができる.また,提案手法をリファクタリング支援ツールとして実装し,適用実験を行った.適用実験では,支援ツールを用いて,オープンソースのソフトウェアであるAntのソースコードから,リファクタリング手法の"Pull Up Method"と"ExtracMethod"を適用可能なコードクローンを特定することができた.実際の開発現場におけるリファクタリング作業への適用を行い,提案手法の実用性の評価,手法の改善を行うことが今後の課題である.
|