Architecture notes:
Architectural dependencies are calculated at the leaf package level in the web app.
See here for more on architecure diagrams.
|
Snapshot report
Settings
| Classpath: |
See Appendix 1 |
| Granularity: |
"Detail" - includes inner classes, methods and fields
|
| Externals: |
"Hide" - referenced items are not included
|
| Excludes: |
"On" - User-defined items have been excluded from the model
|
| Transformations: | None |
Size
| Jars (and/or classpath directories): | 2 |
| Packages (that contain classes): | 73 |
| Classes (outer): | 700 |
| Classes (all): | 850 |
| Classes (external): | 0 |
| |
| NI (Number of bytecode Instructions): | 146K |
| LOC (Non Comment Non Blank Lines Of Code): | ~63K |
|
Flat Tangles
| Level | #Items | #Tangles | #Tangled items | Biggest | Degree |
| Leaf package | 73 | 2 | 37 | 34 | 47% |
| Jar | 2 | 0 | 0 | 0 | 0% |
| Outer class | 700 | 9 | 359 | 258 | 38% |
Excessive Structural Complexity (XS)
| Cumulative XS: | 146,929 |
| Average XS: | 100% |
XS breakout by metric (and scope)
| Metric (and scope) | Threshold | #Offenders | Offenses (%) | XS contribution |
| Tangled (design)
| 0 | 5
of
21 | 24% | 42% |
| Fat (design)
| 120 | 0
of
21 | 0% | 0% |
| Fat (leaf package)
| 120 | 3
of
73 | 4% | 26% |
| Fat (class)
| 120 | 8
of
850 | 1% | 27% |
| Fat (method)
| 15 | 40
of
6,210 | 1% | 5% |
| Total | | 100% |
Tangled (design):
5
| Item | Value |
net.sourceforge.pmd | 40% |
net.sourceforge.pmd.lang.ast | 12% |
net.sourceforge.pmd.dcd | 6% |
net.sourceforge.pmd.lang.java | 2% |
net.sourceforge.pmd.lang | 1% |
Fat (design)
No items exceed the threshold for Fat at the design level.
Fat (leaf package):
3
| Item | Value |
net.sourceforge.pmd.lang.java.ast | 768 |
net.sourceforge.pmd.lang.ecmascript.ast | 322 |
net.sourceforge.pmd.lang.jsp.ast | 164 |
Fat (class):
Top 5 (of 8)
| Item | Value |
net.sourceforge.pmd.lang.java.ast.JavaParser | 2,182 |
net.sourceforge.pmd.lang.jsp.ast.JspParserTokenManager | 474 |
net.sourceforge.pmd.lang.jsp.ast.JspParser | 343 |
net.sourceforge.pmd.lang.java.ast.JavaParserTokenManager | 334 |
net.sourceforge.pmd.cpd.GUI | 166 |
Fat (method):
Top 5 (of 40)
| Item | Value |
net.sourceforge.pmd.lang.java.ast.JavaParserTokenManager.jjMoveNfa_0(int, int):int | 69 |
net.sourceforge.pmd.lang.cpp.ast.CppParserTokenManager.jjMoveNfa_0(int, int):int | 58 |
net.sourceforge.pmd.lang.java.ast.DumpFacade.dump(JavaNode, String):void | 51 |
net.sourceforge.pmd.lang.java.ast.JavaParserTokenManager.jjCanMove_1(int, int, int, long, long):boolean | 40 |
net.sourceforge.pmd.lang.java.ast.JavaParserTokenManager.jjCanMove_2(int, int, int, long, long):boolean | 40 |
Items with highest XS - Top 10
(of 56)
| Item | Tangled | Fat | Size | XS |
net.sourceforge.pmd | 40% | 22 | 146,338 | 58,594 |
net.sourceforge.pmd.lang.java.ast | | 768 | 38,663 | 32,621 |
net.sourceforge.pmd.lang.java.ast.JavaParser | | 2,182 | 23,463 | 22,172 |
net.sourceforge.pmd.lang.jsp.ast.JspParserTokenManager | | 474 | 8,739 | 6,526 |
net.sourceforge.pmd.lang.java.ast.JavaParserTokenManager | | 334 | 8,086 | 5,180 |
net.sourceforge.pmd.lang.jsp.ast | | 164 | 15,622 | 4,191 |
net.sourceforge.pmd.lang.jsp.ast.JspParser | | 343 | 4,350 | 2,828 |
net.sourceforge.pmd.lang.ecmascript.ast | | 322 | 2,854 | 1,790 |
net.sourceforge.pmd.lang.cpp.ast.CppParserTokenManager | | 163 | 6,130 | 1,617 |
net.sourceforge.pmd.lang | 1% | 34 | 112,288 | 1,458 |
Appendix 1 - Project Classpath
I:\structure101.com\pmd\5.0\pmd-5.0\lib\asm-3.2.jar I:\structure101.com\pmd\5.0\pmd-5.0\lib\javacc.jar I:\structure101.com\pmd\5.0\pmd-5.0\lib\jaxen-1.1.1.jar I:\structure101.com\pmd\5.0\pmd-5.0\lib\js-cvs-11282008.jar I:\structure101.com\pmd\5.0\pmd-5.0\lib\junit-4.4.jar I:\structure101.com\pmd\5.0\pmd-5.0\lib\pmd-5.0.jar I:\structure101.com\pmd\5.0\pmd-5.0\lib\pmd-src-5.0.jar I:\structure101.com\pmd\5.0\pmd-5.0\lib\saxon9.jar I:\structure101.com\pmd\5.0\pmd-5.0\tools\lib\pmd-build-0.3.jar
|