当前位置: X-MOL 学术WIREs Data Mining Knowl. Discov. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Research on mining software repositories to facilitate refactoring
WIREs Data Mining and Knowledge Discovery ( IF 7.8 ) Pub Date : 2023-05-22 , DOI: 10.1002/widm.1508
Ally S. Nyamawe 1, 2
Affiliation  

Software refactoring focuses on improving software quality by applying changes to the internal structure that do not alter the observable behavior. Determining which refactorings should be applied and presented to developers the most relevant and optimal refactorings is often challenging. Existing literature suggests that one of the potential sources to identify and recommend required refactorings is the past software development and evolution histories which are often archived in software repositories. In this article, we review a selection of existing literature that has attempted to propose approaches that facilitate refactoring by exploiting information mined from software repositories. Based on the reviewed papers, existing works leverage software history mining to support analysis of code smells, refactoring, and guiding software changes. First, past history information is used to detect design flaws in source code commonly referred to as code smells. Moreover, other studies analyze the evolution of code smells to establish how and when they are introduced into the code base and get resolved. Second, software repositories mining provides useful insights that can be used in predicting the need for refactoring and what specific refactoring operations are required. In addition, past history can be used in detecting and analyzing previously applied refactorings to establish software change facts, for instance, how developers refactor code and the motivation behind it. Finally, change patterns are used to predict further changes that might be required and recommend a set of files for change during a given modification task. The paper further suggests other exciting possibilities that can be pursued in the future in this research direction.

中文翻译:

挖掘软件存储库以促进重构的研究

软件重构的重点是通过对内部结构进行不改变可观察行为的更改来提高软件质量。确定应应用哪些重构并向开发人员提供最相关和最佳的重构通常具有挑战性。现有文献表明,识别和推荐所需重构的潜在来源之一是过去的软件开发和演化历史,这些历史通常存档在软件存储库中。在本文中,我们回顾了一些现有文献,这些文献试图提出通过利用从软件存储库中挖掘的信息来促进重构的方法。基于所审查的论文,现有的工作利用软件历史挖掘来支持代码气味分析、重构和指导软件变更。首先,过去的历史信息用于检测源代码中的设计缺陷(通常称为代码异味)。此外,其他研究分析了代码异味的演变,以确定它们如何以及何时被引入代码库并得到解决。其次,软件存储库挖掘提供了有用的见解,可用于预测重构的需要以及需要​​哪些特定的重构操作。此外,过去的历史记录可用于检测和分析先前应用的重构,以建立软件变更事实,例如开发人员如何重构代码及其背后的动机。最后,更改模式用于预测可能需要的进一步更改,并在给定的修改任务期间推荐一组用于更改的文件。
更新日期:2023-05-22
down
wechat
bug