aserg-ufmg / RefDiff

A tool to mine refactorings in the commit history of git repositories.
MIT License
148 stars 44 forks source link

Is the Move Method refactoring a true instance? #17

Open osmarleandro opened 3 years ago

osmarleandro commented 3 years ago

Summary

In the source code of osmarleandro/RefactoringMiner@d67f4b4 commit, I applied a single Rename Class refactoring to VariableDeclarationProvider class. RefDiff yields a single Move Method refactoring as result. Why is the Rename Class refactoring instance not detected?

Code example

Diff fragment between the commit osmarleandro/RefactoringMiner@d67f4b4 and their parent.

@@ -2,6 +2,6 @@ package gr.uom.java.xmi;

 import gr.uom.java.xmi.decomposition.VariableDeclaration;

-public interface VariableDeclarationProvider {
+public interface VariableDeclarationProvider_RENAMED {

Environment details

RefDiff 2.0

Steps to reproduce

  1. Run RefDiff and pass as input the commit osmarleandro/RefactoringMiner@d67f4b4.

Actual results

MOVE    {Method getVariableDeclaration() at src/gr/uom/java/xmi/VariableDeclarationProvider.java:6} {Method getVariableDeclaration() at src/gr/uom/java/xmi/VariableDeclarationProvider_RENAMED.java:6})

Expected results

A single instance of the Rename Class refactoring applied to VariableDeclarationProvider class.