Security Verification Beyond Functional Correctness
Our research focuses on verifying whether compiler optimizations preserve
the security characteristics of the original program. We investigate
quantitative information flow to measure information leakage and develop
techniques for verifying relative security between source
and optimized programs. Our approach combines static information-flow and
taint analysis, information-leakage quantification, model checking, and
translation validation to identify security violations introduced during
compilation and optimization.
A major research direction is the security analysis of LLVM compiler
transformations, including optimization passes and register allocation.
In particular, we study how register allocation, spilling, splitting, and
register reuse can introduce unintended information leakage under realistic
attacker models. This work aims to develop security-aware compiler analyses
and secure optimization techniques that preserve both program functionality
and confidentiality.