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.legstar.pli2cob 122 121 1 4 12 1.0% 75.0% 24.0% 1
com.legstar.pli2cob.exe 1 1 0 0 6 0.0% 100.0% 0.0% 1
com.legstar.pli2cob.model 8 8 0 2 6 0.0% 75.0% 25.0% 1
com.legstar.pli2cob.smap 5 4 1 2 9 20.0% 82.0% 2.0% 1
com.legstar.pli2cob.task 1 1 0 0 8 0.0% 100.0% 0.0% 1
com.legstar.pli2cob.util 3 3 0 4 7 0.0% 64.0% 36.0% 1

Packages

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

com.legstar.pli2cob

Afferent Couplings Efferent Couplings Abstractness Instability Distance
4 12 1.0% 75.0% 24.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
com.legstar.pli2cob.AbstractPLIStructureCobolEmitter
com.legstar.pli2cob.CobolFormatException
com.legstar.pli2cob.CobolFormatter
com.legstar.pli2cob.PLISourceCleaner
com.legstar.pli2cob.PLISourceCleaner$SequenceNumbering
com.legstar.pli2cob.PLIStructureCobolEmitter
com.legstar.pli2cob.PLIStructureCobolEmitter$DFA5
com.legstar.pli2cob.PLIStructureCobolEmitter$STAttrMap
com.legstar.pli2cob.PLIStructureCobolEmitter$alignment_attribute_return
com.legstar.pli2cob.PLIStructureCobolEmitter$arithmetic_attribute_return
com.legstar.pli2cob.PLIStructureCobolEmitter$arithmetic_attribute_scope
com.legstar.pli2cob.PLIStructureCobolEmitter$arithmetic_keyword_return
com.legstar.pli2cob.PLIStructureCobolEmitter$bound_attribute_return
com.legstar.pli2cob.PLIStructureCobolEmitter$bound_attribute_scope
com.legstar.pli2cob.PLIStructureCobolEmitter$data_item_name_return
com.legstar.pli2cob.PLIStructureCobolEmitter$data_item_return
com.legstar.pli2cob.PLIStructureCobolEmitter$data_item_scope
com.legstar.pli2cob.PLIStructureCobolEmitter$dimension_attribute_return
com.legstar.pli2cob.PLIStructureCobolEmitter$dimension_attribute_scope
com.legstar.pli2cob.PLIStructureCobolEmitter$double_bound_expression_return
com.legstar.pli2cob.PLIStructureCobolEmitter$implicit_dimension_attribute_return
com.legstar.pli2cob.PLIStructureCobolEmitter$implicit_precision_specification_return
com.legstar.pli2cob.PLIStructureCobolEmitter$initial_attribute_return
com.legstar.pli2cob.PLIStructureCobolEmitter$level_return
com.legstar.pli2cob.PLIStructureCobolEmitter$misc_attribute_return
com.legstar.pli2cob.PLIStructureCobolEmitter$other_arithmetic_attribute_return
com.legstar.pli2cob.PLIStructureCobolEmitter$picture_attribute_return
com.legstar.pli2cob.PLIStructureCobolEmitter$pl1code_return
com.legstar.pli2cob.PLIStructureCobolEmitter$precision_specification_return
com.legstar.pli2cob.PLIStructureCobolEmitter$refer_specification_return
com.legstar.pli2cob.PLIStructureCobolEmitter$scaling_factor_return
com.legstar.pli2cob.PLIStructureCobolEmitter$sign_sequence_return
com.legstar.pli2cob.PLIStructureCobolEmitter$single_bound_expression_return
com.legstar.pli2cob.PLIStructureCobolEmitter$storage_attribute_return
com.legstar.pli2cob.PLIStructureCobolEmitter$string_attribute_return
com.legstar.pli2cob.PLIStructureCobolEmitter$string_attribute_scope
com.legstar.pli2cob.PLIStructureCobolEmitter$string_length_specification_return
com.legstar.pli2cob.PLIStructureCobolEmitter$string_type_return
com.legstar.pli2cob.PLIStructureCobolEmitter$union_attribute_return
com.legstar.pli2cob.PLIStructureCobolEmitter$varying_attribute_return
com.legstar.pli2cob.PLIStructureEnhancer
com.legstar.pli2cob.PLIStructureEnhancer$DFA5
com.legstar.pli2cob.PLIStructureEnhancer$alignment_attribute_return
com.legstar.pli2cob.PLIStructureEnhancer$arithmetic_attribute_return
com.legstar.pli2cob.PLIStructureEnhancer$arithmetic_keyword_return
com.legstar.pli2cob.PLIStructureEnhancer$bound_attribute_return
com.legstar.pli2cob.PLIStructureEnhancer$data_item_name_return
com.legstar.pli2cob.PLIStructureEnhancer$data_item_return
com.legstar.pli2cob.PLIStructureEnhancer$data_item_scope
com.legstar.pli2cob.PLIStructureEnhancer$dimension_attribute_return
com.legstar.pli2cob.PLIStructureEnhancer$double_bound_expression_return
com.legstar.pli2cob.PLIStructureEnhancer$initial_attribute_return
com.legstar.pli2cob.PLIStructureEnhancer$level_return
com.legstar.pli2cob.PLIStructureEnhancer$misc_attribute_return
com.legstar.pli2cob.PLIStructureEnhancer$picture_attribute_return
com.legstar.pli2cob.PLIStructureEnhancer$pl1code_return
com.legstar.pli2cob.PLIStructureEnhancer$precision_specification_return
com.legstar.pli2cob.PLIStructureEnhancer$refer_specification_return
com.legstar.pli2cob.PLIStructureEnhancer$scaling_factor_return
com.legstar.pli2cob.PLIStructureEnhancer$sign_sequence_return
com.legstar.pli2cob.PLIStructureEnhancer$single_bound_expression_return
com.legstar.pli2cob.PLIStructureEnhancer$storage_attribute_return
com.legstar.pli2cob.PLIStructureEnhancer$string_attribute_return
com.legstar.pli2cob.PLIStructureEnhancer$string_length_specification_return
com.legstar.pli2cob.PLIStructureEnhancer$string_type_return
com.legstar.pli2cob.PLIStructureEnhancer$union_attribute_return
com.legstar.pli2cob.PLIStructureEnhancer$varying_attribute_return
com.legstar.pli2cob.PLIStructureLexer
com.legstar.pli2cob.PLIStructureLexer$DFA12
com.legstar.pli2cob.PLIStructureLexer$DFA16
com.legstar.pli2cob.PLIStructureLexer$DFA17
com.legstar.pli2cob.PLIStructureLexer$DFA18
com.legstar.pli2cob.PLIStructureLexer$DFA19
com.legstar.pli2cob.PLIStructureLexer$DFA20
com.legstar.pli2cob.PLIStructureLexer$DFA23
com.legstar.pli2cob.PLIStructureLexer$DFA24
com.legstar.pli2cob.PLIStructureLexer$DFA41
com.legstar.pli2cob.PLIStructureLexer$DFA6
com.legstar.pli2cob.PLIStructureLexer$DFA7
com.legstar.pli2cob.PLIStructureLexer$DFA8
com.legstar.pli2cob.PLIStructureLexerImpl
com.legstar.pli2cob.PLIStructureLexingException
com.legstar.pli2cob.PLIStructureParser
com.legstar.pli2cob.PLIStructureParser$alignment_attribute_return
com.legstar.pli2cob.PLIStructureParser$arithmetic_attribute_return
com.legstar.pli2cob.PLIStructureParser$arithmetic_keyword_return
com.legstar.pli2cob.PLIStructureParser$bound_attribute_return
com.legstar.pli2cob.PLIStructureParser$data_item_desc_return
com.legstar.pli2cob.PLIStructureParser$data_item_name_return
com.legstar.pli2cob.PLIStructureParser$data_item_return
com.legstar.pli2cob.PLIStructureParser$data_items_return
com.legstar.pli2cob.PLIStructureParser$declare_return
com.legstar.pli2cob.PLIStructureParser$dimension_attribute_return
com.legstar.pli2cob.PLIStructureParser$double_bound_expression_return
com.legstar.pli2cob.PLIStructureParser$elementary_data_item_attribute_return
com.legstar.pli2cob.PLIStructureParser$implicit_dimension_attribute_return
com.legstar.pli2cob.PLIStructureParser$implicit_precision_specification_return
com.legstar.pli2cob.PLIStructureParser$initial_attribute_return
com.legstar.pli2cob.PLIStructureParser$level_return
com.legstar.pli2cob.PLIStructureParser$misc_attribute_return
com.legstar.pli2cob.PLIStructureParser$non_declare_return
com.legstar.pli2cob.PLIStructureParser$other_arithmetic_attribute_return
com.legstar.pli2cob.PLIStructureParser$picture_attribute_return
com.legstar.pli2cob.PLIStructureParser$picture_value_return
com.legstar.pli2cob.PLIStructureParser$pl1code_return
com.legstar.pli2cob.PLIStructureParser$precision_specification_return
com.legstar.pli2cob.PLIStructureParser$refer_specification_return
com.legstar.pli2cob.PLIStructureParser$scaling_factor_return
com.legstar.pli2cob.PLIStructureParser$sign_sequence_return
com.legstar.pli2cob.PLIStructureParser$single_bound_expression_return
com.legstar.pli2cob.PLIStructureParser$statement_return
com.legstar.pli2cob.PLIStructureParser$storage_attribute_return
com.legstar.pli2cob.PLIStructureParser$string_attribute_return
com.legstar.pli2cob.PLIStructureParser$string_keyword_return
com.legstar.pli2cob.PLIStructureParser$string_length_specification_return
com.legstar.pli2cob.PLIStructureParser$union_attribute_return
com.legstar.pli2cob.PLIStructureParser$varying_attribute_return
com.legstar.pli2cob.PLIStructureParserImpl
com.legstar.pli2cob.PLIStructureParsingException
com.legstar.pli2cob.PLIStructureReadingException
com.legstar.pli2cob.PLIStructureToCobol
com.legstar.pli2cob.Pli2CobContext
com.legstar.pli2cob.exe
com.legstar.pli2cob.smap
com.legstar.pli2cob.task
com.legstar.pli2cob.util
com.legstar.pli2cob.smap
com.legstar.pli2cob.util
java.io
java.lang
java.util
java.util.regex
org.antlr.runtime
org.antlr.runtime.tree
org.antlr.stringtemplate
org.antlr.stringtemplate.language
org.apache.commons.io
org.apache.commons.logging

