The effectiveness of supervised machine learning algorithms in predicting software refactoring

M Aniche, E Maziero, R Durelli… - IEEE Transactions on …, 2020 - ieeexplore.ieee.org
Refactoring is the process of changing the internal structure of software to improve its quality
without modifying its external behavior. Empirical studies have repeatedly shown that …

[PDF][PDF] 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 kee** its
external behavior the same. Currently, various refactoring techniques are being used to …

When and why your code starts to smell bad (and whether the smells go away)

M Tufano, F Palomba, G Bavota… - IEEE Transactions …, 2017 - ieeexplore.ieee.org
Technical debt is a metaphor introduced by Cunningham to indicate “not quite right code
which we postpone making it right”. One noticeable symptom of technical debt is …

An experimental investigation on the innate relationship between quality and refactoring

G Bavota, A De Lucia, M Di Penta, R Oliveto… - Journal of Systems and …, 2015 - Elsevier
Previous studies have investigated the reasons behind refactoring operations performed by
developers, and proposed methods and tools to recommend refactorings based on quality …

On the impact of refactoring on the relationship between quality attributes and design metrics

EA AlOmar, MW Mkaouer, A Ouni… - 2019 ACM/IEEE …, 2019 - ieeexplore.ieee.org
Background: Refactoring is a critical task in software maintenance and is generally
performed to enforce the best design and implementation practices or to cope with design …

Developers talking about code quality

J Börstler, KE Bennin, S Hooshangi, J Jeuring… - Empirical Software …, 2023 - Springer
There are many aspects of code quality, some of which are difficult to capture or to measure.
Despite the importance of software quality, there is a lack of commonly accepted measures …

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 …

An exploratory study on the relationship between changes and refactoring

F Palomba, A Zaidman, R Oliveto… - 2017 IEEE/ACM 25th …, 2017 - ieeexplore.ieee.org
Refactoring aims at improving the internal structure of a software system without changing its
external behavior. Previous studies empirically assessed, on the one hand, the benefits of …

Improving code: The (mis) perception of quality metrics

J Pantiuchina, M Lanza… - 2018 IEEE International …, 2018 - ieeexplore.ieee.org
Code quality metrics are widely used to identify design flaws (eg, code smells) as well as to
act as fitness functions for refactoring recommenders. Both these applications imply a strong …

A refactoring classification framework for efficient software maintenance

A Almogahed, H Mahdin, M Omar, NH Zakaria… - IEEe …, 2023 - ieeexplore.ieee.org
The expenses associated with software maintenance and evolution constitute a significant
portion, surpassing more than 80% of the overall costs involved in software development …