Research
Our research focuses on trustworthy automated programming for building reliable and secure software systems. We work at the intersection of software engineering and artificial intelligence, combining symbolic reasoning with modern machine learning techniques to make software development safer and more productive.
Research Areas
Trustworthy LLMs for Code
Evaluating and improving the reliability, security, and correctness of large language models used for code synthesis and analysis.
Related Papers
- ›Can LLMs Reason About Program Semantics? A Comprehensive Evaluation of LLMs on Formal Specification Inference (ACL 2025)
- ›Perish or Flourish? A Holistic Evaluation of Large Language Models for Code Generation in Functional Programming (Under Review 2026)
- ›Refining ChatGPT-Generated Code: Characterizing and Mitigating Code Quality Issues (TOSEM 2024)
Automated Debugging
Developing AI-driven techniques for automated bug detection and repair, enabling systems to identify errors, analyze their causes, and generate fixes with minimal human intervention.
Related Papers
- ›Memory-Efficient Large Language Models for Program Repair with Semantic-Guided Patch Generation (ICSE 2026)
- ›PatchGuru: Patch Oracle Inference from Natural Language Artifacts with Large Language Models (Under Review 2026)
- ›Invalidator: Automated Patch Correctness Assessment via Semantic and Syntactic Reasoning (TSE 2023)
Software Security
Analyzing vulnerabilities in modern software systems, including vulnerability-fixing commit classification and security testing.
AI Security
Investigating security risks in AI systems, e.g., backdoor detection, adversarial robustness, and membership inference attacks.
Projects
FLAMES — Memory-Efficient LLM Program Repair
ActiveSemantic-guided patch generation with memory-efficient large language models. Reduces GPU memory footprint while maintaining repair quality on standard benchmarks.
PatchGuru — Patch Oracle Inference
ActiveInfers patch correctness oracles from natural language artifacts (issue reports, commit messages) using LLMs, enabling automated patch validation without formal specs.