<commit_before><html>
<head>
<title>FindBugs - A Bug Pattern Detector for Java</title>
</head>

<body>

<h1>FindBugs - A Bug Pattern Detector for Java</h1>

<p> @RELEASE_DATE@, Version @VERSION@

<h1>Contents</h1>
<ol>
<li> <a href="#Intro">Introduction</a>
<li> <a href="#Using">Using FindBugs</a>
<li> <a href="#Free">FindBugs is free software</a>
<li> <a href="#Authors">Authors</a>
<li> <a href="#Acknowledgements">Acknowledgements</a>
</ol>

<h1><a name="Intro">1. Introduction</a></h1>

<p> FindBugs is a program to find bugs in Java programs.  It looks for instances
of "bug patterns" --- code instances that are likely to be errors.

<p> This document describes version @VERSION@ of FindBugs.&nbsp; This is a very
early release of the tool, so you should expect to find problems with it.&nbsp; We
are very interested in getting your feedback on FindBugs.&nbsp; Please visit
the <a href="http://www.cs.umd.edu/~pugh/java/bugs">FindBugs web page</a> for
the latest information on FindBugs, contact information, and support resources such
as information about the FindBugs mailing lists.

<h1><a name="Using">2. Using FindBugs</a></h1>

<p> FindBugs has two user interfaces, a graphical interface and a command line
interface.

<h2>2.1 Using the Graphical interface</h2>

<p>To use the graphical interface, execute the command

<pre>
  java -jar $INST_DIR/lib/findbugsGUI.jar
</pre>

where "$INST_DIR" is the directory in which you installed the FindBugs distribution.

<p> To start a new project, choose the "File:New Project" menu option.&nbsp; You will see
a dialog which looks like this:

<p> <img src="project-dialog.png">

<p> Use the "Browse" button next to the "Jar file" text field to select a Jar file
containing java classes to analyze for bugs.&nbsp; You may add multiple Jar files.&nbsp;
Optionally, you can add the source directories which contain the source code for
the Jar files you are analyzing.&nbsp; This will enable FindBugs to highlight the
source code which contains a possible error.

<p> Once you have added all of the Jar files and source directories, click the 
"Find Bugs!" button to analyze the classes contained in the Jar files.&nbsp;
Note that for a very large program on an older computer, this may take quite a while (tens of minutes).&nbsp;
A recent computer with ample memory will typically be able to analyze a large
program in only a few minutes.&nbsp; For example, on a 1.8 GHz Pentium 4 Xeon, we can
analyze the <code>rt.jar</code> file (26 MB) from Sun's JDK 1.4.2-beta in about 6 minutes.&nbsp;
In any case, a dialog will report the progress of the analysis.

<p> When the analysis completes, you will see a screen like the following:

<p> <img src="example.png">

<p> The top pane of the window shows the <em>bug tree</em>; this is a hierarchical representation
of all of the potential bugs detected in the analyzed Jar files.&nbsp; The tabs allow you
to browse by class, package, or bug type.

<p> When you select a particular <em>bug instance</em> in the top pane, you will see a description
of the bug in the "Details" tab of the bottom pane.&nbsp; In addition, the "Source code" tab
of the bottom pane will, for some kinds of bugs, show the program source code when the
potential bug occurs.&nbsp; In the above example, the bug is an access to an uninitialized
field in a constructor.&nbsp; The source code window highlights the line containing the
problematic access.

<p> You may use the "File:Save project" menu option to save the current
lists of Jar files and source directories.&nbsp; A saved project may be loaded
with the "File:Open project" menu option.&nbsp; Note that the analysis results
are not saved, so you will have to run the analysis again.&nbsp; (Saving results
may be added to a future FindBugs release).

<h2>2.2 Using the command line interface</h2>

<p> To use the command line interface, execute the command

<pre>
  java -jar $INST_DIR/lib/findbugs.jar [-sortByClass] <em>file1.jar</em> <em>file2.jar</em>
</pre>

where "$INST_DIR" is the directory in which you installed FindBugs.&nbsp; You can list any
number of Jar files (or plain class files).&nbsp; The -sortByClass option may be used
to sort the reported bug instances by class name.&nbsp; The results will be sent
to the standard output file descriptor.

