69 citations · 77 across the 21 of their papers we have counts for
22 papers
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…
On the Structure and Semantics of Identifier Names Containing Closed Syntactic Category Words
Christian D. Newman, Anthony Peruma, Eman Abdullah AlOmar +8
Identifier names are crucial components of code, serving as primary clues for developers to understand program behavior. This paper investigates the linguistic structure of identif…
10 quick tips for making your software outlive your job
Richard Littauer, Greg Wilson, Jan Ainali +19
Loss of key personnel has always been a risk for research software projects. Key members of the team may have to step away due to illness or burnout, to care for a family member, f…
MoxE: Mixture of xLSTM Experts with Entropy-Aware Routing for Efficient Language Modeling
Abdoul Majid O. Thiombiano, Brahim Hnich, Ali Ben Mrad +1
This paper introduces MoxE, a novel architecture that synergistically combines the Extended Long Short-Term Memory (xLSTM) with the Mixture of Experts (MoE) framework to address cr…
SCALAR: A Part-of-speech Tagger for Identifiers
Christian D. Newman, Brandon Scholten, Sophia Testa +10
The paper presents the Source Code Analysis and Lexical Annotation Runtime (SCALAR), a tool specialized for mapping (annotating) source code identifier names to their corresponding…
Distil-xLSTM: Learning Attention Mechanisms through Recurrent Structures
Abdoul Majid O. Thiombiano, Brahim Hnich, Ali Ben Mrad +1
The current era of Natural Language Processing (NLP) is dominated by Transformer models. However, novel architectures relying on recurrent mechanisms, such as xLSTM and Mamba, have…
Insights from the Field: Exploring Students' Perspectives on Bad Unit Testing Practices
Anthony Peruma, Eman Abdullah AlOmar, Wajdi Aljedaani +2
Educating students about software testing practices is integral to the curricula of many computer science-related courses and typically involves students writing unit tests. Simila…
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…
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…