Anthony Peruma
Anthony Peruma
Home
Experience
Accomplishments
Events
Publications
Courses
Light
Dark
Automatic
Publications
Type
Conference paper
Journal article
Book section
Thesis
Magazine Article
Date
2025
2024
2023
2022
2021
2020
2019
2018
2017
The Impact of Generative AI-Powered Code Generation Tools on Software Engineer Hiring: Recruiters' Experiences, Perceptions, and Strategies
The rapid advancements in Generative AI (GenAI) tools, such as ChatGPT and GitHub Copilot, are transforming software engineering by …
Alyssia Chen
,
Timothy Huo
,
Yunhee Nam
,
Dan Port
,
Anthony S. Peruma
PDF
Cite
Mobile App Security Trends and Topics: An Examination of Questions From Stack Overflow
The widespread use of smartphones and tablets has made society heavily reliant on mobile applications (apps) for accessing various …
Timothy Huo
,
Ana Catarina Araújo
,
Jake Imanaka
,
Anthony S. Peruma
,
Rick Kazman
PDF
Cite
Exploring Accessibility Trends and Challenges in Mobile App Development: A Study of Stack Overflow Questions
The proliferation of mobile applications (apps) has made it crucial to ensure their accessibility for users with disabilities. However, …
Amila Indika
,
Christopher Lee
,
Haochen Wang
,
Justin Lisoway
,
Anthony S. Peruma
,
Rick Kazman
PDF
Cite
On the Rationale and Use of Assertion Messages in Test Code: Insights from Software Practitioners
Unit testing is an important practice that helps ensure the quality of a software system by validating its behavior through a series of …
Anthony S. Peruma
,
Taryn Takebayashi
,
Rocky Huang
,
Joseph Carmelo Averion
,
Veronica Hodapp
,
Christian D. Newman
,
Mohamed Wiem Mkaouer
PDF
Cite
A Developer-Centric Study Exploring Mobile Application Security Practices and Challenges
Mobile applications (apps) have become an essential part of everyday life, offering convenient access to services such as banking, …
Anthony S. Peruma
,
Timothy Huo
,
Ana Catarina Araújo
,
Jake Imanaka
,
Rick Kazman
PDF
Cite
Do the Test Smells Assertion Roulette and Eager Test Impact Students' Troubleshooting and Debugging Capabilities?
Educating students about software testing practices is integral to the curricula of many computer science-related courses and typically …
Anthony S. Peruma
,
Eman Abdullah AlOmar
,
Wajdi Aljedaani
,
Mohamed Wiem Mkaouer
,
Christian D. Newman
PDF
Cite
DOI
Impostor Syndrome in Final Year Computer Science Students: An Eye Tracking and Biometrics Study
Imposter syndrome is a psychological phenomenon that affects individuals who doubt their skills and abilities, despite possessing the …
Alyssia Chen
,
Carol Wong
,
Katy Tarrit
,
Anthony S. Peruma
PDF
Cite
DOI
Making Team Projects with Novices More Effective: An Experience Report
Computer Science Capstone projects have shifted to offer more opportunities for students to engage with stakeholders as a team to …
Carlos Paradis
,
Rick Kazman
,
Anthony S. Peruma
PDF
Cite
Performance Comparison of Binary Machine Learning Classifiers in Identifying Code Comment Types: An Exploratory Study
Code comments are vital to source code as they help developers with program comprehension tasks. Written in natural language (usually …
Amila Indika
,
Peter Y. Washington
,
Anthony S. Peruma
PDF
Cite
DOI
Do the Test Smells Assertion Roulette and Eager Test Impact Students' Troubleshooting and Debugging Capabilities?
To ensure the quality of a software system, developers perform an activity known as unit testing, where they write code (known as test …
Wajdi Aljedaani
,
Mohamed Wiem Mkaouer
,
Anthony S. Peruma
,
Stephanie Ludi
PDF
Cite
DOI
An Exploratory Study on the Usage and Readability of Messages Within Assertion Methods of Test Cases
Unit testing is a vital part of the software development process and involves developers writing code to verify or assert production …
Taryn Takebayashi
,
Anthony S. Peruma
,
Mohamed Wiem Mkaouer
,
Christian D. Newman
PDF
Cite
DOI
An Exploratory Study on the Occurrence of Self-Admitted Technical Debt in Android Apps
Technical debt describes situations where developers write less-than-optimal code to meet project milestones. However, this debt …
Gregory Wilder
,
Riley Miyamoto
,
Samuel Watson
,
Rick Kazman
,
Anthony S. Peruma
PDF
Cite
DOI
How Is Software Reuse Discussed in Stack Overflow?
Software reuse is a crucial external quality attribute targeted by open-source and commercial projects. Despite that software reuse has …
Eman Abdullah AlOmar
,
Anthony S. Peruma
,
Mohamed Wiem Mkaouer
,
Christian D. Newman
,
Ali Ouni
PDF
Cite
DOI
Rename Chains: An Exploratory Study on the Occurrence and Characteristics of Identifiers Undergoing Multiple Renamings
Identifier names play a significant role in program comprehension activities, with high-quality names improving developer productivity …
Anthony S. Peruma
,
Christian D. Newman
PDF
Cite
DOI
Supporting the Maintenance of Identifier Names: A Holistic Approach to High-Quality Automated Identifier Naming
A considerable part of the source code is identifier names– unique lexical tokens that provide information about entities, and …
Anthony S. Peruma
PDF
Cite
Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship Between Technical Debt and Refactoring
To meet project timelines or budget constraints, developers intentionally deviate from writing optimal code to feasible code in what is …
Anthony S. Peruma
,
Eman Abdullah AlOmar
,
Christian D. Newman
,
Mohamed Wiem Mkaouer
,
Ali Ouni
PDF
Cite
An Exploratory Study on Refactoring Documentation in Issues Handling
Understanding the practice of refactoring documentation is of paramount importance in academia and industry. Issue tracking systems are …
Eman Abdullah AlOmar
,
Anthony S. Peruma
,
Christian D. Newman
,
Mohamed Wiem Mkaouer
,
Ali Ouni
PDF
Cite
Understanding Digits in Identifier Names: An Exploratory Study
Before any software maintenance can occur, developers must read the identifier names found in the code to be maintained. Thus, …
Anthony S. Peruma
,
Christian D. Newman
PDF
Cite
Behind the scenes: On the relationship between developer experience and refactoring
Refactoring is widely recognized as one of the efficient techniques to manage technical debt and maintain a healthy software project …
Eman Abdullah AlOmar
,
Anthony S. Peruma
,
Mohamed Wiem Mkaouer
,
Christian D. Newman
,
Ali Ouni
PDF
Cite
DOI
How Do I Refactor This? An Empirical Study on Refactoring Trends and Topics in Stack Overflow
An essential part of software maintenance and evolution, refactoring is performed by developers, regardless of technology or domain, to …
Anthony S. Peruma
,
Steven Simmons
,
Eman Abdullah AlOmar
,
Christian D. Newman
,
Mohamed Wiem Mkaouer
,
Ali Ouni
PDF
Cite
DOI
IDEAL: An Open-Source Identifier Name Appraisal Tool
Developers must comprehend the code they will maintain, meaning that the code must be legible and reasonably self-descriptive. …
Anthony S. Peruma
,
Venera Arnaoudova
,
Christian D. Newman
PDF
Cite
DOI
An Ensemble Approach for Annotating Source Code Identifiers with Part-of-speech Tags
This paper presents an ensemble part-of-speech tagging approach for source code identifiers. Ensemble tagging is a technique that uses …
Christian D. Newman
,
Michael J. Decker
,
Reem S. AlSuhaibani
,
Anthony S. Peruma
,
Mohamed Wiem Mkaouer
,
Satyajit Mohapatra
,
Tejal Vishoi
,
Marcos Zampieri
,
Timothy J. Sheldon
,
Emily Hill
PDF
Cite
DOI
Test Smell Detection Tools: A Systematic Mapping Study
Test smells are defined as sub-optimal design choices developers make when implementing test cases. Hence, similar to code smells, the …
Wajdi Aljedaani
,
Anthony S. Peruma
,
Ahmed Aljohani
,
Mazen Alotaibi
,
Mohamed Wiem Mkaouer
,
Ali Ouni
,
Christian D. Newman
,
Abdullatif Ghallab
,
Stephanie Ludi
PDF
Cite
DOI
Using Grammar Patterns to Interpret Test Method Name Evolution
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 …
Anthony S. Peruma
,
Emily Hu
,
Jiajun Chen
,
Eman Abdullah AlOmar
,
Mohamed Wiem Mkaouer
,
Christian D. Newman
PDF
Cite
DOI
On the Distribution of "Simple Stupid Bugs" in Unit Test Files: An Exploratory Study
A key aspect of ensuring the quality of a software system is the practice of unit testing. Through unit tests, developers verify the …
Anthony S. Peruma
,
Christian D. Newman
PDF
Cite
DOI
tsDetect: An Open Source Test Smells Detection Tool
The test code, just like production source code, is subject to bad design and programming practices, also known as smells. The presence …
Anthony S. Peruma
,
Khalid Almalki
,
Christian D. Newman
,
Mohamed Wiem Mkaouer
,
Ali Ouni
,
Fabio Palomba
PDF
Cite
DOI
How we refactor and how we document it? On the use of supervised machine learning algorithms to classify refactoring documentation
Refactoring is the art of improving the structural design of a software system without altering its external behavior. Today, …
Eman Abdullah AlOmar
,
Anthony S. Peruma
,
Mohamed Wiem Mkaouer
,
Christian Newman
,
Ali Ouni
,
Marouane Kessentini
PDF
Cite
DOI
On the generation, structure, and semantics of grammar patterns in source code identifiers
Identifiers make up a majority of the text in code. They are one of the most basic mediums through which developers describe the code …
Christian D. Newman
,
Reem S. AlSuhaibani
,
Michael J. Decker
,
Anthony S. Peruma
,
Dishant Kaushik
,
Mohamed Wiem Mkaouer
,
Emily Hill
PDF
Cite
DOI
On the Relationship Between Developer Experience and Refactoring: An Exploratory Study and Preliminary Results
Refactoring is one of the means of managing technical debt and maintaining a healthy software structure through enforcing best design …
Eman Abdullah AlOmar
,
Anthony S. Peruma
,
Christian D. Newman
,
Mohamed Wiem Mkaouer
,
Ali Ouni
PDF
Cite
DOI
An Exploratory Study on the Refactoring of Unit Test Files in Android Applications
An essential activity of software maintenance is the refactoring of source code. Refactoring operations enable developers to take …
Anthony S. Peruma
,
Christian D. Newman
,
Mohamed Wiem Mkaouer
,
Ali Ouni
,
Fabio Palomba
PDF
Cite
DOI
Contextualizing rename decisions using refactorings, commit messages, and data types
Identifier names are the atoms of program comprehension. Weak identifier names decrease developer productivity and degrade the …
Anthony S. Peruma
,
Mohamed Wiem Mkaouer
,
Michael J. Decker
,
Christian D. Newman
PDF
Cite
DOI
On the Distribution of Test Smells in Open Source Android Applications: An Exploratory Study
The impact of bad programming practices, such as code smells, in production code has been the focus of numerous studies in software …
Anthony S. Peruma
,
Khalid Almalki
,
Christian D. Newman
,
Mohamed Wiem Mkaouer
,
Ali Ouni
,
Fabio Palomba
PDF
Cite
Towards a Model to Appraise and Suggest Identifier Names
Unknowingly, identifiers in the source code of a software system play a vital role in determining the quality of the system. Ambiguous …
Anthony S. Peruma
PDF
Cite
DOI
Permission Issues in Open-Source Android Apps: An Exploratory Study
Permissions are one of the most fundamental components for protecting an Android user’s privacy and security. Unfortunately, …
Gian Luca Scoccia
,
Anthony S. Peruma
,
Virginia Pujols
,
Ivano Malavolta
,
Daniel E. Krutz
PDF
Cite
DOI
Modeling the Relationship Between Identifier Name and Behavior
This paper presents the features of a model that relates the natural language found in identifiers with program semantics. The model …
Christian D. Newman
,
Anthony S. Peruma
,
Reem S. AlSuhaibani
PDF
Cite
DOI
Contextualizing Rename Decisions using Refactorings and Commit Messages
Identifier names are the atoms of comprehension; weak identifier names decrease productivity by increasing the chance that developers …
Anthony S. Peruma
,
Mohamed Wiem Mkaouer
,
Michael J. Decker
,
Christian D. Newman
PDF
Cite
DOI
An Open Dataset of Abbreviations and Expansions
We present a data set of abbreviations and expansions, derived from a set of five open source systems, for use by the research and …
Christian D. Newman
,
Michael J. Decker
,
Reem S. AlSuhaibani
,
Anthony S. Peruma
,
Dishant Kaushik
,
Emily Hill
PDF
Cite
DOI
An Empirical Study of Abbreviations and Expansions in Software Artifacts
Expanding abbreviations is an important text normalization technique used for the purpose of either increasing developer comprehension …
Christian D. Newman
,
Michael J. Decker
,
Reem S. AlSuhaibani
,
Anthony S. Peruma
,
Dishant Kaushik
,
Emily Hill
PDF
Cite
DOI
An Empirical History of Permission Requests and Mistakes in Open Source Android Apps
Android applications (apps) rely upon proper permission usage to ensure that the user’s privacy and security are adequately …
Gian Luca Scoccia
,
Anthony S. Peruma
,
Virginia Pujols
,
Ben Christians
,
Daniel E. Krutz
PDF
Cite
DOI
A Preliminary Study of Android Refactorings
Throughout the lifetime of a software system, developers continuously refactor the source code as a means of improving the quality of …
Anthony S. Peruma
PDF
Cite
DOI
Variability in Library Evolution: An Exploratory Study on Open-Source Java Libraries
Hussein Alrubaye
,
Mohamed Wiem Mkaouer
,
Anthony S. Peruma
PDF
Cite
An Empirical Investigation of How and Why Developers Rename Identifiers
Renaming is vital to software maintenance and evolution. Developers rename entities when their original names no longer fit their …
Anthony S. Peruma
,
Mohamed Wiem Mkaouer
,
Michael J. Decker
,
Christian D. Newman
PDF
Cite
DOI
What the smell? an empirical investigation on the distribution and severity of test smells in open source android applications
The widespread adoption of mobile devices, coupled with the ease of developing mobile-based applications (apps) has created a lucrative …
Anthony S. Peruma
PDF
Cite
Understanding the Relationship between Quality and Security: A Large-Scale Analysis of Android Applications
Android applications (apps) are not immune to the problems which also plague conventional software including security vulnerabilities, …
Anthony S. Peruma
,
Daniel E. Krutz
PDF
Cite
DOI
Security: A Critical Quality Attribute in Self-Adaptive Systems
Self-Adaptive Systems (SAS) are revolutionizing many aspects of our society. From server clusters to autonomous vehicles, SAS are …
Anthony S. Peruma
,
Daniel E. Krutz
PDF
Cite
DOI
Providing an Experiential Cybersecurity Learning Experience through Mobile Security Labs
The reality of today’s computing landscape already suffers from a shortage of cybersecurity professionals, and this gap only …
Anthony S. Peruma
,
Samuel A. Malachowsky
,
Daniel E. Krutz
PDF
Cite
DOI
Investigating User Perception and Comprehension of Android Permission Models
Do you know the permissions your favorite apps use? You probably don’t, and you aren’t alone. Everyone seemingly talks …
Anthony S. Peruma
,
Jeffrey Palmerino
,
Daniel E. Krutz
PDF
Cite
DOI
Apps for Everyone: Mobile Accessibility Learning Modules
Mobile applications (apps) should be accessible to everyone, yet many of even the most popular are not. To address the lack of …
Yasmine N. El-Glaly
,
Anthony S. Peruma
,
Daniel E. Krutz
,
J. Scott Hawker
PDF
Cite
DOI
CollabAll: Inclusive Discussion Support System For Deaf and Hearing Students
Even with advances in technology, group meetings between hearing and deaf and hard-of-hearing (D/HH) students can be challenging for …
Anthony S. Peruma
,
Yasmine N. El-Glaly
PDF
Cite
DOI
Who Added That Permission to My App? An Analysis of Developer Permission Changes in Open Source Android Apps
Android applications rely on a permission-based model to carry out core functionality. Appropriate permission usage is imperative for …
Daniel E. Krutz
,
Nuthan Munaiah
,
Anthony S. Peruma
,
Mohamed Wiem Mkaouer
PDF
Cite
DOI
Understanding Software Vulnerabilities Related to Architectural Security Tactics: An Empirical Investigation of Chromium, PHP and Thunderbird
To satisfy security requirements, software architects often adopt security tactics. These architectural tactics provide mechanisms for …
Joanna C. S. Santos
,
Anthony S. Peruma
,
Mehdi Mirakhorli
,
Matthias Galstery
,
Jairo Veloz Vidal
,
Adriana Sejfia
PDF
Cite
DOI
Cite
×