Write a Blog >>
ICSE 2020
Wed 24 June - Thu 16 July 2020
Sat 11 Jul 2020 15:00 - 15:08 at Silla - A27-Software Architecture Chair(s): Patrizio Pelliccione

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 4 requirements by soliciting feedback on an incrementally evolving prototype. The resulting ``Config2Code'' prototype, which implements the 4 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 4 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.

Sat 11 Jul

Displayed time zone: (UTC) Coordinated Universal Time change

15:00 - 16:00
A27-Software ArchitectureNew Ideas and Emerging Results / Journal First / Demonstrations / Software Engineering in Practice at Silla
Chair(s): Patrizio Pelliccione University of L'Aquila and Chalmers | University of Gothenburg
15:00
8m
Talk
What should your Run-time Configuration Framework do to Help Developers?J1
Journal First
Mohammed SAYAGH Queen's University, Noureddine Kerzazi Ensias-Rabat, Fabio Petrillo University of Quebec at Chicoutimi, Khalil Bennani Polytechnique Montreal, Bram Adams MCIS, Polytechnique Montréal
15:08
3m
Talk
The SmartSHARK Ecosystem for Software Repository MiningDemo
Demonstrations
Alexander Trautsch University of Göttingen, Fabian Trautsch University of Göttingen, Steffen Herbold University of Göttingen, Benjamin Ledel University of Göttingen, Jens Grabowski University of Göttingen
Pre-print
15:11
12m
Talk
Piranha: Reducing Feature Flag Debt at UberSEIP
Software Engineering in Practice
Murali Krishna Ramanathan Uber Technologies Inc., Lazaro Clapp Uber Technologies Inc, Raj Barik Uber Technologies Inc., Manu Sridharan University of California Riverside
Pre-print
15:23
6m
Talk
Towards Engineering Future Gameful ApplicationsNIER
New Ideas and Emerging Results
Antonio Bucchiarone Fondazione Bruno Kessler, Trento, Italy, Antonio Cicchetti Mälardalen University, Annapaola Marconi Fondazione Bruno Kessler, Trento, Italy
15:29
18m
Talk
Software Development Data for Architecture Analysis: Expectation, Reality, and Future DirectionsSEIP
Software Engineering in Practice
Yuanfang Cai Drexel University, Rick Kazman University of Hawai‘i at Mānoa