Update release notes for static analyzer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65624 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Ted Kremenek
2009-02-27 07:01:32 +00:00
parent c52551dfa2
commit 8b3894cdfd

View File

@@ -133,28 +133,25 @@ list</a>.</p>
<div class="doc_text"> <div class="doc_text">
<p>The Clang project also includes an early stage static source code analysis <p>Previously announced in the last LLVM release, the Clang project also
tool for <a href="http://clang.llvm.org/StaticAnalysis.html">automatically includes an early stage static source code analysis tool for <a
finding bugs</a> in C and Objective-C programs. The tool performs a growing set href="http://clang.llvm.org/StaticAnalysis.html">automatically finding bugs</a>
of checks to find bugs that occur on a specific path within a program. Examples in C and Objective-C programs. The tool performs a growing set of checks to find
of bugs the tool finds include logic errors such as null dereferences, bugs that occur on a specific path within a program.</p>
violations of various API rules, dead code, and potential memory leaks in
Objective-C programs. Since its inception, public feedback on the tool has been
extremely positive, and conservative estimates put the number of real bugs it
has found in industrial-quality software on the order of thousands.</p>
<p>The tool also provides a simple web GUI to inspect potential bugs found by <p>In the LLVM 2.5 time-frame there have been many significant improvements to
the tool. While still early in development, the GUI illustrates some of the key the analyzer's core path simulation engine and machinery for generating
features of Clang: accurate source location information, which is used by the path-based bug reports to end-users. Particularly noteworthy improvements
GUI to highlight specific code expressions that relate to a bug (including those include experimental support for full field-sensitivity and reasoning about heap
that span multiple lines); and built-in knowledge of macros, which is used to objects as well as an improved value-constraints subengine that does a much
perform inline expansion of macros within the GUI itself.</p> better job of reasoning about inequality relationships (e.g., <tt>x &gt; 2</tt>)
between variables and constants.
<p>The set of checks performed by the static analyzer is gradually expanding, <p>The set of checks performed by the static analyzer continue to expand, and
and future plans for the tool include full source-level inter-procedural future plans for the tool include full source-level inter-procedural analysis
analysis and deeper checks such as buffer overrun detection. There are many and deeper checks such as buffer overrun detection. There are many opportunities
opportunities to extend and enhance the static analyzer, and anyone interested to extend and enhance the static analyzer, and anyone interested in working on
in working on this project is encouraged to get involved!</p> this project is encouraged to get involved!</p>
</div> </div>