69 citations · 70 across the 12 of their papers we have counts for
12 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…
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…
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…
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…
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…
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…
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…
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…
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…
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…
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…
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,…