当前位置: 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.)
What should your run-time configuration framework do to help developers?
Empirical Software Engineering ( IF 3.5 ) Pub Date : 2020-01-17 , DOI: 10.1007/s10664-019-09790-x
Mohammed Sayagh , Noureddine Kerzazi , Fabio Petrillo , Khalil Bennani , Bram Adams

The users or deployment engineers of a software system can adapt such a system to a wide range of deployment and usage scenarios by changing the value of configuration options, for example by disabling unnecessary features, tweaking performance-related parameters or specifying GUI preferences. However, the literature agrees that the flexibility of such options comes at a price: misconfigured options can lead a software system to crash in the production environment, while even in the absence of such configuration errors, a large number of configuration options makes a software system more complicated to deploy and use. In earlier work, we also found that developers who intend to make their application configurable face 22 challenges that impact their configuration engineering activities, ranging from technical to management-related or even inherent to the domain of configuration engineering. In this paper, we use a prototyping approach to derive and empirically evaluate requirements for tool support able to deal with 13 (primarily technical) configuration engineering challenges. In particular, via a set of interviews with domain experts, we identify four requirements by soliciting feedback on an incrementally evolving prototype. The resulting “Config2Code” prototype, which implements the four requirements, is then empirically evaluated via a user study involving 55 participants that comprises 10 typical configuration engineering tasks, ranging from the creation, comprehension, refactoring, and reviewing of configuration options to the quality assurance of options and debugging of configuration failures. A configuration framework satisfying the four requirements enables developers to perform more accurately and more swiftly in 70% and 60% (respectively) of the configuration engineering tasks than a state-of-the-practice framework not satisfying the requirements. Furthermore, such a framework allows to reduce the time taken for these tasks by up to 94.62%, being slower for only one task.

中文翻译:

您的运行时配置框架应该如何帮助开发人员?

软件系统的用户或部署工程师可以通过更改配置选项的值(例如通过禁用不必要的功能、调整与性能相关的参数或指定 GUI 首选项)来使此类系统适应广泛的部署和使用场景。然而,文献同意这些选项的灵活性是有代价的:错误配置的选项会导致软件系统在生产环境中崩溃,而即使没有这种配置错误,大量的配置选项也会使软件系统部署和使用更复杂。在早期的工作中,我们还发现打算使应用程序可配置的开发人员面临 22 项影响其配置工程活动的挑战,从技术到管理相关,甚至是配置工程领域固有的。在本文中,我们使用原型设计方法来推导和实证评估能够应对 13(主要是技术)配置工程挑战的工具支持要求。特别是,通过与领域专家的一系列访谈,我们通过征求对渐进式发展原型的反馈来确定四个要求。最终的“Config2Code”原型实现了四个要求,然后通过一项涉及 55 名参与者的用户研究进行经验评估,该研究包括 10 个典型的配置工程任务,范围从配置选项的创建、理解、重构和审查到质量保证选项和调试配置失败。满足这四个要求的配置框架使开发人员能够比不满足要求的现有实践框架更准确、更快速地执行 70% 和 60%(分别)的配置工程任务。此外,这样的框架允许将这些任务所花费的时间减少多达 94.62%,仅在一项任务上速度较慢。
更新日期:2020-01-17
down
wechat
bug