<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<!--
* Copyright © 1997, 2014, Oracle and/or its affiliates. All rights reserved.
* Use is subject to license terms.
-->

<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
        <title>Static Code Analysis in the NetBeans IDE Java Editor</title>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8"></meta>
        <meta name="author" content="Alyona.Stashkova@netbeans.org"></meta>
        <meta name="description" content="Overview of static analysis of the java code functionality in the NetBeans IDE."></meta>
        <meta name="keywords" content="NetBeans, IDE, integrated development environment, Java editor, code analysis, inspections, configurations"></meta>
        <link rel="stylesheet" type="text/css" href="../../../netbeans.css"></link>
        <link rel="stylesheet" type="text/css" href="../../../lytebox.css" media="screen"></link>
        <script type="text/javascript" src="../../../images_www/js/lytebox-compressed.js"></script>
    </head>

<body><a name="top"></a>

<h1>Static Code Analysis in the NetBeans IDE Java Editor</h1>
 <div class="articledate" style="margin-left: 0px;">Jan Lahoda, Alyona Stashkova</div>
<p>The NetBeans IDE Java Editor has a   static code analysis feature, which is a tool for finding potential problems and detecting inconsistencies in your source code. </p>
<p>In this tutorial, you will learn how to perform static analysis of your Java code using FindBugs and NetBeans Java Hints without actually running your applications.</p>

<h3>Contents</h3>
<img  src="../../../images_www/articles/80/netbeans-stamp.png"
              class="stamp" alt="Content on this page applies to NetBeans IDE 8.0"
              title="Content on this page applies to the NetBeans IDE 8.0" />

        <ul class="toc">
            <li><a href="#setup">Setting Up the Tutorial Environment</a></li>
			
			<li><a href="#config">Using Configurations</a>
			<ul>
			<li><a href="#all">Running All Analyzers</a></li>
			<li><a href="#hints">Verifying Java Code against NetBeans Java Hints</a></li>
			<li><a href="#fb">Finding Potential Problems in Java Code with Findbugs</a></li>
			<li><a href="#default">Customizing a Default Configuration</a></li>
			</ul>
			</li>
			<li><a href="#create">Creating and Deleting Configurations</a></li>
			<li><a href="#inspect">Running Single Inspections</a></li>
			
			<li><a href="#summary">Summary</a></li>
            <li><a href="#seealso">See Also</a></li>
        </ul>

        <h2><a name="reqs"></a>Requirements</h2>
        <p><strong>To complete this tutorial, you need the following software and resources.</strong></p>
        <table>
            <tbody>
                <tr>
                    <th class="tblheader" scope="col">Software or Resource</th>
                    <th class="tblheader" scope="col">Version Required</th>
                </tr>
                <tr>
                    <td class="tbltd1"><a href="http://netbeans.org/downloads/index.html" target="_blank">NetBeans IDE</a></td>
                    <td class="tbltd1">Version 8.0 </td>
                </tr>
                <tr>
                    <td class="tbltd1"><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" target="_blank">Java Development Kit</a> (JDK)</td>
                    <td class="tbltd1">Version 7 and higher</td>
                </tr>
				<tr>
                    <td class="tbltd1"><a href="https://netbeans.org/projects/samples/downloads/download/Samples/Java/library.zip" target="_blank">library.zip</a></td>
                    <td class="tbltd1">NetBeans project</td>
                </tr>
				<tr>
                    <td class="tbltd1"><a href="http://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/2.0.0/jsr305-2.0.0.jar">jsr305-2.0.0.jar</a></td>
                    <td class="tbltd1">Java Specification Request intended to improve the effectiveness of static analysis tools</td>
                </tr>
                
            </tbody>
        </table>
<p class="notes"><b>Note:</b> <tt>jsr305-2.0.0.jar</tt> is included into <tt>library.zip</tt> for the purposes of this tutorial. </p>
<p>If using another NetBeans project, <a href="http://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/2.0.0/jsr305-2.0.0.jar">jsr305-2.0.0.jar</a> should be downloaded and added to the Libraries folder of the your project in the  IDE as follows:</p>
  <ol>
<li>Right-click the Libraries folder and choose the Add JAR/Folder from the popup menu. </li>
<li>In the Add JAR/Folder dialog box, specify the path to the downloaded <tt>jsr305-2.0.0.jar</tt> file and click Open. 
  <p class="align-center"><img src="../../../images_www/articles/80/java/code-inspect/jar.png"
                     alt="jsr305-2.0.0.jar added" border=1/></p></li>
