vix.ing · top · new · best · stats · spec

Experience Report: Developing the Servo Web Browser Engine using Rust

2015/05/26 by Brian Anderson, Brian C. Anderson, Lars Bergström +15 · 2 voices · 1 citation
Computer Science · #Advanced Malware Detection Techniques #Logic, programming, and type systems #Software Testing and Debugging Techniques #cs.PL

paper · pdf · doi:10.48550/arxiv.1505.07383

openalex publication_date 2015/05/26 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28

Abstract

All modern web browsers - Internet Explorer, Firefox, Chrome, Opera, and Safari - have a core rendering engine written in C++. This language choice was made because it affords the systems programmer complete control of the underlying hardware features and memory in use, and it provides a transparent compilation model. Servo is a project started at Mozilla Research to build a new web browser engine that preserves the capabilities of these other browser engines but also both takes advantage of the recent trends in parallel hardware and is more memory-safe. We use a new language, Rust, that provides us a similar level of control of the underlying system to C++ but which builds on many concepts familiar to the functional programming community, forming a novelty - a useful, safe systems programming language. In this paper, we show how a language with an affine type system, regions, and many syntactic features familiar to functional language programmers can be successfully used to build state-of-the-art systems software. We also outline several pitfalls encountered along the way and describe some potential areas for future research.

Cited by

Discussions

Related