How Code Smell and Refactoring Affect the Software Product Line Maintainability

Authors

DOI:

https://doi.org/10.64472/jciet.v1i2.10

Keywords:

Code clone, Code smell, Maintainability, Refactoring, Software Product Line (SPL)

Abstract

Code cloning remains a significant challenge in modern software development, particularly within the Object-Oriented paradigm and advanced methodologies such as the Software Product Line (SPL) approach. In this context, code smells and refactoring can be seen as two sides of the same coin—one representing the symptoms of poor design, and the other offering systematic strategies for improvement. Among the various software quality attributes, maintainability stands out as a critical factor in determining the long-term success of SPL-based systems. However, the presence of cloned code directly impacts this maintainability, making the detection and mitigation of such clones an essential concern. Although multiple quality models exist to assess the relationship between code cloning, refactoring, and maintainability, most lack the granularity to accurately capture the specific effects of code cloning within SPL environments. This research undertakes a systematic literature review to consolidate and analyze findings from existing surveys, with a particular focus on identifying software metrics capable of evaluating the impact of refactoring on SPL maintainability. Refactoring serves as a deliberate means to eliminate code smells, and numerous tools and techniques have been developed to support this process. By synthesizing the current body of knowledge, this study provides a foundation for researchers and practitioners to better understand, select, and apply effective practices and tools to reduce code smells, improve maintainability, and ultimately enhance the overall quality of SPL-based software systems

Downloads

Download data is not yet available.

References

W. LÖWE and T. PANAS, “RAPID CONSTRUCTION OF SOFTWARE COMPREHENSION TOOLS,” International Journal of Software Engineering and Knowledge Engineering, vol. 15, no. 06, pp. 995–1025, Dec. 2005, doi: 10.1142/S0218194005002622.

A. Telea and L. Voinea, “Visual software analytics for the build optimization of large-scale software systems,” Comput Stat, vol. 26, no. 4, pp. 635–654, Dec. 2011, doi: 10.1007/s00180-011-0248-2.

K. Alkharabsheh, Y. Crespo, E. Manso, and J. A. Taboada, “Software Design Smell Detection: a systematic mapping study,” Software Quality Journal, vol. 27, no. 3, pp. 1069–1148, Sep. 2019, doi: 10.1007/s11219-018-9424-8.

P. Hegedűs, I. Kádár, R. Ferenc, and T. Gyimóthy, “Empirical evaluation of software maintainability based on a manually validated refactoring dataset,” Inf Softw Technol, vol. 95, pp. 313–327, Mar. 2018, doi: 10.1016/j.infsof.2017.11.012.

M. Lafi, J. W. Botros, H. Kafaween, A. B. Al-Dasoqi, and A. Al-Tamimi, “Code Smells Analysis Mechanisms, Detection Issues, and Effect on Software Maintainability,” in 2019 IEEE Jordan International Joint Conference on Electrical Engineering and Information Technology (JEEIT), IEEE, Apr. 2019, pp. 663–666. doi: 10.1109/JEEIT.2019.8717457.

F. Palomba, G. Bavota, M. Di Penta, F. Fasano, R. Oliveto, and A. De Lucia, “On the diffuseness and the impact on maintainability of code smells,” in Proceedings of the 40th International Conference on Software Engineering, New York, NY, USA: ACM, May 2018, pp. 482–482. doi: 10.1145/3180155.3182532.

M. Misbhauddin and M. Alshayeb, “UML model refactoring: a systematic literature review,” Empir Softw Eng, vol. 20, no. 1, pp. 206–251, Feb. 2015, doi: 10.1007/s10664-013-9283-7.

D. I. K. Sjoberg, A. Yamashita, B. C. D. Anda, A. Mockus, and T. Dyba, “Quantifying the Effect of Code Smells on Maintenance Effort,” IEEE Transactions on Software Engineering, vol. 39, no. 8, pp. 1144–1156, Aug. 2013, doi: 10.1109/TSE.2012.89.

A. Yamashita and L. Moonen, “Exploring the impact of inter-smell relations on software maintainability: An empirical study,” in 2013 35th International Conference on Software Engineering (ICSE), IEEE, May 2013, pp. 682–691. doi: 10.1109/ICSE.2013.6606614.