</ol>
        
<a name="setup"></a>
<h2>Setting Up the Tutorial Environment</h2>
<p>In addition to the required software listed above you should have the following installed on your computer:</p>
<ul>
<li>The <a href="https://netbeans.org/projects/samples/downloads/download/Samples/Java/library.zip" target="_blank">library.zip</a> file should be unzipped into your NetBeans project folder and opened in the NetBeans IDE.</li>	

<li><a name="plugin"></a>The FindBugs plugin should be downloaded and installed into the NetBeans IDE as follows:
  <ol>
<li>Choose Source &gt; Inspect from the main IDE's menu.</li>
<li>In the Inspect dialog box, click Install. 
<p class="align-center"><a href="../../../images_www/articles/80/java/code-inspect/inspect.png" rel="lytebox" title="Inspect dialog box - Click to enlarge">
					   <img src="../../../images_www/articles/80/java/code-inspect/inspect-small.png" alt="Inspect dialog box" border=1/></a></p></li>
<li>In the Installer dialog box, click Next to proceed with the installation.
<p class="align-center"><a href="../../../images_www/articles/80/java/code-inspect/plugin.png" rel="lytebox" title="Installing the plugin - Click to enlarge">
					   <img src="../../../images_www/articles/80/java/code-inspect/plugin-small.png" alt="Installing the plugin" border=1/></a></p></li>
<li>Review the license agreement, select the license agreement option, and click Install.</li> 
<li>When the installation is complete, click Finish.</li>
</ol></li>
</ul>
<a name="config"></a>
<h2>Using Predefined Configurations</h2>
<p>You can use the following predefined configurations when inspecting your code in the NetBeans IDE:</p>
<ul>
			<li><a href="#all">All Analyzers</a></li>
			<li><a href="#hints">NetBeans Java Hints</a></li>
			<li><a href="#fb">FindBugs</a></li>
			<li><a href="#default">Default</a></li>
			
