refactoring-ai / Data-Collection

Collect refactorings with metrics from java source code.
MIT License
6 stars 1 forks source link

JGit Diffentry misses file changes #9

Open jan-gerling opened 4 years ago

jan-gerling commented 4 years ago

Related to issue refactoring-ai/predicting-refactoring-ml#165

Refactoringminer detects refactorings to files, that are not linked by Diffentry, e.g:

Error: 2020-03-13 18:49:17 ERROR RefactoringAnalyzer:94 Refactoring miner found a refactoring for a newly introduced class file on commit: 85c68373dabe32334933bdf6e67091534fc1504a for new class file: fluentlenium-core/src/main/java/org/fluentlenium/adapter/FluentTest.java

File on current commit: https://github.com/FluentLenium/FluentLenium/blob/85c68373dabe32334933bdf6e67091534fc1504a/fluentlenium-core/src/main/java/org/fluentlenium/adapter/FluentTest.java

Same file on Commit Parent: https://github.com/FluentLenium/FluentLenium/tree/fe28c1348e70c0f4c2dbb209f3a54695aa7ec9ff/fluentlenium-core/src/main/java/org/fluentlenium/core/test

image image

mauricioaniche commented 4 years ago

One more example:

2020-03-14 11:09:34 INFO  App:122 Start mining project repos/GreenBits(clone at repos/GreenBits)
...
2020-03-14 11:13:45 ERROR RefactoringAnalyzer:99 Refactoring miner found a refactoring for a newly introduced class file on commit: 4af0169539667e66cff4fdd9a359a062508bb0f5 for new class file: app/src/main/java/com/greenaddress/greenbits/ui/preferences/TwoFactorPreferenceFragment.java
mauricioaniche commented 4 years ago

I debugged the case for the Greenbits project.

In commit 4af0169539667e66cff4fdd9a359a062508bb0f5, RMiner finds a Extract Superclass com.greenaddress.greenbits.ui.preferences.GAPreferenceFragment from classes [com.greenaddress.greenbits.ui.preferences.TwoFactorPreferenceFragment]. However, when you look at the commit of the project (https://github.com/greenaddress/GreenBits/commit/4af0169539667e66cff4fdd9a359a062508bb0f5), you see that the TwoFactorPreferenceFragment was indeed just introduced. How can it be the source of a Extract Superclass?

This seems to me like a bug in RMiner. I'll open an issue there.

mauricioaniche commented 4 years ago

Just opened it: https://github.com/tsantalis/RefactoringMiner/issues/89

mauricioaniche commented 4 years ago

Nevertheless we are doing the right thing: moving to the next one, in case RMiner identifies this strange refactorings in new files.

I’ll close this issue for now.

mauricioaniche commented 4 years ago

Why did you re-open this one?