Research

Software Engineering
× AI

We build capable, reliable software and AI systems—and help students grow into independent researchers.

Research Directions

AI for Software Engineering

Building AI that helps people develop, test, and operate software.

Software Engineering for AI

Developing methods and tools to make AI systems reliable, secure, and effective.

A selection of our work

Research Projects

01 / ResearchSoftware Engineering for AI

CipherChat

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.

Diagram contrasting a model's refusal in a natural-language conversation with an unsafe response in a cipher-based conversation.
Communicating with GPT through ciphered text, then decoding its replies.
Explore this work
03 / ResearchAI for Software Engineering

OpenRCA

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.

Anthropic's OpenRCA evaluation chart comparing Claude Opus 4.6, Opus 4.5, and Sonnet 4.5.
OpenRCA in Anthropic's Claude Opus 4.6 evaluation, February 2026.
Explore this work
04 / ResearchSoftware Engineering for AI

UTBoost

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.

UTBoost architecture comparing generated and ground-truth patches on original and augmented test cases, with correct, incorrect, and suspicious outcomes.
UTBoost's test augmentation and patch evaluation workflow.
Explore this work