We develop techniques and abstractions for building trustworthy computer systems, i.e., systems that are safe and secure. In our work, we:
- explore the fundamental challenges posed to security and safety by large-scale systems consisting of many threads, many nodes, and millions of lines of code written by many programmers
- seek solutions that solve real-world problems by overcoming theoretical worst-case limitations
- build open-source prototypes that enable evaluation of these solutions with real-world workloads
- operate at the intersection of operating systems, distributed systems, programming languages, formal methods, and computer architecture
Are you a student interested in working with us? Take a look at our projects page.