<!doctype html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta http-equiv="content-style-type" content="text/css">
<link rel="stylesheet" type="text/css" href="style.css">
<title>ProGuard Quality</title>
</head>
<body>

<h2>Quality</h2>

In order to get a feel for the quality of the <b>ProGuard</b> code, it is run
through a regular automatic build process. This process produces numerous
statistics on the source code, Java lint comments, Java documentation
comments, the Java documentation itself, html lint comments on the Java
documentation, spell checks, compilation results, an output jar, dead code
analysis, a shrunk and obfuscated jar (using ProGuard itself!), test runs with
memory and performance analyses, etc. Most analyses are produced using freely
available tools. The results are poured into a convenient set of web pages
using bash/sed/awk scripts. You're welcome to have a look at an uploaded
snapshot of one of these runs:
<p>
<center><a href="http://proguard.sourceforge.net/quality/"
target="other">Automated Code Analysis and Testing Pages</a> (at <a
href="http://sourceforge.net/projects/proguard/"
target="other">SourceForge</a>)</center>
<p>
The pages will appear in a new window, which you probably want to view at
full-screen size.
<p>

In addition, <b>ProGuard</b> is tested against a constantly growing test suite
(more than 500 tests at this time of writing). These small programs contain a
wide range of common and uncommon constructs, in order to detect any regression
problems as soon as possible.

<hr>
<address>
Copyright &copy; 2002-2009
<a href="http://www.graphics.cornell.edu/~eric/">Eric Lafortune</a>.
</address>
</body>
</html>