</ul>

        <a name="all"></a>
        <h3>Running All Analyzers</h3> 
        <p>The <tt>All Analyzers</tt> configuration deploys all static code analysis tools available in the IDE.</p>
		<p><b>To run the <tt>All Analyzers</tt> configuration, complete the following steps:</b></p>
		<ol>
           <li>Choose Source &gt; Inspect from the main IDE's toolbar.</li>
           <li>In the Scope drop-down list of the Inspect dialog box, select <tt>Current Project (library)</tt>.</li>
           <li>In the Configuration drop-down list, select the <tt>All Analyzers</tt> configuration.
             <p class="align-center"><a href="../../../images_www/articles/80/java/code-inspect/allconfig.png" rel="lytebox" title="All Analyzers configuration selected - Click to enlarge">
	      <img src="../../../images_www/articles/80/java/code-inspect/allconfig-small.png" alt="All Analyzers configuration selected" border=1/></a></p>
		  <p class="notes"><b>Note:</b> You need to install the <a href="#plugin">FindBugs</a> plugin to run this configuration for the first time.</p></li>
           <li>Click Inspect.<br/>
		   The results of the analysis are displayed in the Inspector Window as a tree view on the left.
		     <p class="align-center"><a href="../../../images_www/articles/80/java/code-inspect/all.png" rel="lytebox" title="All Analyzers configuration run - Click to enlarge">
		   <img src="../../../images_www/articles/80/java/code-inspect/all-small.png" alt="All Analyzers configuration run" border=1/></a></p>
		   The description of the currently selected in the tree view finding is displayed on the right. 
		   <p class="align-center"><a href="../../../images_www/articles/80/java/code-inspect/alldescription.png" rel="lytebox" title="Description - Click to enlarge">
		   <img src="../../../images_www/articles/80/java/code-inspect/alldescription-small.png" alt="Description" border=1/></a></p>
		   
		   <p class="notes"><b>Note:</b> If you want to leave some part of your code that is reported as problematic as is, the IDE allows you to suppress the warning for this code to leave it without any changes. You can double-click a warning in the tree view of the Inspector Window to go to the Source Editor. Press Alt-Enter, click the black arrow pointing to the right at the end of the displayed hint, and choose <tt>SuppressWarning - <i>(warning name)</i></tt>.</p>
		   <p class="align-center"><a href="../../../images_www/articles/80/java/code-inspect/suppress.png" rel="lytebox" title="Suppressing a warning - Click to enlarge">
		   <img src="../../../images_www/articles/80/java/code-inspect/suppress-small.png" alt="Suppressing a warning" border=1/></a></p>
           </li>
       
	   </ol>
	   
	   
         <a name="hints"></a>
		<h3>Verifying Java Code against NetBeans Java Hints</h3>
		<p>The <tt>NetBeans Java Hints</tt> configuration available in the IDE enables you to verify if the predefined coding standard rules are satisfied by the source code under consideration. In other words, it applies a set of NetBeans Java Hints (also known as code inspections) to your Java source files.</p>
		<p><b>To run the <tt>NetBeans Java Hints</tt> configuration, complete the following steps:</b></p>
		<ol>
		<li>Choose Source &gt; Inspect from the main IDE's toolbar.</li>
		<li>In the Scope drop-down list of the Inspect dialog box, select <tt>Open Projects</tt> (if you have only one <tt>library</tt> project open in the IDE) or <tt>Current Project (library)</tt>.
		<p class="notes"><b>Note:</b> You can define a scope (a file, package, or project(s)) for the <tt>NetBeans Java Hints</tt> configuration.</p>
		</li>
		<li>Select the Configuration radio button and choose <tt>NetBeans Java Hints</tt> in the drop-down list.
		 <p class="align-center"><a href="../../../images_www/articles/80/java/code-inspect/hints.png" rel="lytebox" title="Selecting NetBeans Java Hints - Click to enlarge">
	      <img src="../../../images_www/articles/80/java/code-inspect/hints-small.png" alt="Selecting NetBeans Java Hints" border=1/></a></p> </li>
		<li>Click Inspect.<br/>
		The IDE displays the  tree view with the results of the analysis with the <tt>NetBeans Java Hints</tt> configuration in the Inspector Window.
		<p class="align-center"><img src="../../../images_www/articles/80/java/code-inspect/hintsconfig.png" alt="NetBeans Java Hints configuration run" border=1/></p></li>
		<li>In the Inspector Window, click the <a href="#categorize">Categorize</a> button in the toolbar on the left to view the problems grouped into categories. 
		<p class="align-center"><img src="../../../images_www/articles/80/java/code-inspect/catview.png" alt="Found problems grouped into categories" border=1/></p>		
		The following table displays the commands available in the Inspector Window.  
		    <table width="600px">
                    <tr>
                        <th class="tblheader" scope="col">Icon</th>
                        <th class="tblheader" scope="col" style="width:110px">Name</th>
                        <th class="tblheader" scope="col">Function</th>
                    </tr>
					 <tr>
                        <td class="tbltd1 align-center"><img src="../../../images_www/articles/80/java/code-inspect/refreshbutton.png"
                                                             alt="Refresh icon"/></td>
                        <td class="tbltd1 align-center"><strong>Refresh</strong></td>
                        <td class="tbltd1">Displays a refreshed list of the static analysis results. </td>
                    </tr>
					
					 <tr>
                        <td class="tbltd1 align-center"><img src="../../../images_www/articles/80/java/code-inspect/upbutton.png"
                                                             alt="Previous icon"/></td>
                        <td class="tbltd1 align-center"><strong>Previous Problem</strong></td>
                        <td class="tbltd1">Displays the previous problem in the list of the static analysis results.</td>
                    </tr>
					
					 <tr>
                        <td class="tbltd1 align-center"><img src="../../../images_www/articles/80/java/code-inspect/downbutton.png"
                                                             alt="Next icon"/></td>
                        <td class="tbltd1 align-center"><strong>Next Problem</strong></td>
                        <td class="tbltd1">Displays the following problem in the list of the static analysis results.</td>
                    </tr>					
                    <tr>
                        <td class="tbltd1 align-center"><img src="../../../images_www/articles/80/java/code-inspect/categorizebutton.png"
                                                             alt="Categorize icon"/></td>
                        <td class="tbltd1 align-center"><a name="categorize"></a><strong>Categorize</strong></td>
                        <td class="tbltd1">Toggles the collapsed view of the problems detected in a file,  project, or package or the categorized view of all the detected problems. </td>
                    </tr>
          </table>
