activity
20212025
most citedHow Do I Refactor This? An Empirical Study on Refactoring Trends and Topics in Stack Overflow

69 citations · 70 across the 12 of their papers we have counts for

collaborators

12 papers

cs.SE2025

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…

cs.CY2025

PasteTrace: A Single Source Plagiarism Detection Tool For Introductory Programming Courses

Jesse McDonald, Scott Robertson, Anthony Peruma

Introductory Computer Science classes are important for laying the foundation for advanced programming courses. However, students without prior programming experience may find thes…

cs.SE2024

On the Rationale and Use of Assertion Messages in Test Code: Insights from Software Practitioners

Anthony Peruma, Taryn Takebayashi, Rocky Huang +4

Unit testing is an important practice that helps ensure the quality of a software system by validating its behavior through a series of test cases. Core to these test cases are ass…

cs.SE2024

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…

cs.SE2023

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…

cs.SE2023★ 1 cited

Do the Test Smells Assertion Roulette and Eager Test Impact Students' Troubleshooting and Debugging Capabilities?

Wajdi Aljedaani, Mohamed Wiem Mkaouer, Anthony Peruma +1

To ensure the quality of a software system, developers perform an activity known as unit testing, where they write code (known as test cases) that verifies the individual software…

cs.SE2023

An Exploratory Study on the Usage and Readability of Messages Within Assertion Methods of Test Cases

Taryn Takebayashi, Anthony Peruma, Mohamed Wiem Mkaouer +1

Unit testing is a vital part of the software development process and involves developers writing code to verify or assert production code. Furthermore, to help comprehend the test…

cs.SE2023

Rename Chains: An Exploratory Study on the Occurrence and Characteristics of Identifiers Undergoing Multiple Renamings

Anthony Peruma, Christian D. Newman

Identifier names play a significant role in program comprehension activities, with high-quality names improving developer productivity and system quality. To correct poor-quality n…

cs.SE2022

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…

cs.SE2022

Understanding Digits in Identifier Names: An Exploratory Study

Anthony Peruma, Christian D. Newman

Before any software maintenance can occur, developers must read the identifier names found in the code to be maintained. Thus, high-quality identifier names are essential for produ…

cs.SE2022

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…

cs.SE2021★ 69 cited

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,…