Refactoring Detection in C++ Programs with RefactoringMiner++
Benjamin Ritz, Aleksandar Karaka\v{s}, Denis Helic

TL;DR
RefactoringMiner++ is a novel tool designed to detect refactorings in C++ code, addressing a gap in automated refactoring detection tools which have predominantly focused on Java, and demonstrating promising performance and practical utility.
Contribution
This work introduces RefactoringMiner++, the first publicly available refactoring detection tool for C++, extending the state-of-the-art from Java to C++ projects.
Findings
Effective detection of refactorings in C++ code.
Demonstrated capability in identifying behavior-preserving changes.
Validated performance through thorough evaluation.
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. RefactoringMiner's thorough evaluation provides confidence in our tool's performance. In addition, we test RefactoringMiner++ on a small seeded dataset and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Distributed and Parallel Computing Systems · Software Engineering Research