<h1><a name="Free">3. FindBugs is free software</a></h1>

<p> FindBugs is free software distributed under the terms of the
<a href="http://www.gnu.org/licenses/lgpl.html">Lesser GNU Public License</a>.&nbsp;
You can find the latest version of FindBugs, along with its source code, from the
FindBugs web page: <a href="http://www.cs.umd.edu/~pugh/java/bugs">http://www.cs.umd.edu/~pugh/java/bugs</a>.

<h1><a name="Authors">4. Authors</a></h1>

<p> FindBugs was written by <a href="http://www.cs.umd.edu/~pugh/"><NAME></a>
and <a href="http://www.cs.umd.edu/~daveho/"><NAME></a> as part of
research on the Java programming language at the <a href="http://www.cs.umd.edu/">University
of Maryland Department of Computer Science</a>.

<h1><a name="Acknowledgements">5. Acknowledgements</a></h1>

<p> FindBugs uses the <a href="http://jakarta.apache.org/bcel/">Byte Code Engineering Library</a>.

<p> Some of the icons in the FindBugs graphical interface were taken from the
<a href="http://www.netbeans.org/">NetBeans</a> and <a href="http://www.kde.org/">KDE</a>
projects.

</body>
</html><commit_msg>Some updates for version 0.5.1<commit_after><html>
<head>
<title>FindBugs - A Bug Pattern Detector for Java</title>
</head>

<body>

<h1>FindBugs - A Bug Pattern Detector for Java</h1>

<p> @RELEASE_DATE@, Version @VERSION@

<h1>Contents</h1>
<ol>
<li> <a href="#Intro">Introduction</a>
<li> <a href="#Using">Using FindBugs</a>
<li> <a href="#Free">FindBugs is free software</a>
<li> <a href="#Authors">Authors</a>
<li> <a href="#Acknowledgments">Acknowledgments</a>
</ol>

<h1><a name="Intro">1. Introduction</a></h1>

<p> FindBugs is a program to find bugs in Java programs.  It looks for instances
of "bug patterns" --- code instances that are likely to be errors.

<p> This document describes version @VERSION@ of FindBugs.&nbsp; This is an
early release of the tool, so you may find problems with it.&nbsp; We
are very interested in getting your feedback on FindBugs.&nbsp; Please visit
the <a href="http://www.cs.umd.edu/~pugh/java/bugs">FindBugs web page</a> for
the latest information on FindBugs, contact information, and support resources such
as information about the FindBugs mailing lists.

<h1><a name="Using">2. Using FindBugs</a></h1>

<p> FindBugs has two user interfaces, a graphical interface and a command line
interface.

<h2>2.1 Using the Graphical interface</h2>

<p>To use the graphical interface, execute the command

<pre>
  java -jar $INST_DIR/lib/findbugsGUI.jar [options...]
</pre>

where "$INST_DIR" is the directory in which you installed the FindBugs distribution.

<h3>2.1.1 Command line options</h3>

<p> Several command line options are available.

<ul>
<li> The <code>-plastic</code> option makes the user interface use the Plastic
look and feel from <a href="http://www.jgoodies.com/">jgoodies.com</a>.&nbsp; To use this
option, download the plastic look and feel, and copy the <code>plastic.jar</code>
file into the $INST_DIR/lib directory.&nbsp; The Plastic look and feel more
closely resembles common desktop GUI environments than does Swing's default
Metal look and feel.
<li> The <code>-debug</code> option causes the FindBugs program to print
the names of classes and the analyses being performed to the standard
output descriptor.
</ul>

<h3>2.1.2 Creating a project</h3>

<p> To start a new project, choose the "File:New Project" menu option.&nbsp; You will see
a dialog which looks like this:

<p> <img src="project-dialog.png">

<p> Use the "Browse" button next to the "Jar file" text field to select a Jar file
containing java classes to analyze for bugs.&nbsp; You may add multiple Jar files.&nbsp;
Optionally, you can add the source directories which contain the source code for
the Jar files you are analyzing.&nbsp; This will enable FindBugs to highlight the
source code which contains a possible error.

