http://xradar.sourceforge.net


Statics Report - System: 1.0, Version: 0, Date: TodayDesigned for use with Checkstyle, CKJM, FindBugs, JavaNCSS, JDepend, Macaron, PMD, PMD-CPD, Java2HTML and Ant.

[Statics] code

[scorecard] [analysis] [explanations]
{overview} {architecture} {design} {code} {test} {source control} {system specific}

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 MetricsTotal PackagesTotal ClassesBC ClassesSource StatementsCyclomatic ComplexityCmplx. per Stmnt.Cmplx. per Meth.Violations/ Source Stmts.Style errors/ Source Stmts.Duplicated Tokens / Source Stmts.
Total1492256225655861187870.342.350.271.080.54
api module.00000 0 0 NaNNaNNaN
client module.00000 0 0 NaNNaNNaN
codec module.00000 0 0 NaNNaNNaN
common module.00000 0 0 NaNNaNNaN
config module.00000 0 0 NaNNaNNaN
configuration module.00000 0 0 NaNNaNNaN
dtx module.00000 0 0 NaNNaNNaN
exchange module.00000 0 0 NaNNaNNaN
extras module.00000 0 0 NaNNaNNaN
filter module.00000 0 0 NaNNaNNaN
framing module.00000 0 0 NaNNaNNaN
interop module.00000 0 0 NaNNaNNaN
jms module.00000 0 0 NaNNaNNaN
jndi module.00000 0 0 NaNNaNNaN
management module.00000 0 0 NaNNaNNaN
naming module.00000 0 0 NaNNaNNaN
nclient module.00000 0 0 NaNNaNNaN
njms module.00000 0 0 NaNNaNNaN
oldtopic module.00000 0 0 NaNNaNNaN
ping module.00000 0 0 NaNNaNNaN
plugins module.00000 0 0 NaNNaNNaN
pool module.00000 0 0 NaNNaNNaN
protocol module.00000 0 0 NaNNaNNaN
qman module.00000 0 0 NaNNaNNaN
requestreply module.00000 0 0 NaNNaNNaN
sasl module.00000 0 0 NaNNaNNaN
security module.00000 0 0 NaNNaNNaN
server module.00000 0 0 NaNNaNNaN
ssl module.00000 0 0 NaNNaNNaN
sustained module.00000 0 0 NaNNaNNaN
test module.00000 0 0 NaNNaNNaN
testkit module.00000 0 0 NaNNaNNaN
thread module.00000 0 0 NaNNaNNaN
tools module.00000 0 0 NaNNaNNaN
topic module.00000 0 0 NaNNaNNaN
transport module.00000 0 0 NaNNaNNaN
url module.00000 0 0 NaNNaNNaN
util module.00000 0 0 NaNNaNNaN
Not Classified00000 0 0 NaNNaNNaN

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.

#PackageSource Statements
1org.apache.qpid.client5663
2org.apache.qpid.management.ui.views3075
3org.apache.qpid.client.message2893
4org.apache.qpid.framing2706
5org.apache.qpid.server.queue2525
6org.apache.qpid.server.handler1615
7org.apache.qpid.transport1467
8org.apache.mina.transport.socket.nio1349
9org.apache.qpid.server.exchange1305
10org.apache.qpid.management.domain.model1146
11org.apache.qpid.server.filter943
12org.apache.qpid.server.store943
13org.apache.qpid.management.wsdm.capabilities916
14org.apache.qpid.transport.codec853
15org.apache.qpid.tools.messagestore.commands846
16org.apache.qpid.filter764
17org.apache.qpid.client.handler730
18org.apache.qpid.util716
19org.apache.qpid.server.protocol709
20org.apache.qpid.requestreply694

#PackageCyclomatic Complexity
1org.apache.qpid.client2068
2org.apache.qpid.framing1223
3org.apache.qpid.client.message1179
4org.apache.qpid.server.queue954
5org.apache.qpid.management.ui.views771
6org.apache.qpid.transport583
7org.apache.qpid.server.handler507
8org.apache.mina.transport.socket.nio459
9org.apache.qpid.server.filter419
10org.apache.qpid.server.exchange393
11org.apache.qpid.transport.codec393
12org.apache.qpid.management.domain.model375
13org.apache.qpid.filter374
14org.apache.qpid.util300
15org.apache.qpid.server.store284
16org.apache.qpid.tools.messagestore.commands284
17org.apache.qpid.client.handler278
18org.apache.qpid.server.protocol259
19org.apache.qpid.client.protocol220
20org.apache.qpid.server.management218