Extending Refactoring Detection to Kotlin: A Dataset and Comparative Study

  • Iman Hemati Moghadam (Creator)
  • Afkhami Mohammad Mehdi (Creator)
  • Parsa Kamalipour (Creator)
  • Vadim Zaytsev (Creator)



This page serves as supplementary material for the article Extending Refactoring Detection to Kotlin: A Dataset and Comparative Study. In detail, we offer a downloadable dataset in JSON format, comprising 2,043 instances of refactoring instances covering 21 distinct refactoring types. These refactorings are applied within 200 commits across 10 Kotlin repositories and are manually validated by the authors of the paper.

Results.json: The results as a single JSON file.
Overview of JSON Template: Each entry in this file provides details about commits, including their SHA-1 hash, GitHub URL, and an exhaustive list of refactorings identified in that specific commit. Refactorings are defined by their type (e.g., 'RenameClass') and are accompanied by detailed descriptions of the refactoring. Additionally, the entry specifies the tools that detected the refactoring, such as 'RefDetect' and 'KotlinRMiner.' The validation field indicates whether the refactoring was confirmed, using 'TP' for true positive and 'FP' for false positive. Optional comments and validator information may be also included.

AllCommits.zip: The Results for each repository in a single JSON file.

Times.xlsx: The Excel file containing the time taken by each tool (RefDetect and KotlinMiner) to identify refactoring in each commit.

Results.xlsx: The Excel file contains precision, recall, and F-score metrics for all identified refactoring types.
Date made available6 Jan 2024

Cite this