Metric Results

[ summary ] [ packages ] [ cycles ] [ explanations ]

The following document contains the results of a JDepend metric analysis. The various metrics are defined at the bottom of this document.

Summary

[ summary ] [ packages ] [ cycles ] [ explanations ]

Package TC CC AC Ca Ce A I D V
com.bigdata.rdf.internal 3 2 1 8 5 33.0% 38.0% 28.0% 1
org.wikidata.query.rdf.blazegraph 15 15 0 4 23 0.0% 85.0% 15.000001% 1
org.wikidata.query.rdf.blazegraph.categories 1 1 0 0 7 0.0% 100.0% 0.0% 1
org.wikidata.query.rdf.blazegraph.constraints 12 12 0 0 25 0.0% 100.0% 0.0% 1
org.wikidata.query.rdf.blazegraph.events 12 10 2 0 14 17.0% 100.0% 17.0% 1
org.wikidata.query.rdf.blazegraph.filters 8 6 2 1 13 25.0% 93.0% 18.0% 1
org.wikidata.query.rdf.blazegraph.geo 6 5 1 1 20 17.0% 95.0% 12.0% 1
org.wikidata.query.rdf.blazegraph.inline.literal 4 3 1 1 19 25.0% 95.0% 20.0% 1
org.wikidata.query.rdf.blazegraph.inline.uri 4 4 0 1 7 0.0% 88.0% 12.0% 1
org.wikidata.query.rdf.blazegraph.label 6 6 0 1 19 0.0% 95.0% 5.0% 1
org.wikidata.query.rdf.blazegraph.ldf 11 11 0 0 26 0.0% 100.0% 0.0% 1
org.wikidata.query.rdf.blazegraph.mwapi 10 9 1 1 13 10.0% 93.0% 3.0% 1
org.wikidata.query.rdf.blazegraph.throttling 17 12 5 0 17 29.0% 100.0% 29.0% 1
org.wikidata.query.rdf.blazegraph.vocabulary 14 14 0 1 3 0.0% 75.0% 25.0% 1

Packages

[ summary ] [ packages ] [ cycles ] [ explanations ]

com.bigdata.rdf.internal

Afferent Couplings Efferent Couplings Abstractness Instability Distance
8 5 33.0% 38.0% 28.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
com.bigdata.rdf.internal.package-info
com.bigdata.rdf.internal.NormalizingInlineUriHandler
com.bigdata.rdf.internal.TrailingSlashRemovingInlineUriHandler
org.wikidata.query.rdf.blazegraph
org.wikidata.query.rdf.blazegraph.constraints
org.wikidata.query.rdf.blazegraph.geo
org.wikidata.query.rdf.blazegraph.inline.literal
org.wikidata.query.rdf.blazegraph.inline.uri
org.wikidata.query.rdf.blazegraph.label
org.wikidata.query.rdf.blazegraph.ldf
org.wikidata.query.rdf.blazegraph.mwapi
com.bigdata.rdf.internal.impl.literal
com.bigdata.rdf.internal.impl.uri
com.bigdata.rdf.vocab
java.lang
org.openrdf.model

org.wikidata.query.rdf.blazegraph