com.legstar.pli2cob.exe

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 6 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None com.legstar.pli2cob.exe.PLIStructureToCobolMain
None com.legstar.pli2cob
com.legstar.pli2cob.util
java.io
java.lang
java.util
org.apache.commons.cli

com.legstar.pli2cob.model

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 6 0.0% 75.0% 25.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None com.legstar.pli2cob.model.PLIDataBound
com.legstar.pli2cob.model.PLIDataDimension
com.legstar.pli2cob.model.PLIDataItem
com.legstar.pli2cob.model.PLIDataItem$AlignmentRequirement
com.legstar.pli2cob.model.PLIDataItem$Base
com.legstar.pli2cob.model.PLIDataItem$Scale
com.legstar.pli2cob.model.PLIDataItem$StringType
com.legstar.pli2cob.model.PLIDataItem$VaryingType
com.legstar.pli2cob.smap
com.legstar.pli2cob.util
com.legstar.pli2cob.smap
com.legstar.pli2cob.util
java.lang
java.util
java.util.regex
org.antlr.runtime.tree

com.legstar.pli2cob.smap

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 9 20.0% 82.0% 2.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
com.legstar.pli2cob.smap.IMappable
com.legstar.pli2cob.smap.ASTStructureMapper
com.legstar.pli2cob.smap.MinorStructure
com.legstar.pli2cob.smap.StructureMappingException
com.legstar.pli2cob.smap.StructureMappingUnit
com.legstar.pli2cob
com.legstar.pli2cob.model
com.legstar.pli2cob
com.legstar.pli2cob.model
com.legstar.pli2cob.util
java.io
java.lang
java.util
org.antlr.runtime
org.antlr.runtime.tree
org.apache.commons.logging

