AI for Software Engineering
Building AI that helps people develop, test, and operate software.
Research
We build capable, reliable software and AI systems—and help students grow into independent researchers.
Building AI that helps people develop, test, and operate software.
Developing methods and tools to make AI systems reliable, secure, and effective.
A selection of our work
Evaluating whether language models remain safe when conversations use ciphers, revealing gaps in safety alignment beyond natural language.
Language models can understand encoded text even when their safety training is concentrated on ordinary language.

Open datasets and tools for AI-powered log analysis, from parsing raw logs to detecting system anomalies.
Understanding system behavior requires turning large volumes of unstructured logs into useful evidence.

Evaluating how language models reason over system telemetry to locate the causes of software failures.
Diagnosing a failure requires connecting evidence across logs, metrics, traces, and system dependencies.

Strengthening the tests used to evaluate coding agents, so that passing a benchmark better reflects a correct repair.
A generated patch can pass an issue's existing tests while leaving the underlying problem unresolved.
