当前位置: X-MOL 学术Empir. Software Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
On the Removal of Feature Toggles
Empirical Software Engineering ( IF 4.1 ) Pub Date : 2021-02-03 , DOI: 10.1007/s10664-020-09902-y
Juan Hoyos , Rabe Abdalkareem , Suhaib Mujahid , Emad Shihab , Albeiro Espinosa Bedoya

Feature Toggling is a technique to control the execution of features in a software project. For example, practitioners using feature toggles can experiment with new features in a production environment by exposing them to a subset of users. Some of these toggles require additional maintainability efforts and are expected to be removed, whereas others are meant to remain for a long time. However, to date, very little is known about the removal of feature toggles, which is why we focus on this topic in our paper. We conduct an empirical study that focuses on the removal of feature toggles. We use source code analysis techniques to analyze 12 Python open source projects and surveyed 61 software practitioners to provide deeper insights on the topic. Our study shows that 75% of the toggle components in the studied Python projects are removed within 49 weeks after introduction. However, eventually practitioners remove feature toggles to follow the life cycle of a feature when it becomes stable in production. We also find that not all long-term feature toggles are designed to live that long and not all feature toggles are removed from the source code, opening the possibilities to unwanted risks. Our study broadens the understanding of feature toggles by identifying reasons for their survival in practice and aims to help practitioners make better decisions regarding the way they manage and remove feature toggles.



中文翻译:

关于要素切换的移除

功能切换是一种控制软件项目中功能执行的技术。例如,使用功能切换的从业人员可以通过将新功能暴露给一部分用户来在生产环境中进行实验。这些切换器中的一些需要额外的可维护性工作,并且预计将被删除,而另一些则将保留很长时间。但是,到目前为止,关于删除功能切换的了解甚少,这就是我们在本文中专注于此主题的原因。我们进行了一项经验研究,重点研究了功能切换的移除。我们使用源代码分析技术来分析12个Python开源项目,并对61位软件从业人员进行了调查,以提供有关该主题的更深刻见解。我们的研究表明,在引入Python的49周内,已研究的Python项目中的切换组件中有75%被删除。但是,最终从业人员会删除功能部件切换开关,以在功能部件在生产中变得稳定时遵循其生命周期。我们还发现,并不是所有的长期功能切换都设计得寿命如此长,并且并非所有的功能切换都从源代码中删除,这为无用风险带来了可能性。我们的研究通过确定在实践中生存的原因,拓宽了对功能切换的理解,旨在帮助从业人员就他们管理和移除功能切换的方式做出更好的决策。我们还发现,并不是所有的长期功能切换都设计得寿命如此长,并且并非所有的功能切换都从源代码中删除,这为无用风险带来了可能性。我们的研究通过确定在实践中生存的原因,拓宽了对功能切换的理解,旨在帮助从业人员就他们管理和移除功能切换的方式做出更好的决策。我们还发现,并不是所有的长期功能切换都设计得寿命如此长,并且并非所有的功能切换都从源代码中删除,这为无用风险带来了可能性。我们的研究通过确定在实践中生存的原因,拓宽了对功能切换的理解,旨在帮助从业人员就他们管理和移除功能切换的方式做出更好的决策。

更新日期:2021-02-03
down
wechat
bug