J. Erickson, Impala Performance Update: Now Reaching DBMS-Class Speed. Cloudera Inc, 2014.

P. Kouros, T. Chaikalis, E.-M. Arvanitou, A. Chatzigeorgiou, A. Ampatzoglou, and T. Amanatidis, “JCaliper Search-based Technical Debt Management,” in Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing, New York, NY, USA: ACM, Apr. 2019, pp. 1721–1730. doi: 10.1145/3297280.3297448.

Y. Mehta, P. Singh, and A. Sureka, “Analyzing Code Smell Removal Sequences for Enhanced Software Maintainability,” in 2018 Conference on Information and Communication Technology (CICT), IEEE, Oct. 2018, pp. 1–6. doi: 10.1109/INFOCOMTECH.2018.8722418.

O. Poy, M. Á. Moraga, F. García, and C. Calero, “Impact on energy consumption of design patterns, code smells and refactoring techniques: A systematic mapping study,” Journal of Systems and Software, vol. 222, p. 112303, Apr. 2025, doi: 10.1016/j.jss.2024.112303.

D. Ogenrwot, J. Nakatumba-Nabende, J. Businge, and M. R. V. Chaudron, “Empirical Investigation of the Relationship Between Design Smells and Role Stereotypes,” Jun. 2024.

X. Han et al., “Code Smells Detection via Modern Code Review: A Study of the OpenStack and Qt Communities,” Cornell University, May 2022, [Online]. Available: http://arxiv.org/abs/2205.07535

R. Malhotra, A. Chug, and P. Khosla, “Prioritization of Classes for Refactoring,” in Proceedings of the Third International Symposium on Women in Computing and Informatics, New York, NY, USA: ACM, Aug. 2015, pp. 228–234. doi: 10.1145/2791405.2791463.

S. Vidal, I. berra, S. Zulliani, C. Marcos, and J. A. D. Pace, “Assessing the Refactoring of Brain Methods,” ACM Transactions on Software Engineering and Methodology, vol. 27, no. 1, pp. 1–43, Jan. 2018, doi: 10.1145/3191314.

Y. Mehta, P. Singh, and A. Sureka, “Analyzing Code Smell Removal Sequences for Enhanced Software Maintainability,” in 2018 Conference on Information and Communication Technology (CICT), IEEE, Oct. 2018, pp. 1–6. doi: 10.1109/INFOCOMTECH.2018.8722418.

R. Malhotra, A. Chug, and P. Khosla, “Prioritization of Classes for Refactoring,” in Proceedings of the Third International Symposium on Women in Computing and Informatics, New York, NY, USA: ACM, Aug. 2015, pp. 228–234. doi: 10.1145/2791405.2791463.

O. Poy, M. Á. Moraga, F. García, and C. Calero, “Impact on energy consumption of design patterns, code smells and refactoring techniques: A systematic mapping study,” Journal of Systems and Software, vol. 222, p. 112303, Apr. 2025, doi: 10.1016/j.jss.2024.112303.

J. Pereira dos Reis, F. Brito e Abreu, G. de Figueiredo Carneiro, and C. Anslow, “Code Smells Detection and Visualization: A Systematic Literature Review,” Archives of Computational Methods in Engineering, vol. 29, no. 1, pp. 47–94, Jan. 2022, doi: 10.1007/s11831-021-09566-x.

K. Borowski, B. Balis, and T. Orzechowski, “Semantic Code Graph An Information Model to Facilitate Software Comprehension,” IEEE Access, vol. 12, pp. 27279–27310, 2024, doi: 10.1109/ACCESS.2024.3351845.

N. R. Ravari, R. Latih, and A. Mohd Zin, “Multi-Language Program Understanding Tool,” Int J Adv Sci Eng Inf Technol, vol. 13, no. 4, pp. 1554–1560, Aug. 2023, doi: 10.18517/ijaseit.13.4.18019.

S. H. S. Almadi, D. Hooshyar, and R. B. Ahmad, “Bad Smells of Gang of Four Design Patterns: A Decade Systematic Literature Review,” Sustainability, vol. 13, no. 18, p. 10256, Sep. 2021, doi: 10.3390/su131810256.

G. Kaur and B. Singh, “Improving the quality of software by refactoring,” in 2017 International Conference on Intelligent Computing and Control Systems (ICICCS), IEEE, Jun. 2017, pp. 185–191. doi: 10.1109/ICCONS.2017.8250707.

