Skip to content
Nikolaos Tsantalis edited this page Jan 20, 2023 · 45 revisions

Here you can find some case studies demonstrating the advanced diff capabilities of RefactoringMiner.

Extract Method

  1. Nested Extract Method refactorings in commit [Click to view Diff]

  2. Nested Extract Method refactorings in commit [Click to view Diff]

  3. Nested Extract Method refactorings in commit [Click to view Diff]

  4. Extract Method refactorings + control flow restructuring in commit [Click to view Diff]

  5. Extract Method refactorings + Move Method refactorings in commit [Click to view Diff]

Multi-Mappings (many to one)

  1. Nested Extract Method refactorings with duplicated code in commit [Click to view Diff]

  2. 12 duplicated code fragments extracted from the same method in commit [Click to view Diff]

  3. Merged and extracted statements out of if-else-if in commit [Click to view Diff]

  4. Merged variable declaration statements out of if-else-if in commit [Click to view Diff]

  5. Merged if-else-if conditionals in commit [Click to view Diff]

  6. Merged catch blocks in commit [Click to view Diff]

  7. 36 duplicated code fragments extracted from the same method in commit [Click to view Diff]

Multi-Mappings (one to many)

  1. Try-finally block duplicated between original and extracted method in commit [Click to view Diff]

  2. Statement split and moved in if-else-if in commit [Click to view Diff]

  3. Nested Inline Method refactoring with two call sites in commit [Click to view Diff]

Semantic diff

  1. Replace Loop with Stream API pipeline in commit [Click to view Diff]

Overlapping refactorings

  1. Inline Method with overlapping Rename Method and 2x Extract Variable refactorings in commit [Click to view Diff]
Clone this wiki locally