[PATCH] D57858: [analyzer] Add a new frontend flag to display all checker options

Kristóf Umann via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon May 13 15:31:04 PDT 2019


Szelethus added a comment.

In D57858#1500635 <https://reviews.llvm.org/D57858#1500635>, @NoQ wrote:

> In D57858#1499996 <https://reviews.llvm.org/D57858#1499996>, @dkrupp wrote:
>
> > Some alpha checkers are considerably more mature than others and are quite usable. In our experience, there are some users who are keen to run these checkers on their code and report back any false positives to us. So in this sense these are not "developer only" checkers. So I think we should let the users list them, read their descriptions and try them out. Some of them will come back with useful feedback as to how to improve them further.
>
>
> What are such checkers currently? Like, the ones that aren't clearly "missing limbs" and that have somebody happy to //address// feedback sent against them?


`IteratorChecker` is a prime example that still suffers from not ideal FP/TP ratio, but users at Ericsson value it plenty enough not to be bothered by it. Many of the changes here and in private directly address user bug reports (That's just one, but I do remember having others around too!).

> Do you have a chance to call out to your users for testing the checker and actively request feedback, as @Szelethus did on the mailing list?

Actually yes! Experimental features, even if not checkers, such as the macro expansion thingy I wrote was very much feedback driven.

> I feel that we could do some sort of "early access checkers" programme, but i believe this would require a more careful PR than just dumping a list of alpha checkers on our users' heads.

How about making the `-analyzer-checker-help-alpha` flag only emit alpha checkers, surrounded by giant disclaimers, and adding some scary text to each checkers description?

  *** DISCLAIMER: Alpha checkers might be incomplet and inkorrekt, unstable and emit high amount of false positives! Use it as your own discretion! ***
  
    alpha.cplusplus.ReinterpretCastIsBad  **EXPERIMENTAL, UNDER DEVELOPMENT** A checker that shames you for using reinterpret_cast.
    alpha.optin.optout.Random             **EXPERIMENTAL, UNDER DEVELOPMENT** This checker will cause a crash when enabled. Really.
    alpha.pointless.Congrats              **EXPERIMENTAL, UNDER DEVELOPMENT** A checker that emits a report for each correct function pointer to function pointer C-style cast. Nice!
  
  *** DISCLAIMER: Alpha checkers might be incomplet and inkorrekt, unstable and emit high amount of false positives! Use it as your own discretion! ***


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D57858/new/

https://reviews.llvm.org/D57858





More information about the cfe-commits mailing list