You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
is an advanced source code analysis tool integrated into Clang that performs
259
+
a deep analysis of code to find potential bugs.</p>
260
+
261
+
<p>In the LLVM 3.2 release, the static analyzer has made significant improvements
262
+
in many areas, with notable highlights such as:</p>
263
+
264
+
<ul>
265
+
<li>Improved interprocedural analysis within a translation unit (see details below), which greatly amplified the analyzer's ability to find bugs.</li>
266
+
<li>New infrastructure to model "well-known" APIs, allowing the analyzer to do a much better job when modeling calls to such functions.</li>
267
+
<li>Significant improvements to the APIs to write static analyzer checkers, with a more unified way of representing function/method calls in the checker API. Details can be found in the <ahref="http://llvm.org/devmtg/2012-11#talk13">Building a Checker in 24 hours</a> talk.
268
+
</ul>
269
+
270
+
<p>The release specifically includes notable improvements for Objective-C analysis, including:</p>
271
+
272
+
<ul>
273
+
<li>Interprocedural analysis for Objective-C methods.</li>
274
+
<li>Interprocedural analysis of calls to "blocks".</li>
275
+
<li>Precise modeling of GCD APIs such as <tt>dispatch_once</tt> and friends.</li>
276
+
<li>Improved support for recently added Objective-C constructs such as array and dictionary literals.</li>
277
+
</ul>
278
+
279
+
<p>The release specifically includes notable improvements for C++ analysis, including:</p>
280
+
281
+
<ul>
282
+
<li>Interprocedural analysis for C++ methods (within a translation unit).</li>
283
+
<li>More precise modeling of C++ initializers and destructors.</li>
284
+
</ul>
285
+
286
+
<p>Finally, this release includes many small improvements to <tt>scan-build</tt>, which can be used to drive the analyzer from the command line or a continuous integration system. This includes a directory-traversal issue, which could cause potential security problems in some cases. We would like to acknowledge Tim Brown of Portcullis Computer Security Ltd for reporting this issue.</p>
0 commit comments