リファクタリングする理由の大規模調査

リファクタリングはソフトウェア開発において重要な要素であるのに対して,それのモチベーションに対する研究があまり行われていないので行いました論文. 著者らが開発したRefactoringMinerを使ってGitHubのリポジトリを掘って,開発者にメールを送って確認するという手順で実験を行なった.

調査の結果,もっとも行われているリファクタリングはメソッド抽出であることがわかった. また,メソッド抽出を行なった理由として11個の理由が挙げられており,クローン除去のために行われたのはメソッド抽出全体の1割ほどという結果だった. 他のリファクタリングについても動機の調査を行なっており,不吉な臭いは必ずしもリファクタリングのきっかけになるわけではないことがわかった. また,手でリファクタリングを行なったいる開発者はまだまだ多く,リファクタリング自動化の難しさを物語っている.