Thu 8 Nov 2018 10:30 - 10:52 at Horizons 10-11 - Models Chair(s): Maurício Aniche

Software features often span multiple directories and conceptual modules making the extraction of feature architectures difficult. In this work, we extract a feature toggle architectural view and show how features span the conceptual, concrete, and reference architectures. Feature toggles are simple conditional flags that allow developers to turn a feature on or off in a running system. They are commonly used by large web companies, including Google, Netflix and Facebook to selectively enable and disable features. Recently, libraries to help inject and manage toggles have been created for all the major programming languages. We extract the feature toggles from the Google Chrome web browser to illustrate their use in understanding the architecture of a system. Since there is no high-level conceptual and concrete architectures for Chrome, we had to manually derive these representations from available documentation and map them into the source code. These modular representations of a modern web browser allowed us to update the 12 year old research on browser reference architectures with current technologies and browser concepts. Mining the usages of feature toggles in the source code, we were able to map them on to the modular representation to create a feature toggle architectural view of Chrome. We are also able to show which features are contained in a module and which modules a feature spans. Throughout the paper, we show how the feature toggle view can give new perspectives into the feature architecture of a system.

Thu 8 Nov

10:30 - 12:00: Research Papers - Models at Horizons 10-11
Chair(s): Maurício AnicheDelft University of Technology, Netherlands
fse-2018-Journal-First10:30 - 10:52
fse-2018-research-papers10:52 - 11:15
Di ChenNorth Carolina State University, USA, Wei Fu , Rahul KrishnaNC State University, Tim MenziesNorth Carolina State University
fse-2018-research-papers11:15 - 11:37
Xiao HeUniversity of Science and Technology Beijing, China, Zhenjiang HuNational Institute of Informatics
fse-2018-research-papers11:37 - 12:00
Regina HebigChalmers University of Technology & University of Gothenburg, Christoph SeidlTechnische Universität Braunschweig, Thorsten BergerChalmers University of Technology, Sweden / University of Gothenburg, Sweden, John Kook PedersenIT University of Copenhagen, Denmark, Andrzej WąsowskiIT University of Copenhagen, Denmark