61 citations · 120 across the 10 of their papers we have counts for
7 papers · 1 filter
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…
An Ensemble Approach for Annotating Source Code Identifiers with Part-of-speech Tags
Christian D. Newman, Michael J. Decker, Reem S. AlSuhaibani +7
This paper presents an ensemble part-of-speech tagging approach for source code identifiers. Ensemble tagging is a technique that uses machine-learning and the output from multiple…
IDEAL: An Open-Source Identifier Name Appraisal Tool
Anthony Peruma, Venera Arnaoudova, Christian D. Newman
Developers must comprehend the code they will maintain, meaning that the code must be legible and reasonably self-descriptive. Unfortunately, there is still a lack of research and…
Test Smell Detection Tools: A Systematic Mapping Study
Wajdi Aljedaani, Anthony Peruma, Ahmed Aljohani +6
Test smells are defined as sub-optimal design choices developers make when implementing test cases. Hence, similar to code smells, the research community has produced numerous test…
Towards a Model to Appraise and Suggest Identifier Names
Anthony Peruma
Unknowingly, identifiers in the source code of a software system play a vital role in determining the quality of the system. Ambiguous and confusing identifier names lead developer…
On the Distribution of "Simple Stupid Bugs" in Unit Test Files: An Exploratory Study
Anthony Peruma, Christian D. Newman
A key aspect of ensuring the quality of a software system is the practice of unit testing. Through unit tests, developers verify the correctness of production source code, thereby…
Using Grammar Patterns to Interpret Test Method Name Evolution
Anthony Peruma, Emily Hu, Jiajun Chen +3
It is good practice to name test methods such that they are comprehensible to developers; they must be written in such a way that their purpose and functionality are clear to those…