Need Help?

Email Support
Email Sales
Call 435.627.2529

What metrics does Understand have?

This list is intended to be comprehensive, but we do make errors. If you don't see a metric you want, it may be named differently, or we may have it but forgot to add it to this list, or we may need to add it. E-mail us and we can sort it out for you.

Language Key:
  • A = Ada 83 or Ada 95
  • C = C/C++
  • F = FORTRAN
  • J = Java
  • P = Pascal
  • V = Jovial
So "CFJ" in the File column means the metric is available for Files and for the C/C++, FORTRAN and Java languages.

Column Header explanations:

  • Understand API Metric Name - the name used to get the metric when programming with Understand's PERL or C/C++ API.
  • Project - the metric is available as a measure for an entire project.
  • File - metric available as measure for entire file.
  • Function or Program Unit - metric is available as a measure for a function, method, or Program Unit.
  • Class- metric is available as measure of a Class.
  • Common Name - the name of the metric as described in most metrics literature. Not all metrics have this.


Understand API Metric Name and DescriptionProjectFile Function or Program UnitClassCommon Name

AvgCyclomatic -- Average cyclomatic complexity for all nested functions or methods.ACFJPVCJP
AvgCyclomaticModified -- Average modified cyclomatic complexity for all nested functions or methods.ACFJPVCJP
AvgCyclomaticStrict -- Average strict cyclomatic complexity for all nested functions or methods.ACJCJP
AvgEssential -- Average essential cyclomatic complexity for all nested functions or methods.ACFJCJ
AvgLine -- Average number of lines for all nested functions or methods.ACFPVCJ
AvgLineBlank -- Average number of blank for all nested functions or methods.ACFPVCJ
AvgLineCode -- Average number of lines containing source code for all nested functions or methods.ACFPVCJ
AvgLineComment -- Average number of lines containing comment for all nested functions or methods.ACFPVCJ
CountClassBase -- Number of immediate base classes. CJIFANIN
CountClassCoupled -- Number of other classes coupled to. CJCBO, Coupling between Object classes
CountClassDerived -- Number of immediate subclasses. CJNOC, Number Of Children
CountDeclClass -- Number of classes.CJCJ
CountDeclClassMethod -- Number of class methods.CJ
CountDeclClassVariable -- Number of class variables.CJ
CountDeclFile -- Number of files.ACFJPV
CountDeclFileCode -- Number of code files.C
CountDeclFileHeader -- Number of header files.C
CountDeclFunction -- Number of functions.CJCJ
CountDeclInstanceMethod -- Number of instance methods. CJNIM
CountDeclInstanceVariable -- Number of instance variables. CJNIV
CountDeclInstanceVariablePrivate -- Number of private instance variables.C
CountDeclInstanceVariableProtected -- Number of protected instance variables.C
CountDeclInstanceVariablePublic -- Number of public instance variables.C
CountDeclLibunit -- Number of library units.A
CountDeclMethod -- Number of local methods. CJWMC
CountDeclMethodAll -- Number of methods, including inherited ones. CJRFC, Response For Class
CountDeclMethodConst -- Number of local const methods.C
CountDeclMethodDefault -- Number of local default visibility methods.J
CountDeclMethodFriend -- Number of local friend methods. CNFM
CountDeclMethodPrivate -- Number of local private methods. CJNPRM
CountDeclMethodProtected -- Number of local protected methods.CJ
CountDeclMethodPublic -- Number of local public methods. CJNPM
CountDeclModule -- Number of modules.FPFPVF
CountDeclProgUnit -- Number of program units.FF
CountDeclSubprogram -- Number of subprograms.FPVFPVFPVV
CountInput -- Number of calling subprograms plus global variables read. CJFANIN
CountLine -- Number of all lines. ACFJPVACFJPVACFJPVACJVNL
CountLineBlank -- Number of blank lines. ACFJPVACFJPVACFJPVACJVBLOC
CountLineCode -- Number of lines containing source code. ACFJPVACFJPVACFJPVACJVLOC
CountLineCodeDecl -- Number of lines containing declarative source code.ACACACAC
CountLineCodeExe -- Number of lines containing executable source code.ACACACAC
CountLineComment -- Number of lines containing comment. ACFJPVACFJPVACFJPVACJVCLOC
CountLineInactive -- Number of inactive lines.CCCC
CountLinePreprocessor -- Number of preprocessor lines.CCCC
CountOutput -- Number of called subprograms plus global variables set. CJFANOUT
CountPath -- Number of possible paths, not counting abnormal exits or gotos. CFJANPATH
CountSemicolon -- Number of semicolons.ACJACJACJAJ
CountStmt -- Number of declarative plus executable statements.ACFJVACFJPVACFJPVACJV
CountStmtDecl -- Number of declarative statements.ACFJPVACFJPVACFJPVACJV
CountStmtEmpty -- Number of empty statements.CCCC
CountStmtExe -- Number of executable statements.ACFJPVACFJPVACFJPVACJ
Cyclomatic -- Cyclomatic complexity.ACFJPVA
CyclomaticModified -- Modified cyclomatic complexity.ACFJPVA
CyclomaticStrict -- Strict cyclomatic complexity.ACJPVA
Essential -- Essential complexity. ACFJAev(G)
Knots -- Measure of overlapping jumps.ACA
MaxCyclomatic -- Maximum cyclomatic complexity of all nested functions or methods.CJCJ
MaxCyclomaticModified -- Maximum modified cyclomatic complexity of all nested functions or methods.CJCJ
MaxCyclomaticStrict -- Maximum strict cyclomatic complexity of all nested functions or methods.CJCJ
MaxEssentialKnots -- Maximum Knots after structured programming constructs have been removed.ACA
MaxInheritanceTree -- Maximum depth of class in inheritance tree. CJDIT
MaxNesting -- Maximum nesting level of control constructs.ACFJPVA
MinEssentialKnots -- Minimum Knots after structured programming constructs have been removed.ACA
RatioCommentToCode -- Ratio of number of comment lines to number of code lines.ACFJPVACJPVACFJPVACJV
PercentLackOfCohesion -- 100% minus average cohesion for class data members. CJLCOM/LOCM
SumCyclomatic -- Sum of cyclomatic complexity of all nested functions or methods. CJCJWMC
SumCyclomaticModified -- Sum of modified cyclomatic complexity of all nested functions or methods.CJCJ
SumCyclomaticStrict -- Sum of strict cyclomatic complexity of all nested functions or methods.CJCJ
SumEssential -- Sum of essential complexity of all nested functions or methods.CJCJ
©1996-2008 Scientific Toolworks, Inc. All rights reserved.