Afferent Couplings Efferent Couplings Abstractness Instability Distance
4 23 0.0% 85.0% 15.000001%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.wikidata.query.rdf.blazegraph.BigdataValuesHelper
org.wikidata.query.rdf.blazegraph.JacksonUtil
org.wikidata.query.rdf.blazegraph.MeteringRemoteServiceFactory
org.wikidata.query.rdf.blazegraph.MeteringRemoteServiceFactory$1
org.wikidata.query.rdf.blazegraph.PrefixDelegatingServiceFactory
org.wikidata.query.rdf.blazegraph.WikibaseContextListener$DisableRemotesServiceFactory
org.wikidata.query.rdf.blazegraph.WikibaseInlineUriFactory$V001
org.wikidata.query.rdf.blazegraph.WikibaseInlineUriFactory$V002
org.wikidata.query.rdf.blazegraph.WikibaseOptimizers
org.wikidata.query.rdf.blazegraph.WikibaseVocabulary
org.wikidata.query.rdf.blazegraph.WikibaseVocabulary$V001
org.wikidata.query.rdf.blazegraph.WikibaseVocabulary$V002
org.wikidata.query.rdf.blazegraph.WikibaseVocabulary$V003
org.wikidata.query.rdf.blazegraph.WikibaseVocabulary$V004
org.wikidata.query.rdf.blazegraph.WikibaseVocabulary$V005
org.wikidata.query.rdf.blazegraph.events
org.wikidata.query.rdf.blazegraph.geo
org.wikidata.query.rdf.blazegraph.label
org.wikidata.query.rdf.blazegraph.mwapi
com.bigdata.bop
com.bigdata.rdf.internal
com.bigdata.rdf.internal.impl
com.bigdata.rdf.internal.impl.literal
com.bigdata.rdf.model
com.bigdata.rdf.sparql.ast.eval
com.bigdata.rdf.sparql.ast.optimizers
com.bigdata.rdf.sparql.ast.service
com.bigdata.rdf.vocab
com.bigdata.rdf.vocab.core
com.codahale.metrics
com.fasterxml.jackson.databind
com.fasterxml.jackson.datatype.jsr310
cutthecrap.utils.striterators
java.lang
java.util
org.openrdf.model
org.openrdf.query
org.wikidata.query.rdf.blazegraph.inline.uri
org.wikidata.query.rdf.blazegraph.label
org.wikidata.query.rdf.blazegraph.mwapi
org.wikidata.query.rdf.blazegraph.vocabulary
org.wikidata.query.rdf.common.uri

org.wikidata.query.rdf.blazegraph.categories

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 7 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.wikidata.query.rdf.blazegraph.categories.CategoriesStoredQuery
None com.bigdata.rdf.sparql.ast.eval
com.bigdata.rdf.sparql.ast.service
com.bigdata.rdf.sparql.ast.service.storedquery
java.lang
org.openrdf.model
org.openrdf.model.impl
org.wikidata.query.rdf.common.uri

org.wikidata.query.rdf.blazegraph.constraints

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 25 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.wikidata.query.rdf.blazegraph.constraints.CoordinatePartBOp
org.wikidata.query.rdf.blazegraph.constraints.CoordinatePartBOp$1
org.wikidata.query.rdf.blazegraph.constraints.CoordinatePartBOp$Parts
org.wikidata.query.rdf.blazegraph.constraints.DecodeUriBOp
org.wikidata.query.rdf.blazegraph.constraints.InlineVocabEqBOp
org.wikidata.query.rdf.blazegraph.constraints.IsSomeValueFunctionFactory
org.wikidata.query.rdf.blazegraph.constraints.WikibaseCornerBOp
org.wikidata.query.rdf.blazegraph.constraints.WikibaseCornerBOp$Corners
org.wikidata.query.rdf.blazegraph.constraints.WikibaseDateBOp
org.wikidata.query.rdf.blazegraph.constraints.WikibaseDateBOp$1
org.wikidata.query.rdf.blazegraph.constraints.WikibaseDistanceBOp
org.wikidata.query.rdf.blazegraph.constraints.WikibaseNowBOp
None com.bigdata.bop
com.bigdata.rdf.error
com.bigdata.rdf.internal
com.bigdata.rdf.internal.constraints
com.bigdata.rdf.internal.gis
com.bigdata.rdf.internal.impl.literal
com.bigdata.rdf.internal.impl.uri
com.bigdata.rdf.lexicon
com.bigdata.rdf.model
com.bigdata.rdf.sparql.ast
com.bigdata.rdf.sparql.ast.eval
com.bigdata.rdf.store
com.bigdata.rdf.vocab
java.io
java.lang
java.math
java.net
java.nio.charset
java.util
org.openrdf.model
org.openrdf.model.impl
org.openrdf.model.vocabulary
org.wikidata.query.rdf.blazegraph.geo
org.wikidata.query.rdf.common
org.wikidata.query.rdf.common.uri

