{"title":"Enhancing software quality attributes through multi-dimensional refactoring at source-level","authors":"Morteza Zakeri , Fatemeh Abdi , Fatemeh Bagheri","doi":"10.1016/j.scico.2025.103434","DOIUrl":null,"url":null,"abstract":"<div><div>Cyber-Physical Systems (CPSs) increasingly depend on complex, high-level software components for coordination, integration, and control logic. As these components evolve, maintaining key quality attributes—such as modularity, testability, and architectural stability—becomes essential. Automated source-level refactoring offers a practical and systematic way to maintain software quality in dynamic CPS environments, where evolution occurs through ongoing development rather than autonomous runtime adaptation. Search-based refactoring methods identify optimal refactoring sequences to enhance software quality automatically. However, the multiplicity of quality attributes, the lack of formal definitions for them, and their non-correlation make it challenging to measure, reconcile, and appropriately apply quality attributes in search-based refactoring. This paper introduces an automated refactoring engine, CodART, which utilizes compiler principles to perform 18 different refactoring operations at the source code level, generating compilable code. Additionally, nine quality attributes are defined and evaluated to guide search-based refactoring effectively. The novel RNSGA-III algorithm is employed to better balance objectives in the nine-dimensional space. Many existing refactoring tools apply transformations at simplified code, UML, or AST level and do not directly output compilable, transformed source code. In contrast, CodART applies all transformations at the source level and produces compilable Java programs as output - a key requirement for integration into high-assurance CPS software pipelines. Compared to existing approaches, the proposed method enhances the number of quality attributes, refactorings, and optimization algorithms. The proposed algorithm improves software quality by an average of 9%, 12%, and 18% in large, medium, and small projects, respectively, surpassing state-of-the-art methods.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"251 ","pages":"Article 103434"},"PeriodicalIF":1.4000,"publicationDate":"2026-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Science of Computer Programming","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0167642325001728","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"2025/12/25 0:00:00","PubModel":"Epub","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0
Abstract
Cyber-Physical Systems (CPSs) increasingly depend on complex, high-level software components for coordination, integration, and control logic. As these components evolve, maintaining key quality attributes—such as modularity, testability, and architectural stability—becomes essential. Automated source-level refactoring offers a practical and systematic way to maintain software quality in dynamic CPS environments, where evolution occurs through ongoing development rather than autonomous runtime adaptation. Search-based refactoring methods identify optimal refactoring sequences to enhance software quality automatically. However, the multiplicity of quality attributes, the lack of formal definitions for them, and their non-correlation make it challenging to measure, reconcile, and appropriately apply quality attributes in search-based refactoring. This paper introduces an automated refactoring engine, CodART, which utilizes compiler principles to perform 18 different refactoring operations at the source code level, generating compilable code. Additionally, nine quality attributes are defined and evaluated to guide search-based refactoring effectively. The novel RNSGA-III algorithm is employed to better balance objectives in the nine-dimensional space. Many existing refactoring tools apply transformations at simplified code, UML, or AST level and do not directly output compilable, transformed source code. In contrast, CodART applies all transformations at the source level and produces compilable Java programs as output - a key requirement for integration into high-assurance CPS software pipelines. Compared to existing approaches, the proposed method enhances the number of quality attributes, refactorings, and optimization algorithms. The proposed algorithm improves software quality by an average of 9%, 12%, and 18% in large, medium, and small projects, respectively, surpassing state-of-the-art methods.
期刊介绍:
Science of Computer Programming is dedicated to the distribution of research results in the areas of software systems development, use and maintenance, including the software aspects of hardware design.
The journal has a wide scope ranging from the many facets of methodological foundations to the details of technical issues andthe aspects of industrial practice.
The subjects of interest to SCP cover the entire spectrum of methods for the entire life cycle of software systems, including
• Requirements, specification, design, validation, verification, coding, testing, maintenance, metrics and renovation of software;
• Design, implementation and evaluation of programming languages;
• Programming environments, development tools, visualisation and animation;
• Management of the development process;
• Human factors in software, software for social interaction, software for social computing;
• Cyber physical systems, and software for the interaction between the physical and the machine;
• Software aspects of infrastructure services, system administration, and network management.