[www] r325314 - Add static analyzer projects for GSoC 2018 to the open projects page

Devin Coughlin via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 15 20:09:39 PST 2018


Author: dcoughlin
Date: Thu Feb 15 20:09:38 2018
New Revision: 325314

URL: http://llvm.org/viewvc/llvm-project?rev=325314&view=rev
Log:
Add static analyzer projects for GSoC 2018 to the open projects page


Modified:
    www/trunk/OpenProjects.html

Modified: www/trunk/OpenProjects.html
URL: http://llvm.org/viewvc/llvm-project/www/trunk/OpenProjects.html?rev=325314&r1=325313&r2=325314&view=diff
==============================================================================
--- www/trunk/OpenProjects.html (original)
+++ www/trunk/OpenProjects.html Thu Feb 15 20:09:38 2018
@@ -43,6 +43,15 @@
             </li>
         </ul>
    </li>
+   <li>
+        <b>Clang Static Analyzer</b>
+        <ul>
+            <li><a href="#analyzer-std-string-checker">Create a checker for dangling string pointers in C++</a>
+            </li>
+            <li><a href="#analyzer-z3-smt">Integrate with Z3 SMT solver to reduce false positives</a>
+            </li>
+        </ul>
+   </li>
    </ul>
   </li>
   <li><a href="#gsoc17">Google Summer of Code 2017</a>
@@ -404,6 +413,45 @@ main <a href="https://developers.google.
 </div>
 
 <!-- *********************************************************************** -->
+<div class="www_subsection">
+  <a>Clang Static Analyzer</a>
+</div>
+<!-- *********************************************************************** -->
+
+<!-- *********************************************************************** -->
+<div class="www_subsubsection">
+  <a name="analyzer-std-string-checker">Create a checker for dangling string pointers in C++.</a>
+</div>
+<!-- *********************************************************************** -->
+
+<div class="www_text">
+  <p><b>Description of the project: </b>
+    The C++ std::string class provides a c_str() method that returns a raw pointer to a string's inner character buffer. When a std::string is destroyed, the character buffer is deallocated. A common bug is to access a dangling raw pointer to the buffer after string deallocation. These "use after free" bugs can cause crashes or other unexpected behavior. 
+    <br />
+    This project will add a new checker to the static analyzer to find when a dangling inner string pointer is used. This will help find bugs not only with std::string and c_str() but also with LLVM's StringRef class and the new C++17 std::string_view.
+  </p>
+  <p><b>Confirmed Mentor:</b> Artem Dergachev</p>
+  <p><b>Desirable skills:</b> Intermediate knowledge of C++.</p>
+</div>
+
+<!-- *********************************************************************** -->
+<div class="www_subsubsection">
+  <a name="analyzer-z3-smt">Integrate with Z3 SMT solver to reduce false positives.</a>
+</div>
+<!-- *********************************************************************** -->
+
+<div class="www_text">
+  <p><b>Description of the project: </b>
+    The static analyzer finds bugs by exploring many possible paths through a program. To reduce false positives, it uses a very fast but imprecise custom constraint manager to rule out infeasible paths that cannot actually be executed at run time.
+    <br />    
+    This project will extend the analyzer to use the <a href="https://github.com/Z3Prover/z3/wiki">Z3 SMT solver</a> to rule out additional infeasible paths by postprocessing bug reports. This will help the analyzer reduce false positives when the path involves complicated branches that the built-in constraint manager cannot reason about.
+  </p>
+  <p><b>Confirmed Mentor:</b> George Karpenkov</p>
+  <p><b>Desirable skills:</b> Intermediate knowledge of C++ and basic familiarity with the capabilities SMT solvers</p>
+</div>
+
+
+<!-- *********************************************************************** -->
 <div class="www_sectiontitle">
   <a name="gsoc17">Google Summer of Code 2017</a>
 </div>




More information about the llvm-commits mailing list