org.wikidata.query.rdf.blazegraph.events

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 14 17.0% 100.0% 17.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.wikidata.query.rdf.blazegraph.events.Event
org.wikidata.query.rdf.blazegraph.events.EventSender
org.wikidata.query.rdf.blazegraph.events.AsyncEventSender
org.wikidata.query.rdf.blazegraph.events.BufferedEventSender
org.wikidata.query.rdf.blazegraph.events.BufferedEventSender$Worker
org.wikidata.query.rdf.blazegraph.events.EventHttpMetadata
org.wikidata.query.rdf.blazegraph.events.EventHttpSender
org.wikidata.query.rdf.blazegraph.events.EventHttpSender$1
org.wikidata.query.rdf.blazegraph.events.EventMetadata
org.wikidata.query.rdf.blazegraph.events.EventPerformer
org.wikidata.query.rdf.blazegraph.events.QueryEvent
org.wikidata.query.rdf.blazegraph.events.SystemRuntimeMetrics
None com.fasterxml.jackson.annotation
com.fasterxml.jackson.databind
java.io
java.lang
java.time
java.util
java.util.concurrent
org.apache.http
org.apache.http.client.config
org.apache.http.client.methods
org.apache.http.entity
org.apache.http.impl.client
org.slf4j
org.wikidata.query.rdf.blazegraph

org.wikidata.query.rdf.blazegraph.filters

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 13 25.0% 93.0% 18.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.wikidata.query.rdf.blazegraph.filters.MonitoredFilter
org.wikidata.query.rdf.blazegraph.filters.QueryEventSenderMXBean
org.wikidata.query.rdf.blazegraph.filters.ClientIPFilter
org.wikidata.query.rdf.blazegraph.filters.ClientIPFilter$1
org.wikidata.query.rdf.blazegraph.filters.ClientIPFilter$RealIPHttpRequestWrapper
org.wikidata.query.rdf.blazegraph.filters.FilterConfiguration
org.wikidata.query.rdf.blazegraph.filters.RealAgentFilter
org.wikidata.query.rdf.blazegraph.filters.RequestConcurrencyFilter
org.wikidata.query.rdf.blazegraph.throttling
com.google.common.base
java.io
java.lang
java.lang.management
java.net
java.time
java.time.temporal
java.util
java.util.concurrent
javax.management
javax.servlet
javax.servlet.http
org.slf4j

org.wikidata.query.rdf.blazegraph.geo

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 20 17.0% 95.0% 12.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.wikidata.query.rdf.blazegraph.geo.GeoService
org.wikidata.query.rdf.blazegraph.geo.GeoAroundService
org.wikidata.query.rdf.blazegraph.geo.GeoBoxService
org.wikidata.query.rdf.blazegraph.geo.GeoBoxService$GeoBoxServiceCall
org.wikidata.query.rdf.blazegraph.geo.GeoUtils
org.wikidata.query.rdf.blazegraph.geo.GeoUtils$Box
org.wikidata.query.rdf.blazegraph.constraints
com.bigdata.bop
com.bigdata.rdf.internal
com.bigdata.rdf.internal.constraints
com.bigdata.rdf.internal.gis
com.bigdata.rdf.model
com.bigdata.rdf.sparql.ast
com.bigdata.rdf.sparql.ast.eval
com.bigdata.rdf.sparql.ast.service
com.bigdata.rdf.store
com.bigdata.rdf.vocab
com.bigdata.service.geospatial
cutthecrap.utils.striterators
java.lang
java.util
org.openrdf.model
org.openrdf.model.impl
org.wikidata.query.rdf.blazegraph
org.wikidata.query.rdf.blazegraph.inline.literal
org.wikidata.query.rdf.common
org.wikidata.query.rdf.common.uri

org.wikidata.query.rdf.blazegraph.inline.literal

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 19 25.0% 95.0% 20.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.wikidata.query.rdf.blazegraph.inline.literal.AbstractMultiTypeExtension
org.wikidata.query.rdf.blazegraph.inline.literal.WKTSerializer
org.wikidata.query.rdf.blazegraph.inline.literal.WikibaseDateExtension
org.wikidata.query.rdf.blazegraph.inline.literal.WikibaseDateExtension$1
org.wikidata.query.rdf.blazegraph.geo
com.bigdata.rdf.error
com.bigdata.rdf.internal
com.bigdata.rdf.internal.constraints
com.bigdata.rdf.internal.gis
com.bigdata.rdf.internal.impl.literal
com.bigdata.rdf.model
com.bigdata.rdf.sparql.ast
com.bigdata.service.geospatial
com.bigdata.util
com.google.common.collect
java.lang
java.util
javax.xml.datatype
org.openrdf.model
org.openrdf.model.impl
org.openrdf.model.vocabulary
org.slf4j
org.wikidata.query.rdf.common
org.wikidata.query.rdf.common.uri

