SILVA, O. L. D.; http://lattes.cnpq.br/1294001761996285; SILVA, Osmar Leandro Dantas da.
Resumo:
Refactoring detection tools, such as REFACTORINGMINER and REFDIFF, are helpful to
study refactorings applied to software repositories. To evaluate them, the tools’ authors
study software repositories and manually classify transformations as refactorings. However,
this is a time-consuming and error-prone activity. It is unclear to what extent the refactoring
mechanics is consistent with refactoring implementations available in IDEs. In this work,
we propose a technique to test refactoring detection tools. In our technique, we apply a sin-
gle refactoring using a popular IDE, and then we run the refactoring detection tool to check
whether it detects the transformation applied by the IDE. We evaluate our technique by au-
tomatically performing 9,885 transformations on four real open-source projects using eight
ECLIPSE IDE refactorings. Our main goal is to see whether there are some differences in the
refactoring mechanics of IDEs and refactoring detection tools and discuss the differences in
the refactoring mechanics. REFACTORINGMINER and REFDIFF detect more refactorings in
20.41% and 14.11% of the analyzed transformations, respectively. In the remaining cases,
REFACTORINGMINER and REFDIFF either do not detect the refactoring or classify it with
other types of refactorings. We report 34 issues to refactoring detection tools, and developers
fixed 16 bugs, and 3 bugs are duplicated. In other cases, 3 issues are not accepted.