リファクタリングの実施が欠陥混入に与える影響の調査を目的とした開発履歴分析

藤原 賢二 (1051097)


リファクタリングとは,ソフトウェアの外部的な振る舞いを変えることなく内部構造を改善することである.一般に,ソフトウェアの開発が進むと,リファクタリングが必要となる設計品質の低い箇所がソースコード中に増加していく. このような箇所をリファクタリングにより除去することでソフトウェアの欠陥を予防できるといわれている. しかし,この効果を定量的に評価した研究は少なく, 評価しているものについても,精度の低いリファクタリングの検出手法を利用しているという問題が指摘されている. 本研究では,リファクタリングが欠陥混入に与える影響についてオープンソースソフトウェアであるColumbaを対象に調査した. 調査にあたって,ソフトウェア開発履歴からリファクタリングの実施頻度,欠陥の混入頻度および欠陥の修正頻度を計測した. 調査の結果,Columbaの開発においてリファクタリングが最も実施された期間以降は,欠陥の混入が減少傾向にあったことが観測された. また,リファクタリングの実施頻度が高くなった後に欠陥の修正頻度が高くなる傾向にあることがプロジェクト全体を通して観測された.