Projects

AI Software Engineering Agents and Program Repair

Active

Building and evaluating autonomous AI agents that can understand, debug, and modify real-world codebases. This includes program repair agents, code editing systems, and benchmarks that measure agent capabilities on tasks like crash resolution and software maintenance.

Learn More →

Code Security and Vulnerability Detection

Active

Developing techniques to detect, analyze, and fix software vulnerabilities using both deep learning and program analysis. Our work spans vulnerability detection with LLMs, red-teaming repair agents for hidden vulnerabilities, and proof-of-vulnerability generation.

Learn More →

Reasoning and Evaluation for Code and LLMs

Active

Studying how large language models reason about code and building rigorous benchmarks to evaluate their capabilities. This includes work on semantic reasoning, self-consistency, dynamic evaluation under data contamination, and execution-aware pre-training.

Learn More →

Trustworthy and Robust AI Systems

Active

Investigating the reliability and safety of AI systems used in software engineering. This covers causal deep learning for robustness, compiler-level backdoor attacks on ML models, and frameworks for building trustworthy AI-powered development tools.

Learn More →

Cross-Code and Program Translation

Active

Research on translating code across programming languages, with a focus on safety and correctness. Current efforts include C-to-Rust translation using neurosymbolic techniques, multi-modal specification generation, and understanding the quality and pitfalls of ML-based program translation.

Learn More →

Software Modernization and Migration

Active

Automating the modernization of legacy software systems, including migrating monolithic applications to microservices, translating code from older languages to modern ones for improved safety, and refactoring software to follow contemporary design patterns and architectures.

Learn More →