Research
Our research aims to develop safe and smart programming systems using solid programming langauge theories and adaptive AI techniques.
Program Analysis
We develop a next-generation program analysis system to discover deep semantic bugs and security vulnerabilities in real-world software. Our mission is to achieve a quantum leap in program analysis by combining static analysis, dynamic analysis, and AI techniques:
- Evaluating Directed Fuzzers: Are We Heading in the Right Direction?, FSE 2024
- DAFL: Directed Grey-box Fuzzing Guided by Data Dependency, Security 2023
- Tracer: Signature-based Static Analysis for Detecting Recurring Vulnerabilities, CCS 2022
- Learning Probabilistic Models for Static Analysis Alarms, ICSE 2022
- Boosting Static Analysis Accuracy With Instrumented Test Executions, FSE 2021
Funded by
Compiler Correctness
We develop a new approach to check the correctness of widely used optimizing compilers (e.g., LLVM and V8). Our system leverages a combination of rigorous translation validation and efficient fuzzing techniques:
- Optimization-Directed Compiler Fuzzing for Continuous Translation Validation, PLDI 2025
- Translation Validation for JIT Compiler in the V8 JavaScript Engine, ICSE 2024
Funded by
Automatic Test Generation
We develop an intelligent test generation system to automatically generate high-quality unit test cases for real-world software. This system is based on a combination of static analysis and program synthesis techniques:
Funded by
Robust and Reliable AI Systems
We develop trustworthy AI systems for critical tasks such as automatic code generation and mobile agents. Our mission is to ensure the robustness and reliability of AI systems by leveraging program analysis and large language models:
Funded by