</li>
		</ol>
		
        <a name="fb"></a>
		<h3>Finding Potential Problems in Java Code with FindBugs</h3>		
		<p>The <tt>FindBugs</tt> configuration available in the IDE enables you to find a wide range of potential problems in your code. It invokes the popular open source FindBugs  tool for code analysis in Java. The bug report gets generated and is displayed in the Inspector Window of the  NetBeans IDE, which  categorizes all the found problems and allows direct navigation from the bugs in the report to the suspicious code. You can also read a bug description in the adjacent window or review it at the <a href="http://findbugs.sourceforge.net/bugDescriptions.html">FindBugs Bug Descriptions</a> page by the pointer provided at the top of the left frame. </p>
		<p class="notes"><b>Note:</b> You need to install the <a href="#plugin">FindBugs</a> plugin to run this configuration for the first time.</p>
		<p><b>To identify potential errors in your Java code with the <tt>FindBugs</tt> configuration, complete the following steps:</b></p>
		<ol>
		<li>Open the <tt>library</tt> project in the NetBeans IDE and choose Source &gt; Inspect from the main toolbar.</li>
		<li>In the Scope drop-down list of the Inspect dialog box, select  <tt>Current Project (library)</tt>.
		<p class="notes"><b>Note:</b> You can inspect a file, package, or project(s) with the <tt>FindBugs</tt> configuration.</p></li>
		<li>In the Inspect dialog box, select the <tt>FindBugs</tt> configuration.
		<p class="align-center"><a href="../../../images_www/articles/80/java/code-inspect/fb.png" rel="lytebox" title="FindBugs configuration selected - Click to enlarge">
					   <img src="../../../images_www/articles/80/java/code-inspect/fb-small.png" alt="FindBugs configuration selected" border=1/></a></p></li>
		<li>Click the Inspect button to initiate the static code analysis.<br/>
		The result of the static code analysis is displayed in the Inspector Window below the Source Editor.<br>
		 The description of the selected bug is displayed in the frame on the right.
		<p class="align-center"><a href="../../../images_www/articles/80/java/code-inspect/inspector.png" rel="lytebox" title="Inspector Window - Click to enlarge">
					   <img src="../../../images_www/articles/80/java/code-inspect/inspector-small.png" alt="Inspector Window" border=1/></a></p></li>
		<li>Alternatively, click the <a href="#categorize">Categorize</a> button in the toolbar on the left to view the bugs grouped into categories. 
		  <p class="align-center"><img src="../../../images_www/articles/80/java/code-inspect/fbcat.png" alt="Found bugs grouped into categories" border=1/></p></li>
		
		</ol>
		<p class="notes"><b>Notes:</b></p>
		<ul>
		<li>If you double-click an issue in the expanded list, the IDE displays the reported issue in the Source Editor. <br/>
		Press Alt-Enter to view the bug description in the source code.
		  <p class="align-center"><a href="../../../images_www/articles/80/java/code-inspect/source-editor.png" rel="lytebox" title="Reported issue in the Source Editor - Click to enlarge">
	      <img src="../../../images_www/articles/80/java/code-inspect/source-editor-small.png" alt="Reported issue in the Source Editor" border=1/></a></p></li>
		<li>Potential errors are highlighted in the code with exclamation mark icons (<img src="../../../images_www/articles/80/java/code-inspect/exclamation.png" alt="exclamation mark icon"/>) in the left margin of the Source Editor.</li>
		</ul>
		
		<p><b>To enable FindBugs in the Java Editor, complete the following steps:</b></p>
		<ol>
		<li>Choose Tools &gt; Options in the main IDE's toolbar.</li>
		<li>Select the Editor tab and choose Hints. </li>
		<li>Choose <tt>FindBugs</tt> in the Language drop-down list. 
		<p class="align-center"><a href="../../../images_www/articles/80/java/code-inspect/fb-editor.png" rel="lytebox" title="Enabling FindBugs in the Source Editor - Click to enlarge">
	      <img src="../../../images_www/articles/80/java/code-inspect/fb-editor-small.png" alt="Enabling FindBugs in the Source Editor" border=1/></a></p></li>
		<li>Select the Run FindBugs in Editor option.</li>
		<li>Click OK.<br/>
		If you now press Alt-Enter in the source code where a bug is reported and click  the black arrow pointing to the right at the end of the displayed tip, the IDE shows some fixing options for a 
		  potential bug.
		  <p class="align-center"><a href="../../../images_www/articles/80/java/code-inspect/fbenabled.png" rel="lytebox" title="FindBugs enabled in the Source Editor - Click to enlarge">
	      <img src="../../../images_www/articles/80/java/code-inspect/fbenabled-small.png" alt="FindBugs enabled in the Source Editor" border=1/></a></p></li>
		</ol>
		 <a name="default"></a>
        <h3>Customizing a Default Configuration</h3>
        <p>While working on your code you may need to customize a predefined configuration that includes your own NetBeans Java hints or FindBugs bugs.</p>		
