Run with JarAnalyzer on
Summary | [summary] [jars] [cycles] [explanations] |
Jar Name | Total Classes | Abstract Classes | Packages | Level | Abstractness | Efferent | Afferent | Instability | Distance |
---|---|---|---|---|---|---|---|---|---|
audit1.jar | 1 | 0 | 1 | 0.00 | 1 | 4 | 0.20 | 0.80 | |
audit1test.jar | 3 | 0 | 1 | 0.00 | 2 | 0 | 1.00 | 0.00 | |
audit2.jar | 1 | 0 | 1 | 0.00 | 1 | 4 | 0.20 | 0.80 | |
audit2test.jar | 3 | 0 | 1 | 0.00 | 2 | 0 | 1.00 | 0.00 | |
auditspec.jar | 3 | 2 | 1 | 0.67 | 0 | 8 | 0.00 | 0.33 | |
bill.jar | 12 | 4 | 2 | 0.33 | 1 | 3 | 0.25 | 0.42 | |
billpay.jar | 2 | 0 | 1 | 0.00 | 5 | 1 | 0.83 | 0.17 | |
billpaytest.jar | 6 | 0 | 1 | 0.00 | 5 | 0 | 1.00 | 0.00 | |
billtest.jar | 9 | 0 | 1 | 0.00 | 4 | 0 | 1.00 | 0.00 | |
financial.jar | 2 | 1 | 1 | 0.50 | 0 | 2 | 0.00 | 0.50 | |
financialtest.jar | 3 | 0 | 1 | 0.00 | 1 | 0 | 1.00 | 0.00 |
Jars | [summary] [jars] [cycles] [explanations] |
Level: | Afferent Couplings: 4 | Efferent Couplings: 1 | Abstractness: 0.00 | Instability: 0.20 | Distance: 0.80 |
Uses Jars | Used by Jars | Cycles With |
---|---|---|
auditspec.jar | audit1test.jar billpay.jar billpaytest.jar billtest.jar | None |
Packages within jar | Unresolved Packages |
---|---|
com.extensiblejava.audit.audit1 | None |
Level: | Afferent Couplings: 0 | Efferent Couplings: 2 | Abstractness: 0.00 | Instability: 1.00 | Distance: 0.00 |
Uses Jars | Used by Jars | Cycles With |
---|---|---|
auditspec.jar audit1.jar | None | None |
Packages within jar | Unresolved Packages |
---|---|
com.extensiblejava.audit1.test | junit.framework
junit.textui |
Level: | Afferent Couplings: 4 | Efferent Couplings: 1 | Abstractness: 0.00 | Instability: 0.20 | Distance: 0.80 |
Uses Jars | Used by Jars | Cycles With |
---|---|---|
auditspec.jar | audit2test.jar billpay.jar billpaytest.jar billtest.jar | None |
Packages within jar | Unresolved Packages |
---|---|
com.extensiblejava.audit.audit2 | None |
Level: | Afferent Couplings: 0 | Efferent Couplings: 2 | Abstractness: 0.00 | Instability: 1.00 | Distance: 0.00 |
Uses Jars | Used by Jars | Cycles With |
---|---|---|
auditspec.jar audit2.jar | None | None |
Packages within jar | Unresolved Packages |
---|---|
com.extensiblejava.audit2.test | junit.framework
junit.textui |
Level: | Afferent Couplings: 8 | Efferent Couplings: 0 | Abstractness: 0.67 | Instability: 0.00 | Distance: 0.33 |
Uses Jars | Used by Jars | Cycles With |
---|---|---|
None | audit1.jar audit1test.jar audit2.jar audit2test.jar bill.jar billpay.jar billpaytest.jar billtest.jar | None |
Packages within jar | Unresolved Packages |
---|---|
com.extensiblejava.audit | None |
Level: | Afferent Couplings: 3 | Efferent Couplings: 1 | Abstractness: 0.33 | Instability: 0.25 | Distance: 0.42 |
Uses Jars | Used by Jars | Cycles With |
---|---|---|
auditspec.jar | billpay.jar billpaytest.jar billtest.jar | None |
Packages within jar | Unresolved Packages |
---|---|
com.extensiblejava.bill com.extensiblejava.bill.data | None |
Level: | Afferent Couplings: 1 | Efferent Couplings: 5 | Abstractness: 0.00 | Instability: 0.83 | Distance: 0.17 |
Uses Jars | Used by Jars | Cycles With |
---|---|---|
audit2.jar audit1.jar bill.jar auditspec.jar financial.jar | billpaytest.jar | None |
Packages within jar | Unresolved Packages |
---|---|
com.extensiblejava.mediator | None |
Level: | Afferent Couplings: 0 | Efferent Couplings: 5 | Abstractness: 0.00 | Instability: 1.00 | Distance: 0.00 |
Uses Jars | Used by Jars | Cycles With |
---|---|---|
bill.jar audit2.jar audit1.jar billpay.jar auditspec.jar | None | None |
Packages within jar | Unresolved Packages |
---|---|
com.extensiblejava.mediator.test | junit.framework
junit.textui |
Level: | Afferent Couplings: 0 | Efferent Couplings: 4 | Abstractness: 0.00 | Instability: 1.00 | Distance: 0.00 |
Uses Jars | Used by Jars | Cycles With |
---|---|---|
bill.jar audit1.jar audit2.jar auditspec.jar | None | None |
Packages within jar | Unresolved Packages |
---|---|
com.extensiblejava.bill.test | junit.framework
junit.textui |
Level: | Afferent Couplings: 2 | Efferent Couplings: 0 | Abstractness: 0.50 | Instability: 0.00 | Distance: 0.50 |
Uses Jars | Used by Jars | Cycles With |
---|---|---|
None | billpay.jar financialtest.jar | None |
Packages within jar | Unresolved Packages |
---|---|
com.extensiblejava.financial | None |
Level: | Afferent Couplings: 0 | Efferent Couplings: 1 | Abstractness: 0.00 | Instability: 1.00 | Distance: 0.00 |
Uses Jars | Used by Jars | Cycles With |
---|---|---|
financial.jar | None | None |
Packages within jar | Unresolved Packages |
---|---|
com.extensiblejava.financial.test | junit.framework
junit.textui |
Cycles | [summary] [jars] [cycles] [explanations] |
None
None
None
None
None
None
None
None
None
None
None
Explanations | [summary] [jars] [cycles] [explanations] |
The following explanations are for quick reference. More detailed information can be found in the JarAnalyzer documentation.
The number of concrete and abstract classes (and interfaces) in the jar is an indicator of the extensibility of the jar.
The number of packages in the jar.
The Level represents where in the hierarchy a jar file lives. Level 1 jars are at the bottom. Level 2 depend on at least one Level 1. Level 3 depend on at least one Level 2. The Level of the jar, used in conjunction with Instability, gives an indication of the jar's resilience to change.
The number of other jars that depend upon classes within the jar is an indicator of the jar's responsibility.
The number of other jars that the classes in the jar depend upon is an indicator of the jar's independence.
The ratio of the number of abstract classes (and interfaces) in the analyzed jar to the total number of classes in the analyzed jar.
The range for this metric is 0 to 1, with A=0 indicating a completely concrete jar and A=1 indicating a completely abstract jar.
The ratio of efferent coupling (Ce) to total coupling (Ce / (Ce + Ca)). This metric is an indicator of the jar's resilience to change.
The range for this metric is 0 to 1, with I=0 indicating a completely stable jar and I=1 indicating a completely instable jar.
The perpendicular distance of a jar from the idealized line A + I = 1. This metric is an indicator of the jar's balance between abstractness and stability.
A jar squarely on the main sequence is optimally balanced with respect to its abstractness and stability. Ideal jars are either completely abstract and stable (x=0, y=1) or completely concrete and instable (x=1, y=0).
The range for this metric is 0 to 1, with D=0 indicating a jar that is coincident with the main sequence and D=1 indicating a jar that is as far from the main sequence as possible.
Packages not found in any of the jars analyzed. These can be filtered from output by specifying the packages to exlude in the Filter.properties file. Conversely, you can include jars containing these packages in the directory being analyzed.
These packages are excluded from all calculations and adding the jars containing these packages will result in modified metrics.