http://xradar.sourceforge.net


Statics Report - System: 1.0-SNAPSHOT, Version: 0, Date: TodayDesigned for use with Checkstyle, CKJM, Cobertura, FindBugs, JavaNCSS, JDepend, JUnit, 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.
Total6414113862050.151.4902.010
Web.Application155291550.191.5702.380
Web.Pages429299311050.111.501.980
Web.Common177164450.271.3601.510
Service00000 0 0 NaNNaNNaN
Service.Data00000 0 0 NaNNaNNaN
Service.External00000 0 0 NaNNaNNaN
Model.Application00000 0 0 NaNNaNNaN
Model.External00000 0 0 NaNNaNNaN
Model.Common00000 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
1com.hack23.cia.web.impl.ui.page.user600
2com.hack23.cia.web.impl.ui.application291
3com.hack23.cia.web.impl.ui.page.admin185
4com.hack23.cia.web.impl.ui.common164
5com.hack23.cia.web.impl.ui.page.common96
6com.hack23.cia.web.impl.ui.page.dev50
7com.google.api.translate
8com.google.gwt.language.client.translation
9com.hack23.cia.model.external.itsyourparliament.mepinfo.impl
10com.hack23.cia.model.external.riksdagen.person.impl
11com.hack23.cia.model.external.worldbank.countries.impl
12com.hack23.cia.model.external.worldbank.indicators.impl
13com.hack23.cia.model.internal.application.data.impl
14com.hack23.cia.service.api
15com.hack23.cia.service.data.api
16com.vaadin
17com.vaadin.data
18com.vaadin.service
19com.vaadin.terminal
20com.vaadin.terminal.gwt.server

#PackageCyclomatic Complexity
1com.hack23.cia.web.impl.ui.page.user62
2com.hack23.cia.web.impl.ui.application55
3com.hack23.cia.web.impl.ui.common45
4com.hack23.cia.web.impl.ui.page.common24
5com.hack23.cia.web.impl.ui.page.admin16
6com.hack23.cia.web.impl.ui.page.dev3
7com.google.api.translate
8com.google.gwt.language.client.translation
9com.hack23.cia.model.external.itsyourparliament.mepinfo.impl
10com.hack23.cia.model.external.riksdagen.person.impl
11com.hack23.cia.model.external.worldbank.countries.impl
12com.hack23.cia.model.external.worldbank.indicators.impl
13com.hack23.cia.model.internal.application.data.impl
14com.hack23.cia.service.api
15com.hack23.cia.service.data.api
16com.vaadin
17com.vaadin.data
18com.vaadin.service
19com.vaadin.terminal
20com.vaadin.terminal.gwt.server