The metrics included with Understand have evolved over many years to accommodate common customer requests. However, we recognize that you may need something different. To help you develop custom metrics there is a full API interface to the Understand database as well as a fully developed plugin mechanism.

For a full description and definition for these metrics, Open Understand and go to Metrics->Browse Metrics and then click, “Metrics Definitions,” in the top right corner of the metrics browser.


Here is a pdf containing a list of all metrics and a description of how they are calculated.


Metric Definitions.pdf


API NameFriendly NameDescription
AltAvgLineBlankAverage Number of Blank Lines (Include Inactive)Average number of blank lines for all nested functions or methods, including inactive regions.
AltAvgLineCodeAverage Number of Lines of Code (Include Inactive)Average number of lines containing source code for all nested functions or methods, including inactive regions.
AltAvgLineCommentAverage Number of Lines with Comments (Include Inactive)Average number of lines containing comment for all nested functions or methods, including inactive regions.
AltCountLineBlankBlank Lines of Code (Include Inactive)Number of blank lines, including inactive regions.
AltCountLineCodeLines of Code (Include Inactive)Number of lines containing source code, including inactive regions.
AltCountLineCommentLines with Comments (Include Inactive)Number of lines containing comment, including inactive regions.
AvgCyclomaticAverage Cyclomatic ComplexityAverage cyclomatic complexity for all nested functions or methods.
AvgCyclomaticModifiedAverage Modified Cyclomatic ComplexityAverage modified cyclomatic complexity for all nested functions or methods.
AvgCyclomaticStrictAverage Strict Cyclomatic ComplexityAverage strict cyclomatic complexity for all nested functions or methods.
AvgEssentialAverage Essential Cyclomatic ComplexityAverage Essential complexity for all nested functions or methods.
AvgEssentialStrictModifiedAverage Essential Strict Modified ComplexityAverage strict modified essential complexity for all nested functions or methods.
AvgLineAverage Number of LinesAverage number of lines for all nested functions or methods.
AvgLineBlankAverage Number of Blank LinesAverage number of blank for all nested functions or methods.
AvgLineCodeAverage Number of Lines of CodeAverage number of lines containing source code for all nested functions or methods.
AvgLineCommentAverage Number of Lines with CommentsAverage number of lines containing comment for all nested functions or methods.
CountClassBaseBase ClassesNumber of immediate base classes. [aka IFANIN]
CountClassCoupledCoupling Between ObjectsNumber of other classes coupled to. [aka CBO (coupling between object classes)]
CountClassDerivedNumber of ChildrenNumber of immediate subclasses. [aka NOC (number of children)]
CountDeclClassClassesNumber of classes.
CountDeclClassMethodClass MethodsNumber of class methods.
CountDeclClassVariableClass VariablesNumber of class variables.
CountDeclExecutableUnitExecutable UnitNumber of program units with executable code.
CountDeclFileNumber of FilesNumber of files.
CountDeclFunctionFunctionNumber of functions.
CountDeclInstanceMethodInstance MethodsNumber of instance methods. [aka NIM]
CountDeclInstanceVariableInstance VariablesNumber of instance variables. [aka NIV]
CountDeclInstanceVariableInternalInternal Instance VariablesNumber of internal instance variables.
CountDeclInstanceVariablePrivatePrivate Instance VariablesNumber of private instance variables.
CountDeclInstanceVariableProtectedProtected Instance VariablesNumber of protected instance variables.
CountDeclInstanceVariableProtectedInternalProtected Internal Instance VariablesNumber of protected internal instance variables.
CountDeclInstanceVariablePublicPublic Instance VariablesNumber of public instance variables.
CountDeclMethodLocal MethodsNumber of local methods.
CountDeclMethodAllMethodsNumber of methods, including inherited ones. [aka RFC (response for class)]
CountDeclMethodConstLocal Const MethodsNumber of local const methods.
CountDeclMethodDefaultLocal Default Visibility MethodsNumber of local default methods.
CountDeclMethodFriendFriend MethodsNumber of local friend methods. [aka NFM]
CountDeclMethodInternalLocal Internal MethodsNumber of local internal methods.
CountDeclMethodPrivatePrivate MethodsNumber of local private methods. [aka NPM]
CountDeclMethodProtectedProtected MethodsNumber of local protected methods.
CountDeclMethodProtectedInternalLocal Protected Internal MethodsNumber of local protected internal methods.
CountDeclMethodPublicPublic MethodsNumber of local public methods. [aka NPRM]
CountDeclMethodStrictPrivateLocal strict private methodsNumber of local strict private methods.
CountDeclMethodStrictPublishedLocal strict published methodsNumber of local strict published methods.
CountDeclModuleModulesNumber of modules.
CountDeclProgUnitProgram UnitsNumber of non-nested modules, block data units, and subprograms.
CountDeclPropertyPropertiesNumber of properties.
CountDeclPropertyAutoAuto Implemented PropertiesNumber of auto-implemented properties.
CountDeclSubprogramSubprogramsNumber of subprograms.
CountInputInputsNumber of calling subprograms plus global variables read. [aka FANIN]
CountLinePhysical LinesNumber of all lines. [aka NL]
CountLineBlankBlank Lines of CodeNumber of blank lines. [aka BLOC]
CountLineBlank_HtmlBlank html linesNumber of blank html lines.
CountLineBlank_JavascriptBlank javascript linesNumber of blank javascript lines.
CountLineBlank_PhpBlank php linesNumber of blank php lines.
CountLineCodeSource Lines of CodeNumber of lines containing source code. [aka LOC]
CountLineCodeDeclDeclarative Lines of CodeNumber of lines containing declarative source code.
CountLineCodeExeExecutable Lines of CodeNumber of lines containing executable source code.
CountLineCode_JavascriptJavascript source code linesNumber of javascript lines containing source code.
CountLineCode_PhpPHP Source Code LinesNumber of php lines containing source code.
CountLineCommentLines with CommentsNumber of lines containing comment. [aka CLOC]
CountLineComment_HtmlHTML Comment LinesNumber of html lines containing comment.
CountLineComment_JavascriptJavascript Comment LinesNumber of javascript lines containing comment.
CountLineComment_PhpPHP Comment LinesNumber of php lines containing comment.
CountLineInactiveInactive LinesNumber of inactive lines.
CountLinePreprocessorPreprocessor LinesNumber of preprocessor lines.
CountLine_HtmlHTMLLinesNumber of all html lines.
CountLine_JavascriptJavascript LinesNumber of all javascript lines.
CountLine_PhpPHP LinesNumber of all php lines.
CountOutputOutputsNumber of called subprograms plus global variables set. [aka FANOUT]
CountPackageCoupledCoupled PackagesNumber of other packages coupled to.
CountPathPathsNumber of possible paths, not counting abnormal exits or gotos. [aka NPATH]
CountPathLogPaths Log(x)Log10, truncated to an integer value, of the metric CountPath
CountSemicolonSemicolonsNumber of semicolons.
CountStmtStatementsNumber of statements.
CountStmtDeclDeclarative StatementsNumber of declarative statements.
CountStmtDecl_JavascriptJavascript Declarative StatementsNumber of javascript declarative statements.
CountStmtDecl_PhpPHP Declarative StatementsNumber of php declarative statements.
CountStmtEmptyEmpty StatementsNumber of empty statements.
CountStmtExeExecutable StatementsNumber of executable statements.
CountStmtExe_JavascriptJavascript Executable StatementsNumber of javascript executable statements.
CountStmtExe_PhpPHP Executable StatementsNumber of php executable statements.
CyclomaticCyclomatic ComplexityCyclomatic complexity.
CyclomaticModifiedModified Cyclomatic ComplexityModified cyclomatic complexity.
CyclomaticStrictStrict Cyclomatic ComplexityStrict cyclomatic complexity.
EssentialEssential ComplexityEssential complexity. [aka Ev(G)]
EssentialStrictModifiedEssential Strict Modified ComplexityStrict Modified Essential complexity.
KnotsKnotsMeasure of overlapping jumps.
MaxCyclomaticMax Cyclomatic ComplexityMaximum cyclomatic complexity of all nested functions or methods.
MaxCyclomaticModifiedMax Modified Cyclomatic ComplexityMaximum modified cyclomatic complexity of nested functions or methods.
MaxCyclomaticStrictMax Strict Cyclomatic ComplexityMaximum strict cyclomatic complexity of nested functions or methods.
MaxEssentialMax Essential ComplexityMaximum essential complexity of all nested functions or methods.
MaxEssentialKnotsMax KnotsMaximum Knots after structured programming constructs have been removed.
MaxEssentialStrictModifiedMax Essential Strict Modified ComplexityMaximum strict modified essential complexity of all nested functions or methods.
MaxInheritanceTreeDepth of Inheritance TreeMaximum depth of class in inheritance tree. [aka DIT]
MaxNestingNestingMaximum nesting level of control constructs.
MinEssentialKnotsMinimum KnotsMinimum Knots after structured programming constructs have been removed.
PercentLackOfCohesionLack of Cohesion in Methods100% minus the average cohesion for package entities. [aka LCOM, LOCM]
PercentLackOfCohesionModifiedModified Lack of Cohesion in Methods100% minus the average cohesion for class data members, modified for accessor methods
RatioCommentToCodeComment to Code RatioRatio of comment lines to code lines.
SumCyclomaticSum Cyclomatic ComplexitySum of cyclomatic complexity of all nested functions or methods. [aka WMC]
SumCyclomaticModifiedSum Modified Cyclomatic ComplexitySum of modified cyclomatic complexity of all nested functions or methods.
SumCyclomaticStrictSum Strict Cyclomatic ComplexitySum of strict cyclomatic complexity of all nested functions or methods.
SumEssentialSum Essential ComplexitySum of essential complexity of all nested functions or methods.
SumEssentialStrictModifiedSum Essential Strict Modified ComplexitySum of strict modified essential complexity of all nested functions or methods.