Enhancing software quality attributes through multi-dimensional refactoring at source-level

IF 1.4 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING
Science of Computer Programming Pub Date : 2026-06-01 Epub Date: 2025-12-25 DOI:10.1016/j.scico.2025.103434
Morteza Zakeri , Fatemeh Abdi , Fatemeh Bagheri
{"title":"Enhancing software quality attributes through multi-dimensional refactoring at source-level","authors":"Morteza Zakeri ,&nbsp;Fatemeh Abdi ,&nbsp;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.
通过源代码级别的多维重构来增强软件质量属性
信息物理系统(cps)越来越依赖于复杂的高级软件组件来进行协调、集成和控制逻辑。随着这些组件的发展,维护关键的质量属性——比如模块化、可测试性和架构稳定性——变得至关重要。自动化的源代码级重构提供了一种在动态CPS环境中维护软件质量的实用而系统的方法,在这种环境中,进化是通过持续的开发而不是自主的运行时适应发生的。基于搜索的重构方法识别最佳重构序列,自动提高软件质量。然而,质量属性的多样性、缺乏它们的正式定义以及它们的非相关性使得在基于搜索的重构中度量、协调和适当地应用质量属性变得具有挑战性。本文介绍了一个自动重构引擎,CodART,它利用编译器原理在源代码级别执行18种不同的重构操作,生成可编译的代码。此外,还定义和评估了9个质量属性,以有效地指导基于搜索的重构。采用新颖的RNSGA-III算法在九维空间中更好地平衡目标。许多现有的重构工具在简化代码、UML或AST级别应用转换,并且不直接输出可编译的、转换的源代码。相反,CodART在源代码级别应用所有转换,并生成可编译的Java程序作为输出——这是集成到高保证CPS软件管道中的关键需求。与现有方法相比,该方法增加了质量属性、重构和优化算法的数量。所提出的算法在大型、中型和小型项目中分别平均提高了9%、12%和18%的软件质量,超过了最先进的方法。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
Science of Computer Programming
Science of Computer Programming 工程技术-计算机:软件工程
CiteScore
3.80
自引率
0.00%
发文量
76
审稿时长
67 days
期刊介绍: 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.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信
小红书