1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00

Add static analyzer notes.

llvm-svn: 57475
This commit is contained in:
Ted Kremenek 2008-10-14 05:14:21 +00:00
parent 222e130ee3
commit 158e2c546d

View File

@ -109,11 +109,29 @@ front-end work has started to make significant progress.</p>
<div class="doc_text">
<p>The
<a href="http://clang.llvm.org/StaticAnalysis.html">static analysis tool</a>
<p>The Clang project also includes an early stage static source code analysis
tool for <a href="http://clang.llvm.org/StaticAnalysis.html">automatically
finding bugs</a> in C and Objective-C programs. The tool performs a growing set
of checks to find bugs that occur on a specific path within a program. Examples
of bugs the tool finds include logic errors such as null dereferences,
violations of various API rules, dead code, and potential memory leaks in
Objective-C programs. Since its public announcement at Apple's WWDC 2008
conference, the 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>
[TED]
.</p>
<p>The tool also provides a simple web GUI to inspect potential bugs found by
the tool. While still early in development, the GUI illustrates some of the key
features of Clang: accurate source location information, which is used by the
GUI to highlight specific code expressions that relate to a bug (including those
that span multiple lines) and built-in knowledge of macros, which is used to
perform inline expansion of macros within the GUI itself.</p>
<p>The set of checks perform by the static analyzer is gradually expanding, and
future plans for the tool include full source-level inter-procedural analysis
and deeper checks such as buffer overrun detection. There are many opportunities
to extend and enhance the static analyzer, and anyone interested in working on
this project is encouraged to get involved!</p>
</div>