リファクタリング支援を目的としたメソッドのインライン化事例の特徴調査

山田悠貴 (1651117)


リファクタリングとは,外部から見たときの振る舞いを保ちつつ, ソフトウェアの内部構造を整理する技術のことである. リファクタリングを実施することで,機能追加およびバグ修正が容易になり, ソフトウェア開発の効率を向上させることができる. しかし, 大規模ソースコード中から開発者がリファクタリングの対象を特定するために大きな労力を要する. そのため, 現在まで開発者のリファクタリングの実施を支援するために多くのツールが提案されている.

メソッドのインライン化は, 呼びさされている側のメソッドを呼び出している側に展開するリファクタリングである. このリファクタリングは,開発者が実施する頻度が高いことが知られているが,現在まで開発者のメソッドのインライン化の実施を支援するツールは提案されてない。 この問題を解決するために,メソッドのインライン化を支援するツールを開発する必要があるが,メソッドのインライン化に対してどの尺度が有効であるかは明らかになっていない.

そこで, 本研究では, メソッドのインライン化実施を支援するツールを開発するために, 過去にメソッドのインライン化が実施された対象の特徴を調べた. 具体的には, オープンソースソフトウェアから, 過去にメソッドのインライン化が実施されたソースコードを版管理システムから抽出し, 凝集度メトリクスなどを用いて, メソッドのインライン化が実施された対象のソースコードの特徴を調査した. また, その調査結果からメソッドのインライン化支援手法を考案した.