Can Refactoring Be Self-Affirmed? An Exploratory Study on How Developers Document Their Refactoring Activities in Commit Messages

E. Alomar, Mohamed Wiem Mkaouer, Ali Ouni
{"title":"Can Refactoring Be Self-Affirmed? An Exploratory Study on How Developers Document Their Refactoring Activities in Commit Messages","authors":"E. Alomar, Mohamed Wiem Mkaouer, Ali Ouni","doi":"10.1109/IWoR.2019.00017","DOIUrl":null,"url":null,"abstract":"Refactoring is a critical task in software maintenance and is usually performed to enforce best design practices, or to cope with design defects. Previous studies heavily rely on defining a set of keywords to identify refactoring commits from a list of general commits extracted from a small set of software systems. All approaches thus far consider all commits without checking whether refactorings had actually happened or not. In this paper, we aim at exploring how developers document their refactoring activities during the software life cycle. We call such activity Self-Affirmed Refactoring, which is an indication of the developer-related refactoring events in the commit messages. Our approach relies on text mining refactoring-related change messages and identifying refactoring patterns by only considering refactoring commits. We found that (1) developers use a variety of patterns to purposefully target refactoring-related activities; (2) developers tend to explicitly mention the improvement of specific quality attributes and code smells; and (3) commit messages with self-affirmed refactoring patterns tend to have more significant refactoring activity than those without.","PeriodicalId":393051,"journal":{"name":"2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR)","volume":"77 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"53","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/IWoR.2019.00017","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 53

Abstract

Refactoring is a critical task in software maintenance and is usually performed to enforce best design practices, or to cope with design defects. Previous studies heavily rely on defining a set of keywords to identify refactoring commits from a list of general commits extracted from a small set of software systems. All approaches thus far consider all commits without checking whether refactorings had actually happened or not. In this paper, we aim at exploring how developers document their refactoring activities during the software life cycle. We call such activity Self-Affirmed Refactoring, which is an indication of the developer-related refactoring events in the commit messages. Our approach relies on text mining refactoring-related change messages and identifying refactoring patterns by only considering refactoring commits. We found that (1) developers use a variety of patterns to purposefully target refactoring-related activities; (2) developers tend to explicitly mention the improvement of specific quality attributes and code smells; and (3) commit messages with self-affirmed refactoring patterns tend to have more significant refactoring activity than those without.
重构可以自我确认吗?开发人员如何在提交消息中记录他们的重构活动的探索性研究
重构是软件维护中的一项关键任务,通常用于执行最佳设计实践,或处理设计缺陷。以前的研究严重依赖于定义一组关键字来从一小部分软件系统中提取的通用提交列表中识别重构提交。到目前为止,所有的方法都只考虑所有的提交,而不检查是否实际发生了重构。在本文中,我们的目标是探索开发人员如何在软件生命周期中记录他们的重构活动。我们称这种活动为自确认重构(Self-Affirmed Refactoring),这是提交消息中与开发人员相关的重构事件的指示。我们的方法依赖于文本挖掘重构相关的变更消息,并通过只考虑重构提交来识别重构模式。我们发现:(1)开发人员使用各种模式有目的地针对重构相关的活动;(2)开发人员倾向于明确提及特定质量属性和代码气味的改进;(3)带有自确认重构模式的提交消息往往比不带有自确认重构模式的提交消息具有更显著的重构活动。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
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学术官方微信