The modular and feature toggle architectures of Google Chrome
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 NovDisplayed time zone: Guadalajara, Mexico City, Monterrey change
10:30 - 12:00 | ModelsResearch Papers / Journal-First at Horizons 10-11 Chair(s): Maurício Aniche Delft University of Technology, Netherlands | ||
10:30 22mTalk | The modular and feature toggle architectures of Google Chrome Journal-First DOI | ||
10:52 22mTalk | Applications of Psychological Science for Actionable Analytics Research Papers Di Chen North Carolina State University, USA, Wei Fu , Rahul Krishna NC State University, Tim Menzies North Carolina State University | ||
11:15 22mTalk | Putback-Based Bidirectional Model Transformations Research Papers Xiao He University of Science and Technology Beijing, China, Zhenjiang Hu National Institute of Informatics | ||
11:37 22mTalk | Model Transformation Languages under a Magnifying Glass: A Controlled Experiment with Xtend, ATL, and QVT Research Papers Regina Hebig Chalmers University of Technology & University of Gothenburg, Christoph Seidl Technische Universität Braunschweig, Thorsten Berger Chalmers University of Technology, Sweden / University of Gothenburg, Sweden, John Kook Pedersen IT University of Copenhagen, Denmark, Andrzej Wąsowski IT University of Copenhagen, Denmark |