Please enable JavaScript.
Coggle requires JavaScript to display documents.
Identifying refactoring opportunities: a systematic literature review…
Identifying refactoring opportunities: a systematic literature review
refactoring opportunities for removing code smells
different to other lit reviews cos about identifying code smells for purpose of refactoring
Results
What are the refactoring activities in the literature?
Move class
Extract class
Move Method/Field
Extract method
Pull up method
Extract superclass
Inline class
Remove parameter
Form template method
Rename Method/Field
What are the techniques used to identify refactoring opportunities?
using metrics
using preconditions
using clustering of similars for distances
using graphs
What are the approaches used for evaluating the techniques?
by comparing quality before and after refactoring
by using programmer's intuition to test resulting code after refactoring
by mutating systems so that they need refactoring
by comparing code that used the technique and one that didn't
by observing behaviour before and after refactoring (ensuring it didn't change)
by showing their applicability to 1 or more system
Discussion
gap between refactoring practice studied in research vs used in practice
metrics and quality oriented techniques are good cos flexible and strong relationship with software design
no study yet that uses the different techniques for same refactoring activity
application of techniques to different refactoring practices cos studies focus on only 1 refactoring practice
need more industry expertise included in studies
around 70% of refactoring activities suggested by Fowler have not been studied
need datasets with more programming languages cos java-dominant
need mix of industrial and open source code examined