Research

Research projects in the computer systems lab span a wide range of areas, including

Hardware

Asynchronous VLSI and Architecture:  the theory, automation, design and implementation of asynchronous (clockless/self-timed) circuits, architectures, and systems.

Computer Architecture and Security: improving computer security through design of new computer hardware features to meet today’s emerging security threats, including design of secure hardware-software architectures for servers and mobile devices, virtualization and cloud security, as well as novel security attacks and defenses.

Software

Cryptography and Security: obfuscation, verifiable outsourced computation and secure computation.

FLINT: Certified Systems Software: practical programming infrastructure for constructing large-scale certified systems software by combining recent new advances in programming languages, formal semantics, certified operating systems, program verification, proof assistants and automation, language-based security, and certifying compilers.

The Hardware/Software Interface

Yale Systems Architecture Group: computer architectures and operating systems for next-generation classical systems that process large amounts of data, like data centers, and more exotic ones, like brain-machine interfaces.

Distributed Systems

Distributed Systems and Storage: the union of distributed systems, storage, and networking.

Mobile Networked Systems: wireless and mobile systems, including smartphone based visual communications, mobile traffic management, wireless video, and MIMO systems.

Some of the researchers working in computer networking are also part of a broader University-wide initiative known as the Yale Institute for Network Science that includes researchers from areas such as sociology, economics, political science, biology, physics, medicine, public health, and management in addition to computer science and electrical engineering.