N. R. Ravari, R. Latih, and A. Mohd Zin, “Multi-Language Program Understanding Tool,” Int J Adv Sci Eng Inf Technol, vol. 13, no. 4, pp. 1554–1560, Aug. 2023, doi: 10.18517/ijaseit.13.4.18019.

F. Palomba, G. Bavota, M. Di Penta, F. Fasano, R. Oliveto, and A. De Lucia, “On the diffuseness and the impact on maintainability of code smells,” in Proceedings of the 40th International Conference on Software Engineering, New York, NY, USA: ACM, May 2018, pp. 482–482. doi: 10.1145/3180155.3182532.

A. Rathee and J. K. Chhabra, “Restructuring of Object-Oriented Software Through Cohesion Improvement Using Frequent Usage Patterns,” ACM SIGSOFT Software Engineering Notes, vol. 42, no. 3, pp. 1–8, Sep. 2017, doi: 10.1145/3127360.3127370.

K. Solanki and S. Dalal, “Analysis of Research Trends Towards Types of Code Clone Detection Techniques,” Indian J Sci Technol, vol. 16, no. 7, pp. 468–475, Feb. 2023, doi: 10.17485/IJST/v16i7.2219.

G. Kaur and B. Singh, “Improving the quality of software by refactoring,” in 2017 International Conference on Intelligent Computing and Control Systems (ICICCS), IEEE, Jun. 2017, pp. 185–191. doi: 10.1109/ICCONS.2017.8250707.

D. Shanmugasundaram, P. Arivukkarasu, H. Chen, and H. Cai, “Deep Learning Representations of Programs: A Systematic Literature Review,” ACM Comput Surv, vol. 58, no. 5, pp. 1–37, Apr. 2026, doi: 10.1145/3769008.

E. Jabrayilzade, A. Yurtoğlu, and E. Tüzün, “Taxonomy of inline code comment smells,” Empir Softw Eng, vol. 29, no. 3, p. 58, May 2024, doi: 10.1007/s10664-023-10425-5.

Md. A. Hossain, J. Jiang, J. Han, M. A. Kabir, J.-G. Schneider, and C. Liu, “Inferring data model from service interactions for response generation in service virtualization,” Inf Softw Technol, vol. 145, p. 106803, May 2022, doi: 10.1016/j.infsof.2021.106803.

B. Zhang et al., “A Comprehensive Evaluation of Parameter-Efficient Fine-Tuning on Code Smell Detection,” Jun. 2025.

R. Melo et al., “Agentic LMs: Hunting Down Test Smells,” Oct. 2025, doi: 10.1109/MS.2025.3621356.

M. Lafi, J. W. Botros, H. Kafaween, A. B. Al-Dasoqi, and A. Al-Tamimi, “Code Smells Analysis Mechanisms, Detection Issues, and Effect on Software Maintainability,” in 2019 IEEE Jordan International Joint Conference on Electrical Engineering and Information Technology (JEEIT), IEEE, Apr. 2019, pp. 663–666. doi: 10.1109/JEEIT.2019.8717457.

S.-C. Necula, F. Dumitriu, and V. Greavu-Șerban, “A Systematic Literature Review on Using Natural Language Processing in Software Requirements Engineering,” Electronics (Basel), vol. 13, no. 11, p. 2055, May 2024, doi: 10.3390/electronics13112055.

R. Malhotra, A. Chug, and P. Khosla, “Prioritization of Classes for Refactoring,” in Proceedings of the Third International Symposium on Women in Computing and Informatics, New York, NY, USA: ACM, Aug. 2015, pp. 228–234. doi: 10.1145/2791405.2791463.

V. Mehta, S. Bawa, and J. Singh, “WEClustering: word embeddings based text clustering technique for large datasets,” Complex & Intelligent Systems, vol. 7, no. 6, pp. 3211–3224, Dec. 2021, doi: 10.1007/s40747-021-00512-9.

Downloads

Published

2025-12-15

How to Cite

How Code Smell and Refactoring Affect the Software Product Line Maintainability. (2025). Journal of Computing Innovations and Emerging Technologies, 1(2), 33-42. https://doi.org/10.64472/jciet.v1i2.10