[cfe-dev] Building upon the clang static analyzer
ganna at apple.com
Mon Apr 8 14:37:35 PDT 2013
The static analyzer is different from AST matchers as its main focus is on path sensitive program analyzes (though it does have AST-based rules as well). See Building a Checker in 24 Hours talk from http://llvm.org/devmtg/2012-11/.
One limitation is that it does not have cross-translation unit support. Also, due to its nature, it is generally slower than AST matching.
The analyzer does support C++ and there has been a lot of improvements over the last year. However, we have some limitations modeling symbolic execution of certain C++ constructs. Note that these limitations do not effect AST based checkers.
On Apr 6, 2013, at 11:12 AM, Gábor Kozár <kozargabor at gmail.com> wrote:
> We're working on a static analysis tool that would enforce certain design (coding) rules in some private C++ projects. So far we've been working on a custom tool, using clang libtooling, to implement some fairly trivial checks using AST matchers - however, we realized that building upon the clang static analyzer would be a much better choice, especially when implementing more complicated checks.
> I have had a quick look at the static analyzer source code, and it appears to me that it's basically an ASTFrontendAction (lib/StaticAnalyzer/FrontendActions.h), which to me indicates that this is "just another" tool built upon clang libtooling. Is this correct?
> It would be extremely convenient for us if it were so, because we could extend it seamlessly with our custom checkers into a custom analyzer tool.
> I also read on the website of the static analyzer that C++ support is not complete. However, I'm not sure how up-to-date the information on that website is kept, so I'll just ask it here: what is the state of the C++ (and C++11) support?
> (Btw, we are very impressed by clang, and its static analyzer. Thank you for all your hard work! You guys are amazing!)
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the cfe-dev