[cfe-dev] C++ analysis with Clang?
Jim Goodnow II
Jim at TheGoodnows.net
Mon Jun 4 16:06:04 PDT 2012
On 6/4/2012 2:57 PM, Anna Zaks wrote:
>
> On Jun 1, 2012, at 6:36 PM, Karl Mazurak wrote:
>
>> Hi all -
>>
>> Our group is considering using Clang for some program analysis,
>> primarily aimed at bug-hunting. We're targeting C++, which I understand
>> means the static analyzer isn't an option just yet,
>> but it looks like
>> there's still plenty there that could be useful - so much that I'm not
>> sure what to start experimenting with.
>>
>> The plugin tutorial uses a PluginASTAction and links to an example with
>> a RecursiveASTVisitor, but of course we'd like to avoid reinventing the
>> wheel (at coding time or at run time) as much as possible. For
>> instance, are CFGs pre-constructed somewhere?
>
> CFG is part of Analyzes library and is used by both clang and the
> analyzer.
> You can use ViewCFG and DumpCFG checkers to see how C++ statements are
> modeled (and what the deficiencies are):
> *clang -cc1 -analyze -analyzer-checker=debug.ViewCFG test.c*
>
>> Does the dataflow
>> framework in Analysis/FlowSensitive work with C++?
> The analyzer's C++ support is work in progress. You can run the
> analyzer's path sensitive checkers on C++ code, however, it does not
> reason about many C++ concepts.
>
Actually, except for some of the new c++11 concepts like lambdas, most
are currently handled and the analyzer can already be very useful for
C++ programs.
>> Is this Sema of any
>> use outside the path-sensitive analyzer?
>
> You can write a non-path-sensitive checkers, which visit different AST
> nodes (AST does have full C++ support). See AST Visitors in
> http://clang-analyzer.llvm.org/checker_dev_manual.html#ast.
>
>> And is there anything in Clang
>> that could be useful in aggregating results together in whole program
>> analysis?
>>
>
> The static analyzer does not currently support whole program analysis.
>
>> Thanks!
>>
>> --
>> Karl
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at cs.uiuc.edu <mailto:cfe-dev at cs.uiuc.edu>
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>
>
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20120604/1977fcc3/attachment.html>
More information about the cfe-dev
mailing list