A systematic literature survey of software metrics, code smells and refactoring techniques

M Agnihotri, A Chug - Journal of Information Processing Systems, 2020 - koreascience.kr
Software refactoring is a process to restructure an existing software code while keeping its
external behavior the same. Currently, various refactoring techniques are being used to …

How we refactor and how we document it? On the use of supervised machine learning algorithms to classify refactoring documentation

EA AlOmar, A Peruma, MW Mkaouer… - Expert Systems with …, 2021 - Elsevier
Refactoring is the art of improving the structural design of a software system without altering
its external behavior. Today, refactoring has become a well-established and disciplined …

The secret life of software vulnerabilities: A large-scale empirical study

E Iannone, R Guadagni, F Ferrucci… - IEEE Transactions …, 2022 - ieeexplore.ieee.org
Software vulnerabilities are weaknesses in source code that can be potentially exploited to
cause loss or harm. While researchers have been devising a number of methods to deal …

Toward the automatic classification of self-affirmed refactoring

EA AlOmar, MW Mkaouer, A Ouni - Journal of Systems and Software, 2021 - Elsevier
Abstract The concept of Self-Affirmed Refactoring (SAR) was introduced to explore how
developers document their refactoring activities in commit messages, ie, developers explicit …

An empirical study of refactorings and technical debt in machine learning systems

Y Tang, R Khatchadourian… - 2021 IEEE/ACM …, 2021 - ieeexplore.ieee.org
Machine Learning (ML), including Deep Learning (DL), systems, ie, those with ML
capabilities, are pervasive in today's data-driven society. Such systems are complex; they …

Developer-driven code smell prioritization

F Pecorelli, F Palomba, F Khomh… - Proceedings of the 17th …, 2020 - dl.acm.org
Code smells are symptoms of poor implementation choices applied during software
evolution. While previous research has devoted effort in the definition of automated solutions …

Has my release disobeyed semantic versioning? static detection based on semantic differencing

L Zhang, C Liu, Z Xu, S Chen, L Fan, B Chen… - Proceedings of the 37th …, 2022 - dl.acm.org
To enhance the compatibility in the version control of Java Third-party Libraries (TPLs),
Maven adopts Semantic Versioning (SemVer) to standardize the underlying meaning of …

Code smell detection and identification in imbalanced environments

S Boutaib, S Bechikh, F Palomba, M Elarbi… - Expert Systems with …, 2021 - Elsevier
Context: Code smells are sub-optimal design choices that could lower software
maintainability. Objective: Previous literature did not consider an important characteristic of …

On the impact of continuous integration on refactoring practice: An exploratory study on travistorrent

I Saidani, A Ouni, MW Mkaouer, F Palomba - Information and Software …, 2021 - Elsevier
Context: The ultimate goal of Continuous Integration (CI) is to support developers in
integrating changes into production constantly and quickly through automated build process …

Why developers refactor source code: A mining-based study

J Pantiuchina, F Zampetti, S Scalabrino… - ACM Transactions on …, 2020 - dl.acm.org
Refactoring aims at improving code non-functional attributes without modifying its external
behavior. Previous studies investigated the motivations behind refactoring by surveying …