[cfe-dev] Questions about Clang libtooling and Clang Static Analyzer

salim yahia kissi via cfe-dev cfe-dev at lists.llvm.org
Sun Nov 28 08:59:32 PST 2021


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20211128/93a6071c/attachment.html>


More information about the cfe-dev mailing list