[cfe-dev] static analyzer status?
Artem Dergachev via cfe-dev
cfe-dev at lists.llvm.org
Thu Sep 13 17:31:58 PDT 2018
There were slight improvements, but our ad-hoc constraint solver quickly
becomes unmaintainable (algorithmic complexity exponentially explodes)
while we try to squeeze more features into it.
There was also an attempt to use Z3, i.e. a full-featured theorem
prover, instead of our ad-hoc solver. Z3 supports everything, but makes
the analyzer significantly slower (imagine 10x-20x). This is very
experimental and was never supported, because it seems to be a dead end
due to a huge performance hit.
Finally, last GSoC there was an attempt to use both constraint solvers:
use ad-hoc solver during analysis (to quickly eliminate infeasible paths
and report bugs), and then cross-check with Z3 only when the actual bug
report is emitted. This fixes the problem when it comes to eliminating
false positives, but it doesn't allow the analyzer to find new classes
of bugs. This completely avoids any performance problems and looks very
promising, and while this is still not officially supported, we'll
probably be looking more into this to see if we'll be able to ship this
somehow, probably with a different SMT or SAT solver if we run into
problems with Z3. See
http://lists.llvm.org/pipermail/cfe-dev/2018-August/058912.html for more
details.
So if your main problem is false positives there's much more hope to see
a solution available soon-ish than if your main problem is being able to
find these specific bugs.
On 9/13/18 3:00 PM, Lou Wynn via cfe-dev wrote:
>
> Hi,
>
> I have watched the Building a Checker in 24 Hours slide
> (http://llvm.org/devmtg/2012-11/Zaks-Rose-Checker24Hours.pdf). It
> mentioned that one limitation of the Constraint Solver is that it
> can't handle multiple symbols (page 83). The talk was given in 2012.
> I'm wondering if this limitation has been removed now in 2018.
>
> --
> Thanks,
> Lou
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://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/20180913/1b383085/attachment.html>
More information about the cfe-dev
mailing list