[cfe-dev] How to change the Clang Static Analyzer checking way

Gábor Horváth via cfe-dev cfe-dev at lists.llvm.org
Sat Oct 5 02:29:48 PDT 2019


Hi,

When there is a fatal error found in the code there is no way to
meaningfully update the analysis state and continue the analysis. This
implies once the analyzer finds a fatal error on a path the analysis will
stop there and no additional bugs will be reported from that path. This is
by design and the alternatives we have would introduce additional false
positives.

If you have compilation errors, you do not have a complete representation
of the code in Clang. The static analyzer does not support the analysis of
incomplete ASTs. Running the analyzer on incomplete AST would result in
spurious warnings and bad user experience.

Cheers,
Gabor

On Sat, 5 Oct 2019 at 10:37, jiancai.hao at isemp.com via cfe-dev <
cfe-dev at lists.llvm.org> wrote:

> Hi, Dear cfe-dev,
>
> For Clang Static Analyzer, we are interested in it very much. I'm planning
> to implements such checking ways for my projects:
>
> (1) When there are two same defects in the same function, we hope to find
> and report them all out, for example, if there are two divided by zero
> errors:
>
> int main() {
>     int n = 0;
>     int a = 10;
>     a = a/n;                     // Clang Static Analyzer will report div
> zero bug here, and will stop to check the following codes.
>     a = 10/n;                   // I hope to report this div zero bug
> also, how to do?
> }
>
> (2) I hope to continue to complete the static analysis, even if the source
> code has compling errors, how to deal with it?
>
> Regards,
>
> ------------------------------
> jiancai.hao at isemp.com
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20191005/064d37bb/attachment.html>


More information about the cfe-dev mailing list