We develop the foundations and tools needed to build reliable software and secure hardware. Our projects combine programming languages, formal methods, and systems research.