当前位置: X-MOL 学术J. Syst. Softw. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Code Smells and Refactoring: A Tertiary Systematic Review of Challenges and Observations
Journal of Systems and Software ( IF 3.7 ) Pub Date : 2020-09-01 , DOI: 10.1016/j.jss.2020.110610
Guilherme Lacerda , Fabio Petrillo , Marcelo Pimenta , Yann Gaël Guéhéneuc

Abstract Refactoring and smells have been well researched by the software-engineering research community these past decades. Several secondary studies have been published on code smells, discussing their implications on software quality, their impact on maintenance and evolution, and existing tools for their detection. Other secondary studies addressed refactoring, discussing refactoring techniques, opportunities for refactoring, impact on quality, and tools support. In this paper, we present a tertiary systematic literature review of previous surveys, secondary systematic literature reviews, and systematic mappings. We identify the main observations (what we know) and challenges (what we do not know) on code smells and refactoring. We perform this tertiary review using eight scientific databases, based on a set of five research questions, identifying 40 secondary studies between 1992 and 2018. We organize the main observations and challenges about code smell and their refactoring into: smells definitions, most common code-smell detection approaches, code-smell detection tools, most common refactoring, and refactoring tools. We show that code smells and refactoring have a strong relationship with quality attributes, i.e., with understandability, maintainability, testability, complexity, functionality, and reusability. We argue that code smells and refactoring could be considered as the two faces of a same coin. Besides, we identify how refactoring affects quality attributes, more than code smells. We also discuss the implications of this work for practitioners, researchers, and instructors. We identify 13 open issues that could guide future research work. Thus, we want to highlight the gap between code smells and refactoring in the current state of software-engineering research. We wish that this work could help the software-engineering research community in collaborating on future work on code smells and refactoring.

中文翻译:

代码异味和重构:挑战和观察的三级系统回顾

摘要 在过去的几十年中,软件工程研究社区对重构和气味进行了深入研究。一些关于代码异味的二次研究已经发表,讨论了它们对软件质量的影响、它们对维护和进化的影响,以及用于检测它们的现有工具。其他次要研究涉及重构、讨论重构技术、重构机会、对质量的影响和工具支持。在本文中,我们介绍了对先前调查的三级系统文献综述、二级系统文献综述和系统映射。我们确定了对代码异味和重构的主要观察(我们知道的)和挑战(我们不知道的)。我们根据一组五个研究问题,使用八个科学数据库进行此三级审查,确定了 1992 年至 2018 年之间的 40 项二级研究。我们将有关代码异味及其重构的主要观察和挑战整理为:异味定义、最常见的代码异味检测方法、代码异味检测工具、最常见的重构和重构工具。我们表明代码异味和重构与质量属性有很强的关系,即与可理解性、可维护性、可测试性、复杂性、功能性和可重用性有关。我们认为代码异味和重构可以被视为同一枚硬币的两个面孔。此外,我们确定重构如何影响质量属性,而不是代码味道。我们还讨论了这项工作对从业者、研究人员和教师的影响。我们确定了 13 个可以指导未来研究工作的开放性问题。因此,我们想强调在软件工程研究的当前状态下代码异味和重构之间的差距。我们希望这项工作可以帮助软件工程研究社区在代码异味和重构方面的未来工作中进行合作。
更新日期:2020-09-01
down
wechat
bug