A systematic review of refactoring opportunities by software antipattern detection

S Kalhor, MR Keyvanpour, A Salajegheh - Automated Software …, 2024 - Springer
The violation of the semantic and structural software principles, such as low connection, high
coherence, high understanding, and others, are called anti-patterns, which is one of the …

A rating tool for the automated selection of software refactorings that remove antipatterns to improve performance and stability

N Moesus, M Scholze, S Schlesinger… - … Conference, ICSOFT 2018 …, 2019 - Springer
Antipatterns are known to be bad solutions for recurring design problems. To detect and
remove antipatterns has proven to be a useful mean to improve the quality of software. While …

Experimental evaluation and comparison of anti-pattern detection tools by the gold standard

S Kalhor, MR Keyvanpour… - 2022 12th International …, 2022 - ieeexplore.ieee.org
Every symptom in the source code or design of software that violates object-oriented
principles such as maintainability, reusability, and integrity is called an anti-pattern. Poor …

On the use of developers' context for automatic refactoring of software anti-patterns

R Morales, Z Soh, F Khomh, G Antoniol… - Journal of systems and …, 2017 - Elsevier
Anti-patterns are poor solutions to design problems that make software systems hard to
understand and extend. Entities involved in anti-patterns are reported to be consistently …

A survey of refactoring detection techniques based on change history analysis

E Choi, K Fujiwara, N Yoshida, S Hayashi - arXiv preprint arXiv …, 2018 - arxiv.org
Refactoring is the process of changing a software system in such a way that it does not alter
the external behavior of the code yet improves its internal structure. Not only researchers …

Two-phase assessment approach to improve the efficiency of refactoring identification

AR Han, S Cha - IEEE Transactions on Software Engineering, 2017 - ieeexplore.ieee.org
To automate the refactoring identification process, a large number of candidates need to be
compared. Such an overhead can make the refactoring approach impractical if the software …

Search-based refactoring detection using software metrics variation

R Mahouachi, M Kessentini, MÓ Cinnéide - Search Based Software …, 2013 - Springer
Software is frequently refactored to improve its design, either as part of an agile
development process or as part of a major design overhaul. In either case, it is very useful to …

A probabilistic-based approach for automatic identification and refactoring of software code smells

R Saheb-Nassagh, M Ashtiani, B Minaei-Bidgoli - Applied Soft Computing, 2022 - Elsevier
Programmers strive to design programs that are flexible, updateable, and maintainable.
However, several factors such as lack of time, high costs, and workload lead to the creation …

Automatic software refactoring: a systematic literature review

AAB Baqais, M Alshayeb - Software Quality Journal, 2020 - Springer
Refactoring a software artifact is an embedded task in the maintenance phase of the
software life cycle. To reduce the time and effort required for this task, researchers proposed …

On preserving the behavior in software refactoring: A systematic mapping study

EA AlOmar, MW Mkaouer, C Newman… - Information and Software …, 2021 - Elsevier
Context: Refactoring is the art of modifying the design of a system without altering its
behavior. The idea is to reorganize variables, classes and methods to facilitate their future …