зеркало из https://github.com/microsoft/clang.git
157 строки
4.7 KiB
HTML
157 строки
4.7 KiB
HTML
<!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 find 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 (Intel-only, 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>
|
|
|