<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Regarding questions 1 and 2, the new dataflow framework (<a href="https://reviews.llvm.org/D114234">https://reviews.llvm.org/D114234</a>) should do that and we're working as fast as possible to upstream that. May take a few weeks but we seem to be on target for ~end-of-year if you can wait a bit.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Nov 28, 2021 at 11:59 AM salim yahia kissi via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Dear everyone,<div>First of all, I would like to thank all Chairs, organizers, speakers and the community for making LLVM DEVELOPERS' MEETING such an amazing event.   </div><div><br><div><p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">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 <b>a program point</b> (given as entry for the analysis) and include some reasoning about the potential exploit using an smt solver </span>such z3 <span style="font-size:11pt">: </span></p><p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:11pt">1)</span><span lang="EN-US" style="font-size:11pt"><span style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman""> </span></span><span lang="EN-US" style="font-size:11pt">Is there
a way to track the possible values that a variable can take on each program's point execution ? (open source</span><span style="font-size:11pt">)</span></p><p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US" style="font-size:11pt">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.</span></p><p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:11pt">2) is there a way to get possible substitutions of a variable at a specific program point as shown in the following example :</span><br></p><p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt"><font face="verdana, sans-serif">void foo(){</font></p><p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt"><font face="verdana, sans-serif">  v1=expr1;</font></p><p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt"><span style="font-size:11pt"><font face="verdana, sans-serif">  if(cond1){</font></span></p><p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt"><font face="verdana, sans-serif">    v1=expr2;</font></p><p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt"><font face="verdana, sans-serif">  }</font></p><p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt"><font face="verdana, sans-serif"><span style="font-size:11pt">  bar(v1); <span style="background-color:rgb(255,255,0)">// v1 == expr1 || expr2</span></span><br></font></p><p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt"><font face="verdana, sans-serif">}</font></p><p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif">3) Does Clang Static Analyzer consider any specific target (X86, arm, ...etc) during the analysis :<span style="font-size:11pt">  </span></p><p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:11pt">   - only the machine's target in which the analysis is performed?</span></p><p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif">   - no specific target is considered?</p><p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif">   - the target can be customized?</p><p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><br></p><p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:11pt">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).</span><br></p><p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:11pt"><br></span></p><p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:11pt">Best regards.</span><br></p><p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:11pt">Salim .Y Kissi </span></p><p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US"> </span></p><p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US"><br></span></p></div></div></div>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div>