Capture the Feature Flag: Detecting Feature Flags in Open-Source

Capture the Feature Flag: Detecting Feature Flags in Open-Source
复制标题

捕获功能标志:检测开源中的功能标志

DOI:
10.1145/3379597.3387463
复制
发表时间:
2020
期刊:
International Conference on Mining Software Repositories
影响因子:
--
通讯作者:
Kästner, C.
Kästner, C.
中科院分区:
--
文献类型:
--
作者:
Meinicke, J;Hoyos, J;Vasilescu, B;Kästner, C.

文献摘要

参考文献

被引文献

相似文献

特性标志(又名特性开关)是一种在开发过程中将新特性隐藏在布尔选项后面的机制。标志有很多用途,比如A/B测试,在出现故障时更容易关闭功能。虽然软件工程对特性标志的研究正在蓬勃发展,但使用标志的软件项目的例子很少来自商业和私人项目之外,这抑制了学术进展。为了解决这一问题,在本文中,我们提出了一种新的半自动化挖掘软件存储库方法,通过分析项目的提交消息和其他项目特征,来检测开源项目中的特征标志。通过我们的方法,我们搜索所有开源GitHub项目,找到数千个可信的和活跃的候选功能标记项目。我们手动验证项目并组装100个已确认的特征标记项目的数据集。为了演示我们的检测技术的好处,我们报告了对100个项目的验证样本中的特性标志的初步分析,调查了与较短的标志寿命相关的实践(通常希望减少技术债务),例如使用问题跟踪器和拥有一个标志所有者。
Feature flags (a.k.a feature toggles) are a mechanism to keep new features hidden behind a boolean option during development. Flags are used for many purposes, such as A/B testing and turning off a feature more easily in case of failures. While software engineering research on feature flags is burgeoning, examples of software projects using flags rarely come from outside commercial and private projects, stifling academic progress. To address this gap, in this paper we present a novel semi-automated mining software repositories approach to detect feature flags in open-source projects, based on analyzing the projects' commit messages and other project characteristics. With our approach, we search over all open-source GitHub projects, finding multiple thousand plausible and active candidate feature flagging projects. We manually validate projects and assemble a dataset of 100 confirmed feature flagging projects. To demonstrate the benefits of our detection technique, we report on an initial analysis of feature flags in the validated sample of 100 projects, investigating practices that correlate with shorter flag lifespans (typically desirable to reduce technical debt), such as using the issue tracker and having a flag owner.
DOI: 10.1145/2786805.2786852
发表时间: 2015-08
期刊: Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering
影响因子: --
作者:
Tianyin Xu;Long Jin;Xuepeng Fan;Yuanyuan Zhou;S. Pasupathy;Rukma Talwadker
通讯作者: Tianyin Xu;Long Jin;Xuepeng Fan;Yuanyuan Zhou;S. Pasupathy;Rukma Talwadker
DOI: 10.1145/3377813.3381366
发表时间: 2020-06
期刊: 2020 IEEE/ACM 42nd International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP)
影响因子: --
作者:
Jens Meinicke;Chu-Pan Wong;Bogdan Vasilescu;Christian Kästner
通讯作者: Jens Meinicke;Chu-Pan Wong;Bogdan Vasilescu;Christian Kästner
Google Chrome 的模块化和功能切换架构
DOI: --
发表时间: 2018
影响因子: 4.1
作者:
Md Tajmilur Rahman;Peter C. Rigby;Emad Shihab
通讯作者: Emad Shihab
DOI: 10.1109/ms.2017.86
发表时间: 2017
期刊: IEEE Software
影响因子: 3.3
作者:
Chris Parnin;Eric Helms;Chris Atlee;Harley Boughton;Mark Ghattas;Andy Glover;James Holman;John Micco;Brendan Murphy;T. Savor;M. Stumm;Shari Whitaker;L. Williams
通讯作者: L. Williams