org.wikidata.query.rdf.blazegraph.inline.uri

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 7 0.0% 88.0% 12.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.wikidata.query.rdf.blazegraph.inline.uri.InlineFixedWidthHexIntegerURIHandler
org.wikidata.query.rdf.blazegraph.inline.uri.UndecoratedUuidInlineUriHandler
org.wikidata.query.rdf.blazegraph.inline.uri.WikibaseStyleStatementInlineUriHandler
org.wikidata.query.rdf.blazegraph.inline.uri.WikibaseStyleStatementInlineUriHandler$1
org.wikidata.query.rdf.blazegraph
com.bigdata.rdf.internal
com.bigdata.rdf.internal.impl.literal
com.google.common.base
java.lang
java.math
java.util
org.slf4j

org.wikidata.query.rdf.blazegraph.label

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 19 0.0% 95.0% 5.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.wikidata.query.rdf.blazegraph.label.LabelService$1
org.wikidata.query.rdf.blazegraph.label.LabelService$LabelServiceCall
org.wikidata.query.rdf.blazegraph.label.LabelService$LabelServiceCall$Chunk
org.wikidata.query.rdf.blazegraph.label.LabelService$Resolution
org.wikidata.query.rdf.blazegraph.label.LabelService$ResolutionContext
org.wikidata.query.rdf.blazegraph.label.LabelServicePlacementOptimizer
org.wikidata.query.rdf.blazegraph
com.bigdata.bop
com.bigdata.rdf.internal
com.bigdata.rdf.lexicon
com.bigdata.rdf.model
com.bigdata.rdf.sparql.ast
com.bigdata.rdf.sparql.ast.service
com.bigdata.rdf.spo
com.bigdata.rdf.store
com.bigdata.rdf.vocab
com.bigdata.relation.accesspath
com.bigdata.striterator
cutthecrap.utils.striterators
java.lang
java.util
org.openrdf.model
org.openrdf.model.impl
org.openrdf.model.vocabulary
org.wikidata.query.rdf.blazegraph
org.wikidata.query.rdf.common.uri

org.wikidata.query.rdf.blazegraph.ldf

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 26 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.wikidata.query.rdf.blazegraph.ldf.BigdataStatementToJenaStatementMapper
org.wikidata.query.rdf.blazegraph.ldf.BlazegraphBasedTPF
org.wikidata.query.rdf.blazegraph.ldf.BlazegraphBasedTPF$MyStmtIterator
org.wikidata.query.rdf.blazegraph.ldf.BlazegraphBasedTPFRequestProcessor
org.wikidata.query.rdf.blazegraph.ldf.BlazegraphBasedTPFRequestProcessor$VariablesBasedFilter
org.wikidata.query.rdf.blazegraph.ldf.BlazegraphBasedTPFRequestProcessor$Worker
org.wikidata.query.rdf.blazegraph.ldf.BlazegraphDataSource
org.wikidata.query.rdf.blazegraph.ldf.BlazegraphDataSourceType
org.wikidata.query.rdf.blazegraph.ldf.LDFServlet
org.wikidata.query.rdf.blazegraph.ldf.TPFRequestParserForBlazegraph
org.wikidata.query.rdf.blazegraph.ldf.TriplePatternElementParserForBlazegraph
None com.bigdata.rdf.internal
com.bigdata.rdf.internal.impl
com.bigdata.rdf.lexicon
com.bigdata.rdf.model
com.bigdata.rdf.sail.sparql
com.bigdata.rdf.sail.webapp
com.bigdata.rdf.spo
com.bigdata.rdf.store
com.bigdata.relation.accesspath
com.google.gson
java.io
java.lang
java.util
java.util.function
javax.servlet
javax.servlet.http
org.apache.jena.datatypes
org.apache.jena.rdf.model
org.apache.jena.util.iterator
org.linkeddatafragments.datasource
org.linkeddatafragments.exceptions
org.linkeddatafragments.fragments
org.linkeddatafragments.fragments.tpf
org.linkeddatafragments.servlet
org.linkeddatafragments.util
org.openrdf.model

