Artificial Intelligence
Our artificial intelligence research addresses the central challenges of machine cognition, both from a theoretical perspective and from an empirical, implementation-oriented perspective.
Bioinformatics and Computational Biology
Bioinformatics and Computational Biology
Computer Architecture
Computer Architecture
Data Mining, Machine Learning, and Natural Computation
Data Mining, Machine Learning, and Natural Computation
Formal Methods
Our research involves the use of mathematics to assist with the specification, design, implementation, and verification of computing systems.
Graphics and Visualization
Graphics and Visualization
Model Driven Engineering
Our research on model-driven engineering develops languages and tools to express complex systems by describing their essential properties, often within a restricted domain, while automating or providing automated assistance to generate or synthesize an efficient implementation of the system.
Operating systems, Distributed systems, and Networking
Our systems research focuses on building large prototype software systems that convincingly demonstrate novel design principles and implmentation techniques using realistic workloads.
Programming Languages and Implementation
Programming Languages and Implementation
Scientific Computing
Scientific Computing
Security
Our security research includes foundations. It also includes systems built on provable properties. Besides such technologies, which provide demonstrable defense against concrete attacks, we also work on demonstrating security flaws in systems that are thought to be secure. In other words, we also like to break things.
Theoretical Computer Science
Our research focuses on the theoretical foundations of computer science and related applications. Our methods frequently rely on rigorous mathematical proofs.