研究概要 |
本研究の目的は,ソフトウェア開発に要するコストの過半を占めるとも言われるソフトウェア保守工程を支援する技術の一環として,保守の障害となるコードクローン(プログラム中の重複した記述のこと)の理解と,有害度の高いコードクローンの判別をする手法の構築にある.特に,本年度の研究上の目標は,コードクローンの履歴やそのほか様々な側面から得られる情報を元に,コードクローンの有害性を判定する手法の確立である. まず,コードクローンの危険性を判別するための分析として,圧縮ソフトを用いてソースコードを圧縮したときの圧縮率とコードクローンの含有率との間の因果性を,複数のバージョンにわたって連続的に解析している.その他,実際の開発者が10年以上保守されているレガシーソフトウェアを保守する際に,同時に修正が必要なコードクローンをどれだけ事前に察知できているかの分析を行った. それらの知見に基づいて,ソフトウェアの品質管理や各プロダクトのトレーサビリティを確保する上で,コードクローンの履歴情報がどのように活用できるのか,そのために必要となる部分,課題となる部分がどのようなものなのかをまとめている.コードクローンの履歴情報のなかから,特に有害な影響を持つものを峻別して,それらを重点的に追跡することによって,コストを抑えつつ必要な箇所の追跡が実現できる. また,コードクローンの変化を可視化するための手法として,階層構造・時間軸と二つの軸を考慮した可視化手法の研究を行った.本研究成果を応用することで,複雑なファイル階層をもつシステム内に存在するクローンの経年変化を用意に把握することが可能になる.
|