Back To Schedule

Safer C++ at Scale with Static Analysis

16:30 - 18:00 Monday 28th April 2025 MT Bethe Hall
Intermediate
Advanced
Math/Analysis

Code safety is quickly changing from a luxury to a necessity, driven by increased security requirements and regulatory pressure. Rust demonstrates that it is possible to achieve memory safety without compromising performance. Existing C++ codebases are under pressure to adapt to this new environment. This is especially true for organizations like Google, where a massive C++ codebase presents unique challenges for ensuring memory safety at scale.

In this talk, I'll dive into a suite of projects at Google that use static analysis and code transformations to dramatically improve the C++ safety experience. These static approaches offer significant cost advantages over dynamic techniques and enable us to virtually eliminate entire classes of bugs, moving beyond merely catching them in testing or later stages. I'll discuss our efforts in null safety, spatial safety, and uninitialized memory safety, including unique obstacles in each and our (potential) solutions. I'll also touch on the major open challenge: temporal safety.

View Slides

Yitzhak Mandelbaum

Staff Software EngineerAlphabet, Inc.

Yitzhak Mandelbaum is a Staff Software Engineer at Google, leading the C++ Safety team. He and his team are committed to improving memory safety and reliability in C++ through innovative static and dynamic analysis techniques. Yitzhak has been tackling challenges at the intersection of C++ security, static analysis, and large-scale change tooling since 2016, leading development of the Clang Dataflow Analysis and Clang Transformer frameworks, along the way. Prior to Google, he researched parsing, type theory and computer security at CMU's Software Engineering Institute and AT&T Labs-Research. He holds a PhD (2006) and an A.B. (1999) in Computer Science from Princeton University.