Statics Report -
System: 1.0,
Version: 0,
Date: Today | Designed for use with
Checkstyle,
CKJM,
FindBugs,
JavaNCSS,
JDepend,
Macaron,
PMD,
PMD-CPD,
Java2HTML
and
Ant.
|
Code Metrics
For each histogram column, you can roll over the diagrams to get details on the contents on which subsystem the column relates to.
Click on it to go to a detailed view. On the bottom of the screen the data is presented in tabular form.
Code Metrics | Total Packages | Total Classes | BC Classes | Source Statements | Cyclomatic Complexity | Cmplx. per Stmnt. | Cmplx. per Meth. | Violations/ Source Stmts. | Style errors/ Source Stmts. | Duplicated Tokens / Source Stmts. |
Total | 121 | 1054 | 1054 | 43812 | 18789 | 0.43 | 3.57 | 0.01 | 0.14 | 0.86 |
Ant | 1 | 5 | 5 | 323 | 108 | 0.33 | 2.35 | 0 | 0.13 | 0 |
CPD | 1 | 77 | 77 | 1800 | 548 | 0.3 | 3.08 | 0 | 0.14 | 0 |
DCD | 3 | 22 | 22 | 1153 | 475 | 0.41 | 2.99 | 0 | 0.21 | 0.25 |
renderers | 1 | 18 | 18 | 909 | 214 | 0.24 | 2.23 | 0 | 0.1 | 0 |
language definition module | 54 | 603 | 603 | 34775 | 15855 | 0.46 | 3.77 | 0.01 | 0.15 | 1.07 |
stat | 1 | 2 | 2 | 61 | 18 | 0.3 | 1.12 | 0 | 0.31 | 0 |
util | 10 | 88 | 88 | 2933 | 845 | 0.29 | 3.12 | 0 | 0.12 | 0.03 |
Not Classified | 0 | 0 | 0 | 0 | 0 |
0
|
0
| NaN | NaN | NaN |
Duplications
The matrix below presents in what way and to what degree code duplications are found in the
modules in the analysed system. Each dot represents a duplication between two classes. The size of the dots represents the number of
duplications the two classes are involved in between each other. Dots on the
diagonal represent duplications within a class. Notice that each side of the diagonal is equal. This
is no coincidence since they are each others mirror image.
By pointing your mouse over the dots you will see the details of that duplication. Click to
go to the class.
Pareto Principle
Theory
The Pareto Principle states that a minority of input produces the majority of results. This principle is often called the 80%:20% rule. The principle originates
from economics, but is often just as applicable to other types of systems such as software. In the following graphs Aggregated Source Statements and Aggregated
Cyclomatic Complexity per package is plotted.
Needed Actions
According to the theroy the aggregated results will in most cases go though the 80:20 / 70:30 box. That
is not necessarily assert a bad design. Still, it proves the point that most of the logics and development effort in the system is focused on a limited number of
packages. You may in such cases consider to split up the main packages or pull together the smallest packages to get
the curve to go below the 80:20 / 70:30 box. That will probably make the package structure more balanced. Note that if all the packages are of equal size, the curve
will be linear (y=x).
See the explanations for
Source Statements and
Cyclomatic Complexity for more on their definitions.