Static analysis for concurrent C++ in Visual Studio
summary
ConcurrencyCheck is a static analyzer replacing LocalEspC in Visual Studio that runs on MSVC and flags data races, deadlocks, stale-data and inconsistent lock release; it understands std::mutex, lock_guard and RAII and already warns about suspending coroutines while holding a lock and potential coroutine lifetime use-after-free. It uses annotations like guarded_by and requires_lock_not_held, emits background squiggles in the IDE, and has experimental checks for index-after-shrink bugs; rollout is planned in a future VS release.
AI-written summary · about
chapters (4)
- 0:00Start
- 1:23Past: spot an issue with this code?
- 6:26Present: spot an issue with this code?
- 8:28Future: spot an issue with this code?
related talks
43mEverything I learned about static analysis and program safety in C++
36mCode Analysis: Empowering developers to write performant, reliable, and safe C++
47mConcurrent Programming in C++
09mModern Static Code Analysis the Example of PVS-Studio
45mHow we test concurrent algorithms in Kotlin Coroutines
01h 11mWorkshop. Lincheck: Testing concurrency on the JVM (Part 2)
01h 41mWriting Good C++14
31mRace Conditions - Practical Tools & Techniques for Testing, Preventing, and Debugging C++/C Code