<h3>2.1.3 Running the analysis</h3>

<p> Once you have added all of the Jar files and source directories, click the 
"Find Bugs!" button to analyze the classes contained in the Jar files.&nbsp;
Note that for a very large program on an older computer, this may take quite a while (tens of minutes).&nbsp;
A recent computer with ample memory will typically be able to analyze a large
program in only a few minutes.&nbsp; For example, on a 1.8 GHz Pentium 4 Xeon, we can
analyze the <code>rt.jar</code> file (26 MB) from Sun's JDK 1.4.2-beta in about 6 minutes.&nbsp;
In any case, a dialog will report the progress of the analysis.

<h3>2.1.4 Browsing results</h3>

<p> When the analysis completes, you will see a screen like the following:

<p> <img src="example.png">

<p> The top pane of the window shows the <em>bug tree</em>; this is a hierarchical representation
of all of the potential bugs detected in the analyzed Jar files.&nbsp; The tabs allow you
to browse by class, package, or bug type.

<p> When you select a particular <em>bug instance</em> in the top pane, you will see a description
of the bug in the "Details" tab of the bottom pane.&nbsp; In addition, the "Source code" tab
of the bottom pane will, for some kinds of bugs, show the program source code when the
potential bug occurs.&nbsp; In the above example, the bug is an access to an uninitialized
field in a constructor.&nbsp; The source code window highlights the line containing the
problematic access.

<p> You may use the "File:Save project" menu option to save the current
lists of Jar files and source directories.&nbsp; A saved project may be loaded
with the "File:Open project" menu option.&nbsp; Note that the analysis results
are not saved, so you will have to run the analysis again.&nbsp; (Saving results
may be added to a future FindBugs release).

<h2>2.2 Using the command line interface</h2>

<p> To use the command line interface, execute the command

<pre>
  java -jar $INST_DIR/lib/findbugs.jar [-sortByClass] <em>file1.jar</em> <em>file2.jar</em>
</pre>

where "$INST_DIR" is the directory in which you installed FindBugs.&nbsp; You can list any
number of Jar files (or plain class files).&nbsp; The -sortByClass option may be used
to sort the reported bug instances by class name.&nbsp; The results will be sent
to the standard output file descriptor.

<h1><a name="Free">3. FindBugs is free software</a></h1>

<p> FindBugs is free software distributed under the terms of the
<a href="http://www.gnu.org/licenses/lgpl.html">Lesser GNU Public License</a>.&nbsp;
You can find the latest version of FindBugs, along with its source code, from the
FindBugs web page: <a href="http://www.cs.umd.edu/~pugh/java/bugs">http://www.cs.umd.edu/~pugh/java/bugs</a>.

<h1><a name="Authors">4. Authors</a></h1>

<p> FindBugs was written by <a href="http://www.cs.umd.edu/~pugh/"><NAME></a>
and <a href="http://www.cs.umd.edu/~daveho/"><NAME></a> as part of
research on the Java programming language at the <a href="http://www.cs.umd.edu/">University
of Maryland Department of Computer Science</a>.

<h1><a name="Acknowledgments">5. Acknowledgments</a></h1>

<p> This product includes software developed by the
Apache Software Foundation (<a href="http://www.apache.org/">http://www.apache.org/</a>).&nbsp;
Specifically, it uses the <a href="http://jakarta.apache.org/bcel/">Byte Code Engineering Library</a>.

<p> Some of the icons used in the FindBugs graphical interface were taken from the
<a href="http://www.netbeans.org/">NetBeans</a> and <a href="http://www.kde.org/">KDE</a>
projects.

</body>
</html>
{'fraction_non_alphanumeric': 0.11207704764339896, 'fraction_numerical': 0.008437739708514446, 'mean_word_length': 4.555871212121212, 'pattern_counts': {'":': 0, '<': 242, '<?xml version=': 0, '>': 242, 'https://': 0, 'lorem ipsum': 0, 'www.': 21, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3368732', 'n_tokens_mistral': 3739, 'n_tokens_neox': 3549, 'n_words': 1619}