activity
20162026
most citedWhy We Refactor? Confessions of GitHub Contributors

281 citations · 339 across the 9 of their papers we have counts for

collaborators

11 papers

cs.SE2026

SemaDiff: Identifying Semantic-Changing Commits with Generated Code and Tests

Maha Ayub, Michael Konstantinou, Ahmed Khanfir +2

Distinguishing semantic-preserving commits from changing ones remains an open challenge in software repository mining. While existing approaches detect refactoring commits accurate…

cs.SE2026

AI-Generated Smells: An Analysis of Code and Architecture in LLM and Agent-Driven Development

Yuecai Zhu, Nikolaos Tsantalis, Peter C. Rigby

The promise of Large Language Models in automated software engineering is often measured by functional correctness, overlooking the critical issue of long term maintainability. Thi…

cs.SE2025★ 1 cited

MANTRA: Enhancing Automated Method-Level Refactoring with Contextual RAG and Multi-Agent LLM Collaboration

Yisen Xu, Feng Lin, Jinqiu Yang +3

Maintaining and scaling software systems relies heavily on effective code refactoring, yet this process remains labor-intensive, requiring developers to carefully analyze existing…

cs.SE2025★ 1 cited

Leveraging LLMs, IDEs, and Semantic Embeddings for Automated Move Method Refactoring

Abhiram Bellur, Fraol Batole, Mohammed Raihan Ullah +12

MOVEMETHOD is a hallmark refactoring. Despite a plethora of research tools that recommend which methods to move and where, these recommendations do not align with how expert develo…

cs.SE2024

Refactoring-aware Block Tracking in Commit History

Mohammed Tayeeb Hasan, Nikolaos Tsantalis, Pouria Alikhanifard

Tracking statements in the commit history of a project is in many cases useful for supporting various software maintenance, comprehension, and evolution tasks. A high level of accu…

cs.SE2024★ 2 cited

An Empirical Study of Refactoring Engine Bugs

Haibo Wang, Zhuolin Xu, Huaien Zhang +2

Refactoring is a critical process in software development, aiming at improving the internal structure of code while preserving its external behavior. Refactoring engines are integr…

cs.SE2024

A Novel Refactoring and Semantic Aware Abstract Syntax Tree Differencing Tool and a Benchmark for Evaluating the Accuracy of Diff Tools

Pouria Alikhanifard, Nikolaos Tsantalis

Software undergoes constant changes to support new requirements, address bugs, enhance performance, and ensure maintainability. Thus, developers spend a great portion of their work…

cs.SE2021

IntelliTC: Automating Type Changes in IntelliJ IDEA

Oleg Smirnov, Ameya Ketkar, Timofey Bryksin +2

Developers often change types of program elements. Such refactoring often involves updating not only the type of the element itself, but also the API of all type-dependent referenc…

cs.SE2021

An Empirical Study on Refactoring-Inducing Pull Requests

Flávia Coelho, Nikolaos Tsantalis, Tiago Massoni +1

Background: Pull-based development has shaped the practice of Modern Code Review (MCR), in which reviewers can contribute code improvements, such as refactorings, through comments…

cs.SE2020★ 54 cited

Dependency Smells in JavaScript Projects

Abbas Javan Jafari, Diego Elias Costa, Rabe Abdalkareem +2

Dependency management in modern software development poses many challenges for developers who wish to stay up to date with the latest features and fixes whilst ensuring backwards c…

cs.SE2016★ 281 cited

Why We Refactor? Confessions of GitHub Contributors

Danilo Silva, Nikolaos Tsantalis, Marco Tulio Valente

Refactoring is a widespread practice that helps developers to improve the maintainability and readability of their code. However, there is a limited number of studies empirically i…