<p><b>To tailor a predefined <tt>Default</tt> configuration to your own needs, complete the following steps:</b></p>
<ol>
<li>Choose Source &gt; Inspect from the main IDE's toolbar.</li>
<li>In the Inspect dialog box, select the Configuration radio button and select the <tt>Default</tt> configuration.
<li> Click Manage.<br/>
  The IDE displays the Configurations dialog box.
<p class="align-center">
	      <img src="../../../images_www/articles/80/java/code-inspect/configurations-db.png" alt="Configurations dialog box" border=1/></p></li>
<li>Ensure <tt>Default</tt> is selected in the Configurations drop-down list. </li>
<li>In the Analyzer drop-down list, select the <tt>JRE 8 Profiles Conformance</tt>, <tt>Netbeans Java Hints</tt>, or <tt>FindBugs</tt> analyzer.</li>
<li>Depending on the choice of the analyzer in the previous step, select the profile to validate, the inspections, or bugs you need to include into your <tt>Default</tt> configuration. 
  <p class="align-center"><a href="../../../images_www/articles/80/java/code-inspect/select-inspections.png" rel="lytebox" title="Selecting inspections - Click to enlarge">
  <img src="../../../images_www/articles/80/java/code-inspect/select-inspections-small.png" alt="Selecting inspections" border=1/></a></p></li>
<li>Click OK to save your <tt>Default</tt> configuration.</li>
</ol>	

		<a name="create"></a>
<h2>Creating and Deleting Configurations</h2>
<p>You can create and delete your own configurations to be used in the static analysis of your Java code.</p>	
<p><b>To create a configuration, complete the following steps:</b> </p>
<ol>
		<li>Choose Source &gt; Inspect from the main IDE's toolbar.</li>
		<li>In the Inspect dialog box, select the Configuration radio button and select the <tt>Default</tt> configuration.
        <li> Click Manage.</li>
		<li>In the Configurations dialog box, click the black arrow at the end of the Configurations drop-down list and choose New. 
		<p class="align-center">
  <img src="../../../images_www/articles/80/java/code-inspect/newconfig.png" alt="Creating a configuration" border=1/></p>
         A <tt>newConfig</tt> configuration is created and added to the Configurations drop-down list. 
		 <p class="align-center">
  <img src="../../../images_www/articles/80/java/code-inspect/newconfig-created.png" alt="newConfig in the Configuration list" border=1/></p></li>
		<li>In the Analyzer drop-down list, choose <tt>JRE 8 Profiles Conformance</tt>, <tt>Netbeans Java Hints</tt>, or <tt>FindBugs</tt>.</li>
		<li>Specify the profile, inspections, or bugs to be included into your own configuration. </li>
		<li>Click OK to save your edits and close the Configurations dialog box.<br/>
		The created <tt>newConfig</tt> configuration is available in the Configuration drop-down list of the Inspect dialog box.
		<p class="align-center"><a href="../../../images_www/articles/80/java/code-inspect/newconfig-inspect.png" rel="lytebox" title="New configuration created - Click to enlarge">
  <img src="../../../images_www/articles/80/java/code-inspect/newconfig-inspect-small.png" alt="New configuration created" border=1/></a></p></li>
</ol>
<p class="notes"><b>Note:</b> To rename a configuration, select the <tt>newConfig</tt> configuration in the Configurations drop-down list, click the black arrow at the end of the Configurations drop-down list and choose Rename. Type a new name (for example, <tt>renamedConfig</tt>) and press Enter to save your edits.</p>
<p class="align-center">
  <img src="../../../images_www/articles/80/java/code-inspect/renamedconfig.png" alt="newConfig renamed" border=1/></p>
  <p><b>To delete a configuration, complete the following steps:</b> </p>
<ol>
		<li>Choose Source &gt; Inspect from the main IDE's toolbar.</li>
		<li>In the Inspect dialog box, select the Configuration radio button and select the configuration to be deleted (<tt>renamedConfig</tt> in this example).
        <li> Click Manage.</li>
		<li>In the Configurations dialog box, click the black arrow at the end of the Configurations drop-down list and choose Delete.
		<p class="align-center">
  <img src="../../../images_www/articles/80/java/code-inspect/delete.png" alt="Deleting renamedConfig" border=1/></p></li>
  <li>In the Delete Configuration dialog box, click Yes to confirm the deletion of the configuration.
  <p class="align-center"><img src="../../../images_www/articles/80/java/code-inspect/delete-confirm.png" alt="Confirming the deletion of renamedConfig" border=1/></p>
  The <tt>renamedConfig</tt> configuration is deleted from the Configurations list.
  <!--<p class="align-center"><a href="../../../images_www/articles/72/java/code-inspect/norenamedconfig.png" rel="lytebox" title="No renamedConfig in the Configurations list- Click to enlarge">
  <img src="../../../images_www/articles/72/java/code-inspect/norenamedconfig-small.png" alt="No renamedConfig in the Configurations list" border=1/></a></p>--></li>
