baloghadamsoftware added a comment.

In https://reviews.llvm.org/D32906#1257140, @NoQ wrote:

> Also i'll have a look at whether the checker is in a good shape to be enabled 
> by default. I suspect that mismatched iterators might be very safe to enable. 
> With all these solver and rearrangement issues, if they only cause false 
> negatives, it's not blocking enabling the checker by default. The same 
> applies to the debate around `find`.


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.

> One thing that's most likely necessary to do before enabling the checker by 
> default is to add a bug report visitor, so that it added notes when iterators 
> appear for the first time or change their state. Without such notes it's 
> usually very hard to understand warnings. Especially because we're dropping 
> the path within inlined functions that have no interesting events, but when 
> the iterator originates from or gets updated within such function, this 
> information becomes crucial. The visitor might have to hop from one object to 
> another similarly to `trackNullOrUndefValue()` (i.e., by adding more 
> instances of itself that track objects that are being copied or moved into 
> the object of interest at the program point that is currently being visited).

Good idea, I will try to create such a visitor. However the next step should be 
replacing the unaccepted part 9 by a function-summary based solution in a 
separate checker (std-c++-library-functions).


https://reviews.llvm.org/D32906



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to