Open Access. Powered by Scholars. Published by Universities.®

Physical Sciences and Mathematics Commons

Open Access. Powered by Scholars. Published by Universities.®

Articles

Series

2020

Refactoring

Articles 1 - 3 of 3

Full-Text Articles in Physical Sciences and Mathematics

Increasing The Trust In Refactoring Through Visualization, Alex Bogart, Eman Abdullah Alomar, Mohamed Wiem Mkaouer, Ali Ouni Jun 2020

Increasing The Trust In Refactoring Through Visualization, Alex Bogart, Eman Abdullah Alomar, Mohamed Wiem Mkaouer, Ali Ouni

Articles

In software development, maintaining good design is essential. The process of refactoring enables developers to improve this design during development without altering the program’s existing behavior. However, this process can be time-consuming, introduce semantic errors, and be difficult for developers inexperienced with refactoring or unfamiliar with a given code base. Automated refactoring tools can help not only by applying these changes, but by identifying opportunities for refactoring. Yet, developers have not been quick to adopt these tools due to a lack of trust between the developer and the tool. We propose an approach in the form of a visualization to …


Toward The Automatic Classification Of Self-Affirmed Refactoring, Mohamed Wiem Mkaouer, Eman Abdullah Alomar, Ali Ouni May 2020

Toward The Automatic Classification Of Self-Affirmed Refactoring, Mohamed Wiem Mkaouer, Eman Abdullah Alomar, Ali Ouni

Articles

The concept of Self-Affirmed Refactoring (SAR) was introduced to explore how developers document their refactoring activities in commit messages, i.e., developers explicit documentation of refactoring operations intentionally introduced during a code change. In our previous study, we have manually identified refactoring patterns and defined three main common quality improvement categories including internal quality attributes, external quality attributes, and code smells, by only considering refactoring-related commits. However, this approach heavily depends on the manual inspection of commit messages. In this paper, we propose a two-step approach to first identify whether a commit describes developer-related refactoring events, then to classify it according …


How Do Developers Refactor Code To Improve Code Reusability?, Eman Abdullah Alomar, Philip T. Rodriguez, Jordan Bowman, Tianjia Wang, Benjamin Adepoju, Kevin Lopez, Christian D. Newman, Ali Ouni, Mohamed Wiem Mkaouer May 2020

How Do Developers Refactor Code To Improve Code Reusability?, Eman Abdullah Alomar, Philip T. Rodriguez, Jordan Bowman, Tianjia Wang, Benjamin Adepoju, Kevin Lopez, Christian D. Newman, Ali Ouni, Mohamed Wiem Mkaouer

Articles

. Refactoring is the de-facto practice to optimize software health. While there has been several studies proposing refactoring strategies to optimize software design through applying design patterns and removing design defects, little is known about how developers actually refactor their code to improve its reuse. Therefore, we extract, from 1,828 open source projects, a set of refactorings which were intended to improve the software reusability. We analyze the impact of reusability refactorings on state-of-the-art reusability metrics, and we compare the distribution of reusability refactoring types, with the distribution of the remaining mainstream refactorings. Overall, we found that the distribution of …