During software maintenance and evolution the
internal structure of the software system undergoes continuous changes. These
modifications drift the source code away from its original design, thus
deteriorating its quality, including cohesion and coupling of classes. Several
refactoring methods have been proposed to overcome this problem. In this paper we
propose a novel technique to identify Move Method refactoring opportunities and
remove the Feature Envy bad smell from source code. Our approach, coined as
Methodbook, is based on Relational Topic Models (RTM), a probabilistic
technique for representing and modeling topics, documents (in our case methods)
and known relationships among these. Methodbook uses RTM to analyze both
structural and textual information gleaned from software to better support move
method refactoring. We evaluated Methodbook in two case studies. The first
study has been executed on six software systems to analyze if the move method
operations suggested by Methodbook help to improve the design quality of the
systems as captured by quality metrics. The second study has been conducted
with eighty developers that evaluated the refactoring recommendations produced
by Methodbook. The achieved results indicate that Methodbook provides accurate
and meaningful recommendations for move method refactoring operations
No comments:
Post a Comment