Architecture and evolution of the modern web browser

Alan Grosskurth, Michael W. Godfrey, David R. Cheriton · 2006

A reference architecture for a domain captures the fundamental subsystems common to systems of that domain, as well as the relationships between these subsystems. A reference architecture can be useful both at design time and during maintenance: it can improve understanding of a given system, aid in analyzing trade-offs between different design options, or serve as a template for designing new systems and reengineering existing ones. We examine the history of the web browser domain and identify several underlying forces that have contributed to its evolution. We develop a reference architecture for web browsers based on two well-known open source implementations, and we validate it against five additional implementations. We discuss the maintenance implications of different strategies for code reuse and identify several underlying evolutionary phenomena in the web browser domain; namely, emergent domain boundaries, convergent evolution, and tension between open and closed source development approaches. Key words: software architecture, software evolution, reverse engineering, reference architecture, web browser

Read the paper · More papers on PaperTik