4.5 Article

Composite refactoring: Representations, characteristics and effects on software projects

期刊

INFORMATION AND SOFTWARE TECHNOLOGY
卷 156, 期 -, 页码 -

出版社

ELSEVIER
DOI: 10.1016/j.infsof.2022.107134

关键词

Code refactoring; Composite refactoring; Software maintenance; Software project; Systematic mapping

向作者/读者索取更多资源

Code refactoring aims to improve software quality by transforming the code, and composite refactoring consists of two or more interrelated refactorings. This study analyzes the technical literature on composite refactoring and establishes a conceptual framework for its representation models, characteristics, and effects.
Context: code refactoring is a code transformation that aims to improve software quality. A composite refactoring (or, simply, composite) is defined by two or more interrelated refactorings, which is often applied by developers. Each composite needs to be somehow represented and has its own characteristics (e.g., code scope) as well as its effects on software quality. However, these basic elements of composites are rarely studied systematically. The lack of systematic knowledge also misguides the design of automated support tools for supporting composite refactoring. Thus, researchers might have controversial views about basic elements of composite refactorings. An example of these literature conflicts concerns the effect of composites: while some studies suggest composites more often remove code smells, other studies indicate composites often introduce code smells.Objective: in this sense, our study aims at analyzing the technical literature of composite refactoring and building a conceptual framework of the representation models, characteristics, and the effect of composite refactoring.Method: we conducted a systematic mapping with 140 primary empirical studies about refactoring. Our sys-tematic mapping summarizes the current knowledge on composites and also presents a conceptual framework intended to characterize composite refactoring.Results: our conceptual framework presents seven representation models, nine characteristics, and thirteen effects of composites. We found out that studies used multidimensional representations, like graphs, to deter-mine what refactoring(s) may be suggested and combined. On composite characteristics, studies mentioned developers often finish a composite in up to a month. However, these studies do not detail why and when composites span for several weeks. Then, we discussed other existing gaps on the current literature of composites. For instance, while most of the studies report the effect of composites on internal software quality, e.g., code smells, their effect on external software quality is little explored.Conclusion: our results can motivate future studies to more deeply investigate composite refactoring applica-tions, and the improvement of tooling support for composite refactorings.

作者

我是这篇论文的作者
点击您的名字以认领此论文并将其添加到您的个人资料中。

评论

主要评分

4.5
评分不足

次要评分

新颖性
-
重要性
-
科学严谨性
-
评价这篇论文

推荐

暂无数据
暂无数据