org.wikidata.query.rdf.blazegraph.mwapi

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 13 10.0% 93.0% 3.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.wikidata.query.rdf.blazegraph.mwapi.Endpoint
org.wikidata.query.rdf.blazegraph.mwapi.ApiTemplate$1
org.wikidata.query.rdf.blazegraph.mwapi.ApiTemplate$OutputVariable
org.wikidata.query.rdf.blazegraph.mwapi.ApiTemplate$OutputVariable$Type
org.wikidata.query.rdf.blazegraph.mwapi.Endpoint$ConstantEndpoint
org.wikidata.query.rdf.blazegraph.mwapi.Endpoint$VariableEndpoint
org.wikidata.query.rdf.blazegraph.mwapi.MWApiLimits
org.wikidata.query.rdf.blazegraph.mwapi.MWApiServiceCall$MultiSearchIterator
org.wikidata.query.rdf.blazegraph.mwapi.MWApiServiceCall$ResultWithContinue
org.wikidata.query.rdf.blazegraph.mwapi.MWApiServicePlacementOptimizer
org.wikidata.query.rdf.blazegraph
com.bigdata.bop
com.bigdata.rdf.internal
com.bigdata.rdf.sparql.ast
com.bigdata.rdf.sparql.ast.service
com.google.common.collect
cutthecrap.utils.striterators
java.lang
java.net
java.util
org.openrdf.model
org.openrdf.model.impl
org.wikidata.query.rdf.blazegraph
org.wikidata.query.rdf.common.uri

org.wikidata.query.rdf.blazegraph.throttling

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 17 29.0% 100.0% 29.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.wikidata.query.rdf.blazegraph.throttling.BanState
org.wikidata.query.rdf.blazegraph.throttling.Bucketing
org.wikidata.query.rdf.blazegraph.throttling.SystemOverloadFilterMXBean
org.wikidata.query.rdf.blazegraph.throttling.ThrottlingMXBean
org.wikidata.query.rdf.blazegraph.throttling.TimeAndErrorsState
org.wikidata.query.rdf.blazegraph.throttling.BanThrottler
org.wikidata.query.rdf.blazegraph.throttling.RegexpBucketing
org.wikidata.query.rdf.blazegraph.throttling.SystemOverloadFilter
org.wikidata.query.rdf.blazegraph.throttling.ThrottlingFilterConfig
org.wikidata.query.rdf.blazegraph.throttling.ThrottlingState
org.wikidata.query.rdf.blazegraph.throttling.ThrottlingState$1
org.wikidata.query.rdf.blazegraph.throttling.ThrottlingState$Ban
org.wikidata.query.rdf.blazegraph.throttling.ThrottlingState$TimeAndErrors
org.wikidata.query.rdf.blazegraph.throttling.TimeAndErrorsThrottler
org.wikidata.query.rdf.blazegraph.throttling.UserAgentIpAddressBucketing
org.wikidata.query.rdf.blazegraph.throttling.UserAgentIpAddressBucketing$1
org.wikidata.query.rdf.blazegraph.throttling.UserAgentIpAddressBucketing$Bucket
None com.google.common.cache
com.google.common.collect
java.io
java.lang
java.lang.management
java.time
java.time.temporal
java.util
java.util.concurrent
java.util.concurrent.atomic
java.util.function
java.util.regex
javax.servlet
javax.servlet.http
org.isomorphism.util
org.slf4j
org.wikidata.query.rdf.blazegraph.filters

