348 citations · 815 across the 34 of their papers we have counts for
38 papers
Specifying and Maintaining Agentic Workflows: An Empirical Study of GitHub Agentic Workflows
Jasem Khelifi, Issam Oukhay, Ali Ouni +2
Agentic workflows shift software development from prompting AI agents for individual tasks to defining recurring work that agents execute automatically. GitHub Agentic Workflows (g…
Collaborative Agents for Automated Program Repair in Ruby
Nikta Akbarpour, Mahdieh Sadat Benis, Fatemeh Hendijani Fard +2
Automated Program Repair (APR) has advanced rapidly with Large Language Models (LLMs), but most existing methods remain computationally expensive, and focused on a small set of lan…
ChatGPT for Code Refactoring: Analyzing Topics, Interaction, and Effective Prompts
Eman Abdullah AlOmar, Luo Xu, Sofia Martinez +4
Large Language Models (LLMs), such as ChatGPT, have become widely popular and widely used in various software engineering tasks such as refactoring, testing, code review, and progr…
MergeRepair: An Exploratory Study on Merging Task-Specific Adapters in Code LLMs for Automated Program Repair
Meghdad Dehghan, Jie JW Wu, Fatemeh H. Fard +1
Large Language Models (LLMs) have shown high capabilities in several software development-related tasks such as program repair, documentation, code refactoring, debugging, and test…
Drop it All or Pick it Up? How Developers Responded to the Log4JShell Vulnerability
Vittunyuta Maeprasart, Ali Ouni, Raula Gaikovina Kula
Although using third-party libraries has become prevalent in contemporary software development, developers often struggle to update their dependencies. Prior works acknowledge that…
Characterising Contributions that Coincide with Vulnerability Mitigation in NPM Libraries
Ruksit Rojpaisarnkit, Hathaichanok Damrongsiri, Christoph Treude +2
With the urgent need to secure supply chains among Open Source libraries, attention has focused on mitigating vulnerabilities detected in these libraries. Although awareness has im…
AntiCopyPaster 2.0: Whitebox just-in-time code duplicates extraction
Eman Abdullah AlOmar, Benjamin Knobloch, Thomas Kain +3
AntiCopyPaster is an IntelliJ IDEA plugin, implemented to detect and refactor duplicate code interactively as soon as a duplicate is introduced. The plugin only recommends the extr…
How to Refactor this Code? An Exploratory Study on Developer-ChatGPT Refactoring Conversations
Eman Abdullah AlOmar, Anushkrishna Venkatakrishnan, Mohamed Wiem Mkaouer +2
Large Language Models (LLMs), like ChatGPT, have gained widespread popularity and usage in various software engineering tasks, including refactoring, testing, code review, and prog…
Behind the Intent of Extract Method Refactoring: A Systematic Literature Review
Eman Abdullah AlOmar, Mohamed Wiem Mkaouer, Ali Ouni
Code refactoring is widely recognized as an essential software engineering practice to improve the understandability and maintainability of the source code. The Extract Method refa…
Automating Source Code Refactoring in the Classroom
Eman Abdullah AlOmar, Mohamed Wiem Mkaouer, Ali Ouni
Refactoring is the practice of improving software quality without altering its external behavior. Developers intuitively refactor their code for multiple purposes, such as improvin…
How is Software Reuse Discussed in Stack Overflow?
Eman Abdullah AlOmara, Anthony Peruma, Mohamed Wiem Mkaouer +2
Software reuse is a crucial external quality attribute targeted by open-source and commercial projects. Despite that software reuse has experienced an increased adoption throughout…
Just-in-Time Code Duplicates Extraction
Eman Abdullah AlOmar, Anton Ivanov, Zarina Kurbatova +7
Refactoring is a critical task in software maintenance, and is usually performed to enforce better design and coding practices, while coping with design defects. The Extract Method…
A Hierarchical-DBSCAN Method for Extracting Microservices from Monolithic Applications
Khaled Sellami, Mohamed Aymen Saied, Ali Ouni
The microservices architectural style offers many advantages such as scalability, reusability and ease of maintainability. As such microservices has become a common architectural c…
On the Use of Refactoring in Security Vulnerability Fixes: An Exploratory Study on Maven Libraries
Ayano Ikegami, Raula Gaikovina Kula, Bodin Chinthanet +4
Third-party library dependencies are commonplace in today's software development. With the growing threat of security vulnerabilities, applying security fixes in a timely manner is…
Code Review Practices for Refactoring Changes: An Empirical Study on OpenStack
Eman Abdullah AlOmar, Moataz Chouchen, Mohamed Wiem Mkaouer +1
Modern code review is a widely used technique employed in both industrial and open-source projects to improve software quality, share knowledge, and ensure adherence to coding stan…
An Exploratory Study on Refactoring Documentation in Issues Handling
Eman Abdullah AlOmar, Anthony Peruma, Mohamed Wiem Mkaouer +2
Understanding the practice of refactoring documentation is of paramount importance in academia and industry. Issue tracking systems are used by most software projects enabling deve…
Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship Between Technical Debt and Refactoring
Anthony Peruma, Eman Abdullah AlOmar, Christian D. Newman +2
To meet project timelines or budget constraints, developers intentionally deviate from writing optimal code to feasible code in what is known as incurring Technical Debt (TD). Furt…
On the Documentation of Refactoring Types
Eman Abdullah AlOmar, Jiaqian Liu, Kenneth Addo +4
Commit messages are the atomic level of software documentation. They provide a natural language description of the code change and its purpose. Messages are critical for software m…
AntiCopyPaster: Extracting Code Duplicates As Soon As They Are Introduced in the IDE
Eman Abdullah AlOmar, Anton Ivanov, Zarina Kurbatova +7
We developed a plugin for IntelliJ IDEA called AntiCopyPaster, which tracks the pasting of code fragments inside the IDE and suggests the appropriate Extract Method refactoring to…
Refactoring for Reuse: An Empirical Study
Eman Abdullah AlOmar, Tianjia Wang, Vaibhavi Raut +3
Refactoring is the de-facto practice to optimize software health. While several studies propose refactoring strategies to optimize software design through applying design patterns…
How Do I Refactor This? An Empirical Study on Refactoring Trends and Topics in Stack Overflow
Anthony Peruma, Steven Simmons, Eman Abdullah AlOmar +3
An essential part of software maintenance and evolution, refactoring is performed by developers, regardless of technology or domain, to improve the internal quality of the system,…
Predicting Code Review Completion Time in Modern Code Review
Moataz Chouchen, Jefferson Olongo, Ali Ouni +1
Context. Modern Code Review (MCR) is being adopted in both open source and commercial projects as a common practice. MCR is a widely acknowledged quality assurance practice that al…
Behind the Scenes: On the Relationship Between Developer Experience and Refactoring
Eman Abdullah AlOmar, Anthony Peruma, Mohamed Wiem Mkaouer +2
Refactoring is widely recognized as one of the efficient techniques to manage technical debt and maintain a healthy software project through enforcing best design practices or copi…
On Preserving the Behavior in Software Refactoring: A Systematic Mapping Study
Eman Abdullah AlOmar, Mohamed Wiem Mkaouer, Christian Newman +1
Context: Refactoring is the art of modifying the design of a system without altering its behavior. The idea is to reorganize variables, classes and methods to facilitate their futu…