[PATCH] D77866: [analyzer][CallAndMessage] Add checker options for each bug category

Artem Dergachev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Jun 2 10:25:51 PDT 2020


NoQ added a comment.

In D77866#2068484 <https://reviews.llvm.org/D77866#2068484>, @Szelethus wrote:

> > Also a regular reminder that we wouldn't have had this conversation if we had hashtags instead of packages (#CallAndMessage #NullDereference #C++ #AllPlatforms #UndefinedBehavior #SecurityCritical #PathSensitive #Stable #2012).
>
> Could you detail this a bit?


Wait, did i never mention this before?

Like, i mean, the tree of packages that we currently have is a wrong abstraction. We shouldn't be asking the user questions like "Is this checker alpha or unix?" or "Are you looking for a checker for C++ or for finding portability issues?". These are different, independent classifications but our tree-like package structure implicitly assumes that these "or"s are exclusive. We partially mitigate this by introducing conventions for package naming (like "alpha package has the same layout as the root package") but we could achieve the same naturally by simply introducing multiple classifications. The most ad-hoc approach that's better than the current situation would be twitter-like hashtags. A better - stricter but still sufficiently flexible - approach would be to have some actual different classifications: "language:C++ platform:unix stability:alpha severity:undefinedbehavior" etc. Like, these would let the user to make easy single-word `-enable-checker`/`-disable-checker` queries like "please disable all null dereference checks (regardless of which individual indivisible checker implements them)" or "please disable all path-sensitive checkers because i want a super quick analysis" or "please only warn me when you've found an actual crash in the program, i don't care about coding convention violations or portability issues".


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D77866





More information about the cfe-commits mailing list