The modular and feature toggle architectures of Google Chrome

11Citations
Citations of this article
19Readers
Mendeley users who have this article in their library.
Get full text

Abstract

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.

Cite

CITATION STYLE

APA

Rahman, M. T., Rigby, P. C., & Shihab, E. (2019). The modular and feature toggle architectures of Google Chrome. Empirical Software Engineering, 24(2), 826–853. https://doi.org/10.1007/s10664-018-9639-0

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free