Refactoring Detection in C++ Programs with RefactoringMiner++

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Ritz, Benjamin, Karakaš, Aleksandar, Helic, Denis
Format: Preprint
Publié: 2025
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866913705617260544
author Ritz, Benjamin
Karakaš, Aleksandar
Helic, Denis
author_facet Ritz, Benjamin
Karakaš, Aleksandar
Helic, Denis
contents Commits often involve refactorings -- behavior-preserving code modifications aiming at software design improvements. Refactoring operations pose a challenge to code reviewers, as distinguishing them from behavior-altering changes is often not a trivial task. Accordingly, research on automated refactoring detection tools has flourished over the past two decades, however, the majority of suggested tools is limited to Java projects. In this work, we present RefactoringMiner++, a refactoring detection tool based on the current state of the art: RefactoringMiner 3. While the latter focuses exclusively on Java, our tool is -- to the best of our knowledge -- the first publicly available refactoring detection tool for C++ projects. RefactoringMiner's thorough evaluation provides confidence in our tool's performance. In addition, we test RefactoringMiner++ on a small seeded dataset and demonstrate the tool's capability in a short demo involving both refactorings and behavior-altering changes. A screencast demonstrating our tool can be found at https://cloud.tugraz.at/index.php/s/oCzmjfFSaBxNZoe.
format Preprint
id arxiv_https___arxiv_org_abs_2502_17716
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Refactoring Detection in C++ Programs with RefactoringMiner++
Ritz, Benjamin
Karakaš, Aleksandar
Helic, Denis
Software Engineering
Commits often involve refactorings -- behavior-preserving code modifications aiming at software design improvements. Refactoring operations pose a challenge to code reviewers, as distinguishing them from behavior-altering changes is often not a trivial task. Accordingly, research on automated refactoring detection tools has flourished over the past two decades, however, the majority of suggested tools is limited to Java projects. In this work, we present RefactoringMiner++, a refactoring detection tool based on the current state of the art: RefactoringMiner 3. While the latter focuses exclusively on Java, our tool is -- to the best of our knowledge -- the first publicly available refactoring detection tool for C++ projects. RefactoringMiner's thorough evaluation provides confidence in our tool's performance. In addition, we test RefactoringMiner++ on a small seeded dataset and demonstrate the tool's capability in a short demo involving both refactorings and behavior-altering changes. A screencast demonstrating our tool can be found at https://cloud.tugraz.at/index.php/s/oCzmjfFSaBxNZoe.
title Refactoring Detection in C++ Programs with RefactoringMiner++
topic Software Engineering
url https://arxiv.org/abs/2502.17716