[PATCH] D32905: [Analyzer] Iterator Checker - Part 9: Evaluation of std::find-like calls

Artem Dergachev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Oct 14 21:05:22 PDT 2018


NoQ added a comment.

In https://reviews.llvm.org/D32906#1264452, @baloghadamsoftware wrote:

> Unfortunately, we are at the beginning of a long road. I will post several new patches that we already test internally. However the only checker with acceptable false-positive rate is the `invalidated-iterator` checker. The `mismatched-iterator` still has high false-positive rate for iterator-iterator mismatches. For iterator-container mismatches it is acceptable. The `iterator-range` checker also has still too many false positives.


These 1.5 checkers are a lot, in my opinion. They're preventing undefined behavior that can be very easy to introduce accidentally. I think they're very valuable. Non-powerusers would love to have these checkers turned on by default, and while this is entirely up to you to decide, my vague idea of the greater good suggests that focusing on converging to something not-feature-rich-but-deliverable and delivering that something to the users is a good thing to do, especially given that it seems almost ready, while there's a long road ahead to finish other checkers.

Like, if you have 3 tasks and spend 1/3 of your time on each of them, all of them will be done in 3 units of time, but if you first spend 1 unit of time on the first task, then 1 unit of time on the second task, then 1 unit of time on the third task, then even though time to complete all three tasks remains at 3 units you have the benefit of the first and the second task being completed and starting to bring benefit much earlier.


https://reviews.llvm.org/D32905





More information about the cfe-commits mailing list