Publications (10)
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…
EM-Assist: Safe Automated ExtractMethod Refactoring with LLMs
Dorin Pomian, Abhiram Bellur, Malinda Dilhara +5
Excessively long methods, loaded with multiple responsibilities, are challenging to understand, debug, reuse, and maintain. The solution lies in the widely recognized Extract Metho…
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…
Unprecedented Code Change Automation: The Fusion of LLMs and Transformation by Example
Malinda Dilhara, Abhiram Bellur, Timofey Bryksin +1
Software developers often repeat code changes, known as "code change patterns" (CPATs), within and across projects. Automating these CPATs accelerates development, but current Tran…
Operation-based Refactoring-aware Merging: An Empirical Evaluation
Max Ellis, Sarah Nadi, Danny Dig
Dealing with merge conflicts in version control systems is a challenging task for software developers. Resolving merge conflicts is a time-consuming and error-prone process, which…
30 Years of Software Refactoring Research:A Systematic Literature Review
Chaima Abid, Vahid Alizadeh, Marouane Kessentini +2
Due to the growing complexity of software systems, there has been a dramatic increase and industry demand for tools and techniques on software refactoring in the last ten years, de…
Towards Realistic Evaluation of Commit Message Generation by Matching Online and Offline Settings
Petr Tsvetkov, Aleksandra Eliseeva, Danny Dig +4
When a Commit Message Generation (CMG) system is integrated into the IDEs and other products at JetBrains, we perform online evaluation based on user acceptance of the generated me…
Together We Go Further: LLMs and IDE Static Analysis for Extract Method Refactoring
Dorin Pomian, Abhiram Bellur, Malinda Dilhara +4
Long methods that encapsulate multiple responsibilities within a single method are challenging to maintain. Choosing which statements to extract into new methods has been the targe…
From Commit Message Generation to History-Aware Commit Message Completion
Aleksandra Eliseeva, Yaroslav Sokolov, Egor Bogomolov +3
Commit messages are crucial to software development, allowing developers to track changes and collaborate effectively. Despite their utility, most commit messages lack important in…
Multi-Agent Coordinated Rename Refactoring
Abhiram Bellur, Mohammed Raihan Ullah, Fraol Batole +9
The primary value of AI agents in software development lies in their ability to extend the developer's capacity for reasoning and action, not to supplant human involvement. To show…