[cfe-dev] Questions about Clang libtooling and Clang Static Analyzer
salim yahia kissi via cfe-dev
cfe-dev at lists.llvm.org
Tue Nov 30 00:21:41 PST 2021
Dear Mr. Artem,
Thank you so much for the answer.
I really appreciate the help of the community, thank you for your support.
Best regards.
Salim .Y Kissi
Le mar. 30 nov. 2021 à 06:46, Artem Dergachev <noqnoqneo at gmail.com> a
écrit :
> > 3) Does Clang Static Analyzer consider any specific target (X86, arm,
> ...etc) during the analysis
>
> Yes, it assumes the same target that the file is compiled against. It
> influences the analysis in a few ways, eg. the static analyzer assumes
> integer sizes to be appropriate for the target. If you want to analyze for
> a different target you need to build for that target.
>
> Most clang tools that work on the AST (eg. clang-tidy) will work the same.
> You cannot build the AST without specifying the target, and the resulting
> AST will be specific to that target.
>
> On 11/28/21 8:59 AM, salim yahia kissi via cfe-dev wrote:
>
> Dear everyone,
> First of all, I would like to thank all Chairs, organizers, speakers and
> the community for making LLVM DEVELOPERS' MEETING such an amazing event.
>
> I'm a beginner to clang libtooling so basically i'm building a tool using
> RecursiveAstVistor and i have a couple questions (please correct me if i'm
> not on the right way or not using the right library) to detect some bugs
> reaching *a program point* (given as entry for the analysis) and include
> some reasoning about the potential exploit using an smt solver such z3 :
>
> 1) Is there a way to track the possible values that a variable can take
> on each program's point execution ? (open source)
>
> I got an answer during the "Round Table - Clang Static Analyzer" about the
> new google's dataflow framework as well as some details in the mailing list
> but the framework is not yet accessible.
>
> 2) is there a way to get possible substitutions of a variable at a
> specific program point as shown in the following example :
>
> void foo(){
>
> v1=expr1;
>
> if(cond1){
>
> v1=expr2;
>
> }
>
> bar(v1); // v1 == expr1 || expr2
>
> }
>
> 3) Does Clang Static Analyzer consider any specific target (X86, arm,
> ...etc) during the analysis :
>
> - only the machine's target in which the analysis is performed?
>
> - no specific target is considered?
>
> - the target can be customized?
>
>
> 4) Is there any document/ressource that helps newcomers/beginners to map
> the right tool/lib or possible alternatives for any specific need whether
> for (optimizations, bug detection, etc).
>
>
> Best regards.
>
> Salim .Y Kissi
>
>
>
>
>
> _______________________________________________
> cfe-dev mailing listcfe-dev at lists.llvm.orghttps://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/20211130/ac9ec81e/attachment-0001.html>
More information about the cfe-dev
mailing list