<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:small">Hi,<br><br>Thanks for the help!</div><div class="gmail_default" style="font-size:small"><br>I have followed this guide(<a href="https://github.com/haoNoQ/clang-analyzer-guide" target="_blank">https://github.com/haoNoQ/clang-analyzer-guide</a>) also. Even though it was little outdated, it helped to learn about basic ideas like Exploded Graph and Symbolic Values. And with a little bit of googling I was able to implement the simple checker (to find a main call) given in the guide.</div><div class="gmail_default" style="font-size:small">As you suggested, I will have a look at <a href="https://github.com/llvm/llvm-project/blob/master/clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp" target="_blank">InnerPointerChecker.cpp</a> implementation.<div></div><br></div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">----<br>Regards,<br><font face="'courier new', monospace">Nithin</font><br></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Mar 7, 2020 at 3:46 PM Csaba Dabis <<a href="mailto:dabis.csaba98@gmail.com">dabis.csaba98@gmail.com</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">Hey!<div><br></div><div>This is a tiny bit outdated, but very great booklet which is must have:</div><div><a href="https://github.com/haoNoQ/clang-analyzer-guide" target="_blank">https://github.com/haoNoQ/clang-analyzer-guide</a><br></div><div><br></div><div>I believe you have missed that tutorial, and there is another cool checker which tries to model the inner pointer of a string, something similar idea to check the guts of a smart pointer:</div><div><a href="https://github.com/llvm/llvm-project/blob/master/clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp" target="_blank">InnerPointerChecker.cpp</a><br></div><div><br></div><div>That was another GSoC project: <a href="https://rnkovacs.com/gsoc2018/" target="_blank">https://rnkovacs.com/gsoc2018/</a></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Mar 7, 2020 at 1:41 PM Nithin Vadukkumchery Rajendrakumar via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">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"><div style="font-size:small"><p style="color:rgb(14,16,26);background:transparent;margin-top:0pt;margin-bottom:0pt"><span style="background:transparent;margin-top:0pt;margin-bottom:0pt">Greetings,</span></p><p style="color:rgb(14,16,26);background:transparent;margin-top:0pt;margin-bottom:0pt"><br></p><p style="color:rgb(14,16,26);background:transparent;margin-top:0pt;margin-bottom:0pt"><span style="background:transparent;margin-top:0pt;margin-bottom:0pt">I am interested to participate in GSoC 2020. I am particularly interested in the project idea  "Find null smart pointer dereferences with the Static Analyzer". </span><span style="background-color:transparent">I am doing my masters in computer science and interested in program analysis and verification. I thought GSoC2020 will be a wonderful opportunity to learn more about Clang Static Analyzer and contribute. </span></p><p style="color:rgb(14,16,26);background:transparent;margin-top:0pt;margin-bottom:0pt"><br></p><p style="color:rgb(14,16,26);background:transparent;margin-top:0pt;margin-bottom:0pt"><span style="background:transparent;margin-top:0pt;margin-bottom:0pt">I have started reading about smart pointers in C++ to get a good grasp of the concepts. Also, has some experience in implementing Clang Static Analyzer simple checks(similar to SimpleStreamChecker) from the tutorials. I read through few available tutorials and have some basic idea about </span><span style="color:rgb(34,34,34)">Control Flow Graph, </span><span style="color:rgb(34,34,34)">Exploded Graph and Symbolic Values. </span><span style="background:transparent;margin-top:0pt;margin-bottom:0pt">I have read the paper "A memory model for static analysis of C programs" to get some theoretical background. I also started looking into </span><a href="https://github.com/llvm/llvm-project/blob/master/clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp" style="background:transparent;margin-top:0pt;margin-bottom:0pt;color:rgb(74,110,224)" target="_blank"><span style="background:transparent;margin-top:0pt;margin-bottom:0pt">NullabilityChecker.cpp</span></a><span style="background:transparent;margin-top:0pt;margin-bottom:0pt"> to understand the codebase.</span></p></div><div style="font-size:small"><p style="color:rgb(14,16,26);background:transparent;margin-top:0pt;margin-bottom:0pt"><span style="background-color:transparent">I would like to know is this the right place to look? </span><br></p><p style="color:rgb(14,16,26);background:transparent;margin-top:0pt;margin-bottom:0pt"><span style="background:transparent;margin-top:0pt;margin-bottom:0pt">Could anyone please help me on what should I do next?<br><br></span></p></div><div><div dir="ltr">----<br><span class="gmail_default" style="font-size:small">Thanks & </span>Regards,<br><font face="'courier new', monospace">Nithin<span class="gmail_default" style="font-size:small"></span></font><br></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>
</blockquote></div></div>