diff options
author | ed <ed@FreeBSD.org> | 2009-06-02 17:58:47 +0000 |
---|---|---|
committer | ed <ed@FreeBSD.org> | 2009-06-02 17:58:47 +0000 |
commit | f27e5a09a0d815b8a4814152954ff87dadfdefc0 (patch) | |
tree | ce7d964cbb5e39695b71481698f10cb099c23d4a /www/StaticAnalysis.html | |
download | FreeBSD-src-f27e5a09a0d815b8a4814152954ff87dadfdefc0.zip FreeBSD-src-f27e5a09a0d815b8a4814152954ff87dadfdefc0.tar.gz |
Import Clang, at r72732.
Diffstat (limited to 'www/StaticAnalysis.html')
-rw-r--r-- | www/StaticAnalysis.html | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/www/StaticAnalysis.html b/www/StaticAnalysis.html new file mode 100644 index 0000000..81176a9 --- /dev/null +++ b/www/StaticAnalysis.html @@ -0,0 +1,156 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html> +<head> + <title>LLVM/Clang Static Analyzer</title> + <link type="text/css" rel="stylesheet" href="menu.css" /> + <link type="text/css" rel="stylesheet" href="content.css" /> +</head> +<body> + +<!--#include virtual="menu.html.incl"--> + +<div id="content"> + +<h1>LLVM/Clang Static Analyzer</h1> + +<p>The LLVM/Clang static analyzer is a standalone tool that finds bugs in C and +Objective-C programs. Currently the analyzer is invoked as a command-line tool. +It is intended to run in tandem with a build of a project or code base.</p> + +<p>Here are some important points we ask you to consider when using the static +analyzer:</p> + +<ul> + +<li><b>This tool is <b>very early</b> in development.</b> There are many planned +enhancements to improve both the precision and scope of its analysis algorithms +as well as the kinds bugs it will find.</li> + +<li><b>Static analysis can be much slower than compilation.</b> While the +analyzer is being designed to be as fast and light-weight as possible, please do +not expect it to be as fast as compiling a program (even with optimizations +enabled). Some of the algorithms needed to find bugs require in the worst case +exponential time. The analyzer runs in a reasonable amount of time by both +bounding the amount of checking work it will do as well as using clever +algorithms to reduce the amount of work it must do to find bugs.</li> + +<li><b>False positives.</b> Static analysis is not perfect. It can falsely flag +bugs in a program where the code behaves correctly. Because some code checks +require more analysis precision than others, the frequency of false positives +can vary widely between different checks. Our eventual goal is to have the +analyzer have a low false positive rate for most code on all checks.</li> +</ul> + +<h3>Please tell us about False Positives</h3> + +<p>If you encounter a false positive, <b>please let us know</b> by <a +href="StaticAnalysisUsage.html#filingbugs">filing a bug report</a>. False +positives cannot be addressed unless we know about them.</p> + +<h3>Want more bugs?</h3> + +<p>If there are specific kinds of bugs you would like the tool to find, +please feel free to file <a href="StaticAnalysisUsage.html#filingbugs">feature +requests</a>.</p> + +<!-- Generated from: http://www.spiffycorners.com/index.php --> + +<style type="text/css"> +.spiffy{display:block} +.spiffy *{ + display:block; + height:1px; + overflow:hidden; + font-size:.01em; + background:#EBF0FA} +.spiffy1{ + margin-left:3px; + margin-right:3px; + padding-left:1px; + padding-right:1px; + border-left:1px solid #f6f8fc; + border-right:1px solid #f6f8fc; + background:#f0f3fb} +.spiffy2{ + margin-left:1px; + margin-right:1px; + padding-right:1px; + padding-left:1px; + border-left:1px solid #fdfdfe; + border-right:1px solid #fdfdfe; + background:#eef2fa} +.spiffy3{ + margin-left:1px; + margin-right:1px; + border-left:1px solid #eef2fa; + border-right:1px solid #eef2fa;} +.spiffy4{ + border-left:1px solid #f6f8fc; + border-right:1px solid #f6f8fc} +.spiffy5{ + border-left:1px solid #f0f3fb; + border-right:1px solid #f0f3fb} +.spiffyfg{ + background:#EBF0FA} + +.spiffyfg h2 { + margin:0px; padding:10px; +} +</style> + +<style type="text/css"> + #left { float:left; } + #left h2 { margin:1px; padding-top:0px; } + #right { float:left; margin-left:50px; padding:0px ;} + #right h2 { padding:0px; margin:0px; } + #wrappedcontent { padding:15px;} +</style> + +<div id="left"> + <h2>Using the Analyzer</h2> + <ul> + <li><a href="StaticAnalysisUsage.html#Obtaining">Obtaining the Analyzer</a></li> + <li><a href="StaticAnalysisUsage.html#BasicUsage">Basic Usage</a></li> + <li><a href="StaticAnalysisUsage.html#Output">Output of the Analyzer</a></li> + <li><a href="StaticAnalysisUsage.html#RecommendedUsageGuidelines">Recommended Usage Guidelines</a></li> + <li><a href="StaticAnalysisUsage.html#Debugging">Debugging the Analyzer</a></li> + <li><a href="StaticAnalysisUsage.html#filingbugs">Filing Bugs and Feature Requests</a></li> + </ul> +</div> + +<div id="right"> + <b class="spiffy"> + <b class="spiffy1"><b></b></b> + <b class="spiffy2"><b></b></b> + <b class="spiffy3"></b> + <b class="spiffy4"></b> + <b class="spiffy5"></b></b> + + <div class="spiffyfg"> + <div id="wrappedcontent"> + <h2>Download</h2> + <ul> + <li>Mac OS X (Universal, 10.5+): + <p> + <!--#include virtual="latest_checker.html.incl"--> + </p> + </li> + <li><a href="StaticAnalysisUsage.html#OtherUsage">Other Platforms</a> (Building from Source)</li> + </div> + + </div> + + <b class="spiffy"> + <b class="spiffy5"></b> + <b class="spiffy4"></b> + <b class="spiffy3"></b> + <b class="spiffy2"><b></b></b> + <b class="spiffy1"><b></b></b></b> +</div> + + +</div> +</body> +</html> + |