Skip to main content
CS Colloquium | April 14, 2025

Program Analysis for Securing C/C++ Code

Tapti Palit

Tapti Palit
UC Davis

Stevenson 1300
12:00 PM

C and C++ remain two of the most widely used programming languages, powering everything from operating systems to critical infrastructure. However, their lack of built-in memory safety leaves applications vulnerable to exploitation, and memory corruption vulnerabilities cost the industry billions of dollars annually. To mitigate these risks, software defenses such as Control Flow Integrity (CFI) are deployed, but their effectiveness depends heavily on the precision of underlying program analysis.


In this talk, I will present my research on advancing program analysis techniques to improve software security. First, I will introduce the Invariant-Guided Pointer Analysis technique, which enhances the precision of CFI mechanisms by 59%, thus significantly improving its security guarantees. Then, I will discuss our lab's latest research on automatically transpiling C/C++ code into memory-safe languages, like Rust. Specifically, I will describe our hybrid approach, which combines Large Language Models (LLMs) with program analysis techniques to achieve high-accuracy C-to-Rust transpilation. Together, these efforts improve software security for legacy software and building a foundation for safer, more reliable software systems.