Refactoring Detection in C++ Programs with RefactoringMiner++

Benjamin Ritz, Aleksandar Karakaš, Denis Helic*

*Korrespondierende/r Autor/-in für diese Arbeit

Publikation: Beitrag in Buch/Bericht/KonferenzbandBeitrag in einem KonferenzbandBegutachtung

Abstract

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. Being based on a refactoring detector for Java projects, our tool lacks support for many refactorings specific to C++. The most common language-independent refactoring types, however, are supported and even several language incompatibilities were reconciled. 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://www.youtube.com/watch?v=tFTysQfGYSM.

Originalspracheenglisch
TitelProceedings of the ACM SIGSOFT Symposium on the Foundations of Software Engineering
Redakteure/-innenJingyue Li
Herausgeber (Verlag)Association for Computing Machinery (ACM)
Seiten1163-1167
Seitenumfang5
ISBN (elektronisch)9798400712760
DOIs
PublikationsstatusVeröffentlicht - 28 Juli 2025
Veranstaltung33rd ACM International Conference on the Foundations of Software Engineering, FSE Companion 2025 - Trondheim, Norwegen
Dauer: 23 Juni 202527 Juni 2025

Publikationsreihe

NameProceedings of the ACM SIGSOFT Symposium on the Foundations of Software Engineering
ISSN (Print)1539-7521

Konferenz

Konferenz33rd ACM International Conference on the Foundations of Software Engineering, FSE Companion 2025
Land/GebietNorwegen
OrtTrondheim
Zeitraum23/06/2527/06/25

ASJC Scopus subject areas

  • Software

Fingerprint

Untersuchen Sie die Forschungsthemen von „Refactoring Detection in C++ Programs with RefactoringMiner++“. Zusammen bilden sie einen einzigartigen Fingerprint.

Dieses zitieren