com.legstar.pli2cob.task

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 8 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None com.legstar.pli2cob.task.PLIStructureToCobolTask
None antlr
com.legstar.pli2cob
java.io
java.lang
java.util
org.apache.commons.logging
org.apache.tools.ant
org.apache.tools.ant.types

com.legstar.pli2cob.util

Afferent Couplings Efferent Couplings Abstractness Instability Distance
4 7 0.0% 64.0% 36.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None com.legstar.pli2cob.util.ASTUtils
com.legstar.pli2cob.util.ASTUtils$1
com.legstar.pli2cob.util.CobolNameResolver
com.legstar.pli2cob
com.legstar.pli2cob.exe
com.legstar.pli2cob.model
com.legstar.pli2cob.smap
com.legstar.pli2cob
com.legstar.pli2cob.model
java.io
java.lang
java.util
org.antlr.runtime.tree
org.apache.commons.logging

Cycles

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

Package Package Dependencies
com.legstar.pli2cob com.legstar.pli2cob.util
com.legstar.pli2cob.model
com.legstar.pli2cob.util
com.legstar.pli2cob.exe com.legstar.pli2cob.util
com.legstar.pli2cob.model
com.legstar.pli2cob.util
com.legstar.pli2cob.model com.legstar.pli2cob.util
com.legstar.pli2cob.model
com.legstar.pli2cob.smap com.legstar.pli2cob.model
com.legstar.pli2cob.util
com.legstar.pli2cob.model
com.legstar.pli2cob.task com.legstar.pli2cob
com.legstar.pli2cob.util
com.legstar.pli2cob.model
com.legstar.pli2cob.util
com.legstar.pli2cob.util com.legstar.pli2cob.model
com.legstar.pli2cob.util

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.