Scalable and Precise Static Analysis

← Back to homepage

Static analysis detects software bugs without executing the program. My work focuses on making these techniques both scalable to millions of lines of code and precise enough to produce actionable results with low false positive rates.

Abstract Interpretation

Abstract interpretation computes sound over-approximations of program behaviors. My work addresses key challenges in making it practical for large codebases:

Typestate Analysis

Typestate analysis verifies that objects follow correct API usage protocols (e.g., a file must be opened before reading and closed after use).

Pointer Analysis and Specification Inference

Pointer analysis determines what memory locations a pointer may reference, which is foundational for many downstream analyses.

Quantum-Accelerated Analysis

← Back to homepage