Static Analysis and Program Safety in C++: Making it Real
summary
Static analysis for C++ claims compile‑time safety with no runtime cost and actually ships as a Visual Studio Community Edition feature and a GitHub Action; the implementation (prefast + ESPX engine) runs path‑sensitive checks and scales with intraprocedural heuristics plus optional annotations. Real production defects found include a null‑dereference, a union type‑confusion leading to calling arbitrary functions, and an integer truncation heap overflow from allocation arithmetic; some checkers are noisy or experimental but the tooling demonstrably finds and helps fix real bugs.
AI-written summary · about
chapters (29)
- 0:00Start
- 2:19Why Code Safety Matters and What Is Static Analysis
- 3:14Why Code Safety Is Important
- 4:59Guideline Support Library
- 5:43What Is Static Analysis
- 8:04Visual Studio Experience
- 8:33Defects Should Be Easily Understandable
- 9:03Key Events
- 10:33Github Integration
- 11:29Configure the Code Scanning Alerts in in Github
- 13:32Code Scanning
- 16:22.Code Scanning Alerts
- 17:23Github Experience
- 23:07Whole Program Analysis
- 24:34Not Null Type Extension
- 25:10Source Annotations
- 27:59Pros and Cons of Annotations
- 28:59Disadvantages
- 35:23Usbx Engine
- 39:04Memory Leaks
- 41:01Accuracy and Speed
- 43:41Make Static Analysis Universally Available
- 48:10Can Static Analyzer Stop Reporting those Instances in Subsequent Analysis
- 49:36What Are the Chances To Get the New Github Actions Supported beyond Cmake
- 50:47Is There a Knob To Control the Severity of the of the Warnings That Get Reported
- 51:58Visual Studio
- 56:50To Find Memory Leaks
- 58:07Lifetime Checks
- 59:12Github Are There any Plans To Put these Checks in Azure Devops
related talks
43mEverything I learned about static analysis and program safety in C++
36mCode Analysis: Empowering developers to write performant, reliable, and safe C++
01h 26mA Path to Practically Safe C++
01h 01mClosing the Gap between Rust and C++ Using Principles of Static Analysis
29m“The Current State of (free) Static Analysis"
01h 03mLifetime Safety in C++: Past, Present and Future
01h 06mmemory-safe C++
58mSecurity Static Analysis - Avoiding an Angry Mob of Engineers
