スクリプトベースの自動リファクタリングの論文.
GoFなどのデザインパターンを自動で行うツールは色々開発されており,IDEに組み込まれていることも多い. このようなツールは事前にパターンのスクリプトを用意しておき,それに沿ってリファクタリングを行う. 有名な既存ツールが,Eclipse に組み込まれている JDT である. しかし JDT は速度が遅いうえにバグが多い(しかもそのバグが修正されないことが多い). そこで,JDT に対してより速くより正確により手広くリファクタリングを行うツール R3 を提案している.
JDT が直接 AST をいじってリファクタリングを行うのに対して,R3 はソースコードからデータベースを構築し,それをいじることで高速なリファクタリングを可能にしている. データベースにする情報はクラスやメソッドなどの宣言系.
実験結果から,10倍(10x)の速度向上を確認している.すごい.
この手の研究は AST をこねこねすることが多い中,DB を使うというアイデアは面白いと感じた. また,結果もすごい.