<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"><style>body { line-height: 1.5; }blockquote { margin-top: 0px; margin-bottom: 0px; margin-left: 0.5em; }div.FoxDiv20191005193535596303 { }body { font-size: 10.5pt; font-family: 微软雅黑; color: rgb(0, 0, 0); line-height: 1.5; }</style></head><body> 
<div><span></span>Hi, </div><div>Thanks for your answer, Gabor. I understand what you are saying.  In my situation, it can be acceptable to have some false positives. The most important is, to report as many bugs in one time analysis would be much more efficient for a quick development-testing cycle, such as in a CI environment. So, I want to hacking it to make some change based on the standard Clang Static Analyzer. I'm reading the source code now, but I need some guide on this, where should I start the work.</div><div><br></div><div>Regards,</div>
<div> </div>
<hr style="WIDTH: 210px; HEIGHT: 1px" align="left" color="#b5c4df" size="1">
<div><span>jiancai.hao@isemp.com</span></div>
<blockquote style="margin-Top: 0px; margin-Bottom: 0px; margin-Left: 0.5em"><div> </div><div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm"><div style="PADDING-RIGHT: 8px; PADDING-LEFT: 8px; FONT-SIZE: 12px;FONT-FAMILY:tahoma;COLOR:#000000; BACKGROUND: #efefef; PADDING-BOTTOM: 8px; PADDING-TOP: 8px"><div><b>From:</b> <a href="mailto:xazax.hun@gmail.com">Gábor Horváth</a></div><div><b>Date:</b> 2019-10-05 17:29</div><div><b>To:</b> <a href="mailto:jiancai.hao@isemp.com">jiancai.hao@isemp.com</a></div><div><b>CC:</b> <a href="mailto:cfe-dev@lists.llvm.org">cfe-dev</a></div><div><b>Subject:</b> Re: [cfe-dev] How to change the Clang Static Analyzer checking way</div></div></div><div><div class="FoxDiv20191005193535596303"><div dir="ltr"><div>Hi,</div><div><br></div><div>When there is a fatal error found in the code there is no way to meaningfully update the analysis state and continue the analysis. This implies once the analyzer finds a fatal error on a path the analysis will stop there and no additional bugs will be reported from that path. This is by design and the alternatives we have would introduce additional false positives.</div><div><br></div><div>If you have compilation errors, you do not have a complete representation of the code in Clang. The static analyzer does not support the analysis of incomplete ASTs. Running the analyzer on incomplete AST would result in spurious warnings and bad user experience.</div><div><br></div><div>Cheers,</div><div>Gabor<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, 5 Oct 2019 at 10:37, <a href="mailto:jiancai.hao@isemp.com">jiancai.hao@isemp.com</a> 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> 
<div><span></span>Hi, Dear cfe-dev,</div><div><br></div><div>For Clang Static Analyzer, we are interested in it very much. I'm planning to implements such checking ways for my projects:</div><div><br></div><div>(1) When there are two same defects in the same function, we hope to find and report them all out, for example, if there are two divided by zero errors:</div><div><br></div><div>int main() {</div><div>    int n = 0;</div><div>    int a = 10;</div><div>    a = a/n;                     // Clang Static Analyzer will report div zero bug here, and will stop to check the following codes.</div><div>    a = 10/n;                   // I hope to report this div zero bug also, how to do?</div><div>}</div><div><br></div><div>(2) I hope to continue to complete the static analysis, even if the source code has compling errors, how to deal with it?</div><div><br></div><div>Regards,</div><div><br></div>
<hr style="width:210px;height:1px" size="1" color="#b5c4df" align="left">
<div><span><a href="mailto:jiancai.hao@isemp.com" target="_blank">jiancai.hao@isemp.com</a></span></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>
</div></div></blockquote></body></html>