His research encompasses methods and tools for design and analysis of software, with special attention to concurrency, security, and fault-tolerance. His research also focuses on efficiency through incremental computation.