</ol>

<p class="notes"><b>Note:</b> Refer to the <a href="http://platform.netbeans.org/tutorials/nbm-java-hint.html">NetBeans Java Hint Module Tutorial</a> for information on how to create a NetBeans module that provides one or more NetBeans Java hints.
</p>

		<a name="inspect"></a>
<h2>Running Single Inspections</h2>
<p>You can inspect your code for a particular deficiency in your source code using the static code analysis feature in the NetBeans IDE. </p>
<p><b>To detect a specific inconsistency or problem in your Java source code with a single inspection, complete the following steps:</b></p>
<ol>
<li>Choose Source &gt; Inspect from the main IDE's menu.</li>
<li>In the Scope drop-down list of the Inspect dialog box, select a file, package, or project(s) to be inspected. </li>
<li>Select Single Inspection and do either of the following:
  <ul>
<li>In the Single Inspection drop-down list, scroll and select a <i>single</i> NetBeans Java hint or FindBugs bug to be used in the source code analysis. 
<p class="align-center"><a href="../../../images_www/articles/80/java/code-inspect/single-inspection.png" rel="lytebox" title="Single Inspection drop-down list - Click to enlarge">
	      <img src="../../../images_www/articles/80/java/code-inspect/single-inspection-small.png" alt="Single Inspection drop-down list" border=1/></a></p></li>
<li>Click Browse to open the Configurations dialog box and, in the Analyzer drop-down list, specify the analyzer and then choose a profile (for the JRE 8 Profile Compliance analyzer), a <i>single</i> inspection (for the NetBeans Java Hints analyzer), or a <i>single</i> bug (for the FindBugs analyzer)  to be used in the source code analysis. Click OK to close the Configurations dialog box.
  <p class="align-center"><a href="../../../images_www/articles/80/java/code-inspect/hint-inspection.png" rel="lytebox" title="Browse Inspections dialog box - Click to enlarge">
      <img src="../../../images_www/articles/80/java/code-inspect/hint-inspection-small.png" alt="Browse Inspections dialog box" border=1/></a></p></li>
</ul>
</li>
<li>In the Inspect dialog box, click Inspect to perform the source code analysis. <br/>
  After the Inspect operation is completed, the hints  that can be applied to your code or bugs that have been found are displayed in the Inspector Window below the Source Editor. </li>
</ol>
        <a name="summary"></a>
<h2>Summary</h2>
<p>This tutorial covers most frequent usages of the static code analysis feature in the NetBeans IDE. Please note that with the static code analysis functionality you  can also perform custom refactorings at a project scope, or apply particular refactoring configurations to several projects open in the IDE, etc. </p>

<p class="align-center"><a href="#top">top</a></p>		
		<div class="feedback-box">
            <a href="/about/contact_form.html?to=3&amp;subject=Feedback:%20Static%20Code%20Analysis%20in%20NetBeans%20IDE">Send Feedback on This Tutorial</a></div>

        <br style="clear:both;"/>
		
		<a name="seealso"></a>
        <h2>See Also</h2>
        
        <p>For related material see the following documents:</p>
        <ul>     
            	
			<li><a href="code-inspect-screencast.html">Video of the Static Code Analysis Feature in the NetBeans IDE</a></li>
			<li><a href="http://wiki.netbeans.org/Java_Hints">Complete List of NetBeans Java Hints</a></li>
			<li><a href="http://wiki.netbeans.org/JavaDeclarativeHintsDescriptionSketch">Description of NetBeans Java Declarative Hints</a></li>
			<li><a href="http://platform.netbeans.org/tutorials/nbm-java-hint.html">NetBeans Java Hint Module Tutorial</a></li>
			<li><a href="http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG613">Using Hints in Source Code
Analysis and Refactoring</a> in <i>Developing Applications with NetBeans IDE</i></li>
			
			
			
          
			
        </ul>
		<p class="align-center"><a href="#top">top</a></p>
</body>
</html>