org.wikidata.query.rdf.blazegraph.vocabulary

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 3 0.0% 75.0% 25.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.wikidata.query.rdf.blazegraph.vocabulary.CommonValuesVocabularyDecl
org.wikidata.query.rdf.blazegraph.vocabulary.CommonValuesVocabularyDecl2
org.wikidata.query.rdf.blazegraph.vocabulary.CommonValuesVocabularyDecl3
org.wikidata.query.rdf.blazegraph.vocabulary.GeoSparqlVocabularyDecl
org.wikidata.query.rdf.blazegraph.vocabulary.LexemeVocabularyDecl
org.wikidata.query.rdf.blazegraph.vocabulary.MediawikiVocabularyDecl
org.wikidata.query.rdf.blazegraph.vocabulary.MediawikiVocabularyDecl2
org.wikidata.query.rdf.blazegraph.vocabulary.OntologyVocabularyDecl
org.wikidata.query.rdf.blazegraph.vocabulary.OntologyVocabularyDecl2
org.wikidata.query.rdf.blazegraph.vocabulary.OntologyVocabularyDecl3
org.wikidata.query.rdf.blazegraph.vocabulary.ProvenanceVocabularyDecl
org.wikidata.query.rdf.blazegraph.vocabulary.SchemaDotOrgVocabularyDecl
org.wikidata.query.rdf.blazegraph.vocabulary.SchemaDotOrgVocabularyDecl2
org.wikidata.query.rdf.blazegraph.vocabulary.SomeValueVocabularyDecl
org.wikidata.query.rdf.blazegraph
com.bigdata.rdf.vocab
java.lang
org.wikidata.query.rdf.common.uri

Cycles

[ summary ] [ packages ] [ cycles ] [ explanations ]

Package Package Dependencies
org.wikidata.query.rdf.blazegraph org.wikidata.query.rdf.blazegraph.label
org.wikidata.query.rdf.blazegraph
org.wikidata.query.rdf.blazegraph.constraints org.wikidata.query.rdf.blazegraph.geo
org.wikidata.query.rdf.blazegraph
org.wikidata.query.rdf.blazegraph.label
org.wikidata.query.rdf.blazegraph
org.wikidata.query.rdf.blazegraph.events org.wikidata.query.rdf.blazegraph
org.wikidata.query.rdf.blazegraph.label
org.wikidata.query.rdf.blazegraph
org.wikidata.query.rdf.blazegraph.geo org.wikidata.query.rdf.blazegraph
org.wikidata.query.rdf.blazegraph.label
org.wikidata.query.rdf.blazegraph
org.wikidata.query.rdf.blazegraph.label org.wikidata.query.rdf.blazegraph
org.wikidata.query.rdf.blazegraph.label
org.wikidata.query.rdf.blazegraph.mwapi org.wikidata.query.rdf.blazegraph
org.wikidata.query.rdf.blazegraph.label
org.wikidata.query.rdf.blazegraph

Explanation

[ summary ] [ packages ] [ cycles ] [ explanations ]

The following explanations are for quick reference and are lifted directly from the original JDepend documentation.

Term Description
Number of Classes The number of concrete and abstract classes (and interfaces) in the package is an indicator of the extensibility of the package.
Afferent Couplings The number of other packages that depend upon classes within the package is an indicator of the package's responsibility.
Efferent Couplings The number of other packages that the classes in the package depend upon is an indicator of the package's independence.
Abstractness The ratio of the number of abstract classes (and interfaces) in the analyzed package to the total number of classes in the analyzed package. The range for this metric is 0 to 1, with A=0 indicating a completely concrete package and A=1 indicating a completely abstract package.
Instability The ratio of efferent coupling (Ce) to total coupling (Ce / (Ce + Ca)). This metric is an indicator of the package's resilience to change. The range for this metric is 0 to 1, with I=0 indicating a completely stable package and I=1 indicating a completely instable package.
Distance The perpendicular distance of a package from the idealized line A + I = 1. This metric is an indicator of the package's balance between abstractness and stability. A package squarely on the main sequence is optimally balanced with respect to its abstractness and stability. Ideal packages 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 package that is coincident with the main sequence and D=1 indicating a package that is as far from the main sequence as possible.
Cycles Packages participating in a package dependency cycle are in a deadly embrace with respect to reusability and their release cycle. Package dependency cycles can be easily identified by reviewing the textual reports of dependency cycles. Once these dependency cycles have been identified with JDepend, they can be broken by employing various object-oriented techniques.