For full conference details, please visit the 2018 European LLVM Developers’ Meeting website.
Back To Schedule
Monday, April 16 • 4:45pm - 5:25pm
Finding Iterator-related Errors with Clang Static Analyzer

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

The Clang Static Analyzer is a sub-project of Clang that performs source code analysis on C, C++, and Objective-C programs. It is able to find deep bugs by symbolically executing the code. However, this far finding C++ iterator related bugs was a white spot in the analysis. In this work we present a set of checkers that detects three different bugs of this kind: out-of-range iterator dereference, mismatch between iterator and container or two iterators and access of invalidated iterators. Our combined checker solution is capable finding all these errors even in in less straightforward cases. It is generic so it do not only work on STL containers, but also on iterators of custom container types. During the development of the checker we also had to overcome some infrastructure limitations from which also other (existing and future) checkers can benefit. The checker is already deployed inside Ericsson and is under review by the community.

avatar for Ádám Balogh

Ádám Balogh

Master Developer, Ericsson

Monday April 16, 2018 4:45pm - 5:25pm BST
Bristol 1