Metrics


All Metrics


Select to view a specific type of metric:
Friendly NameAPI NameDescription
Average Number of Blank Lines (Include Inactive)AltAvgLineBlankAverage number of blank lines for all nested functions or methods, including inactive regions.
Average Number of Lines of Code (Include Inactive)AltAvgLineCodeAverage number of lines containing source code for all nested functions or methods, including inactive regions.
Average Number of Lines with Comments (Include Inactive)AltAvgLineCommentAverage number of lines containing comment for all nested functions or methods, including inactive regions.
Blank Lines of Code (Include Inactive)AltCountLineBlankNumber of blank lines, including inactive regions.
Lines of Code (Include Inactive)AltCountLineCodeNumber of lines containing source code, including inactive regions.
Lines with Comments (Include Inactive)AltCountLineCommentNumber of lines containing comment, including inactive regions.
Average Cyclomatic ComplexityAvgCyclomaticAverage cyclomatic complexity for all nested functions or methods.
Average Modified Cyclomatic ComplexityAvgCyclomaticModifiedAverage modified cyclomatic complexity for all nested functions or methods.
Average Strict Cyclomatic ComplexityAvgCyclomaticStrictAverage strict cyclomatic complexity for all nested functions or methods.
Average Essential Cyclomatic ComplexityAvgEssentialAverage Essential complexity for all nested functions or methods.
Average Number of LinesAvgLineAverage number of lines for all nested functions or methods.
Average Number of Blank LinesAvgLineBlankAverage number of blank for all nested functions or methods.
Average Number of Lines of CodeAvgLineCodeAverage number of lines containing source code for all nested functions or methods.
Average Number of Lines with CommentsAvgLineCommentAverage number of lines containing comment for all nested functions or methods.
Base ClassesCountClassBaseNumber of immediate base classes. [aka IFANIN]
Coupling Between ObjectsCountClassCoupledNumber of other classes coupled to. [aka CBO (coupling between object classes)]
Number of ChildrenCountClassDerivedNumber of immediate subclasses. [aka NOC (number of children)]
ClassesCountDeclClassNumber of classes.
Class MethodsCountDeclClassMethodNumber of class methods.
Class VariablesCountDeclClassVariableNumber of class variables.
FunctionCountDeclFunctionNumber of functions.
Instance MethodsCountDeclInstanceMethodNumber of instance methods. [aka NIM]
Instance VariablesCountDeclInstanceVariableNumber of instance variables. [aka NIV]
Private Instance VariablesCountDeclInstanceVariablePrivateNumber of private instance variables.
Protected Instance VariablesCountDeclInstanceVariableProtectedNumber of protected instance variables.
Public Instance VariablesCountDeclInstanceVariablePublicNumber of public instance variables.
Local MethodsCountDeclMethodNumber of local methods.
MethodsCountDeclMethodAllNumber of methods, including inherited ones. [aka RFC (response for class)]
Local Const MethodsCountDeclMethodConstNumber of local const methods.
Local Default Visibility MethodsCountDeclMethodDefaultNumber of local default methods.
Friend MethodsCountDeclMethodFriendNumber of local friend methods. [aka NFM]
Private MethodsCountDeclMethodPrivateNumber of local private methods. [aka NPM]
Protected MethodsCountDeclMethodProtectedNumber of local protected methods.
Public MethodsCountDeclMethodPublicNumber of local public methods. [aka NPRM]
Local strict private methodsCountDeclMethodStrictPrivateNumber of local strict private methods.
Local strict published methodsCountDeclMethodStrictPublishedNumber of local strict published methods.
ModulesCountDeclModuleNumber of modules.
Program UnitsCountDeclProgUnitNumber of non-nested modules, block data units, and subprograms.
SubprogramsCountDeclSubprogramNumber of subprograms.
InputsCountInputNumber of subprograms calledby plus global variables read. [aka FANIN]
Physical LinesCountLineNumber of all lines. [aka NL]
Blank Lines of CodeCountLineBlankNumber of blank lines. [aka BLOC]
Blank html linesCountLineBlank_HtmlNumber of blank html lines.
Blank javascript linesCountLineBlank_JavascriptNumber of blank javascript lines.
Blank php linesCountLineBlank_PhpNumber of blank php lines.
Source Lines of CodeCountLineCodeNumber of lines containing source code. [aka LOC]
Declarative Lines of CodeCountLineCodeDeclNumber of lines containing declarative source code.
Executable Lines of CodeCountLineCodeExeNumber of lines containing executable source code.
Javascript source code linesCountLineCode_JavascriptNumber of javascript lines containing source code.
PHP Source Code LinesCountLineCode_PhpNumber of php lines containing source code.
Lines with CommentsCountLineCommentNumber of lines containing comment. [aka CLOC]
HTML Comment LinesCountLineComment_HtmlNumber of html lines containing comment.
Javascript Comment LinesCountLineComment_JavascriptNumber of javascript lines containing comment.
PHP Comment LinesCountLineComment_PhpNumber of php lines containing comment.
Inactive LinesCountLineInactiveNumber of inactive lines.
Preprocessor LinesCountLinePreprocessorNumber of preprocessor lines.
HTMLLinesCountLine_HtmlNumber of all html lines.
Javascript LinesCountLine_JavascriptNumber of all javascript lines.
PHP LinesCountLine_PhpNumber of all php lines.
OutputsCountOutputNumber of subprograms called plus global variables set. [aka FANOUT]
Coupled PackagesCountPackageCoupledNumber of other packages coupled to.
PathsCountPathNumber of possible paths, not counting abnormal exits or gotos. [aka NPATH]
SemicolonsCountSemicolonNumber of semicolons.
StatementsCountStmtNumber of statements.
Declarative StatementsCountStmtDeclNumber of declarative statements.
Javascript Declarative StatementsCountStmtDecl_JavascriptNumber of javascript declarative statements.
PHP Declarative StatementsCountStmtDecl_PhpNumber of php declarative statements.
Empty StatementsCountStmtEmptyNumber of empty statements.
Executable StatementsCountStmtExeNumber of executable statements.
Javascript Executable StatementsCountStmtExe_JavascriptNumber of javascript executable statements.
PHP Executable StatementsCountStmtExe_PhpNumber of php executable statements.
Cyclomatic ComplexityCyclomaticCyclomatic complexity.
Modified Cyclomatic ComplexityCyclomaticModifiedModified cyclomatic complexity.
Strict Cyclomatic ComplexityCyclomaticStrictStrict cyclomatic complexity.
Essential ComplexityEssentialEssential complexity. [aka Ev(G)]
KnotsKnots Measure of overlapping jumps.
Max Cyclomatic ComplexityMaxCyclomaticMaximum cyclomatic complexity of all nested functions or methods.
Max Modified Cyclomatic ComplexityMaxCyclomaticModifiedMaximum modified cyclomatic complexity of nested functions or methods.
Max Strict Cyclomatic ComplexityMaxCyclomaticStrictMaximum strict cyclomatic complexity of nested functions or methods.
Max KnotsMaxEssentialKnotsMaximum Knots after structured programming constructs have been removed.
Depth of Inheritance TreeMaxInheritanceTreeMaximum depth of class in inheritance tree. [aka DIT]
NestingMaxNestingMaximum nesting level of control constructs.
Minimum KnotsMinEssentialKnotsMinimum Knots after structured programming constructs have been removed.
Lack of Cohesion in MethodsPercentLackOfCohesion100% minus the average cohesion for package entities. [aka LCOM, LOCM]
Comment to Code RatioRatioCommentToCodeRatio of comment lines to code lines.
Sum Cyclomatic ComplexitySumCyclomaticSum of cyclomatic complexity of all nested functions or methods. [aka WMC]
Sum Modified Cyclomatic ComplexitySumCyclomaticModifiedSum of modified cyclomatic complexity of all nested functions or methods.
Sum Strict Cyclomatic ComplexitySumCyclomaticStrictSum of strict cyclomatic complexity of all nested functions or methods.
Sum Essential ComplexitySumEssentialSum of essential complexity of all nested functions or methods.



Average Number of Blank Lines (Include Inactive)

API Name: AltAvgLineBlank
Description: Average number of blank lines for all nested functions or methods, including inactive regions.
Metric available for:
C/C++: Project,File,Class,Struct,Union
Cobol: File

Click Here To Download Understand!


Back to Top



Average Number of Lines of Code (Include Inactive)

API Name: AltAvgLineCode
Description: Average number of lines containing source code for all nested functions or methods, including inactive regions.
Metric available for:
C/C++: Project,File,Class,Struct,Union
Cobol: File

Click Here To Download Understand!


Back to Top



Average Number of Lines with Comments (Include Inactive)

API Name: AltAvgLineComment
Description: Average number of lines containing comment for all nested functions or methods, including inactive regions.
Metric available for:
C/C++: Project,File,Class,Struct,Union
Cobol: File

Click Here To Download Understand!


Back to Top



Blank Lines of Code (Include Inactive)

API Name: AltCountLineBlank
Description: Number of blank lines, including in inactive regions.
Metric available for:
C/C++: Project,File,Class,Struct,Union,Function
Cobol: File

Click Here To Download Understand!


Back to Top



Lines of Code (Include Inactive)

API Name: AltCountLineCode
Description: Number of lines containing source code, including inactive regions.
Metric available for:
C/C++: Project,File,Class,Struct,Union,Function
Cobol: File

Click Here To Download Understand!


Back to Top



Lines with Comments (Include Inactive)

API Name: AltCountLineComment
Description: Number of lines containing comments, including comments within inactive regions.
Metric available for:
C/C++: Project,File,Class,Struct,Union,Function
Cobol: File

Click Here To Download Understand!


Back to Top



Average Cyclomatic Complexity

API Name: AvgCyclomatic
Description: Average cyclomatic complexity for all nested functions or methods.
Metric available for:
C/C++: Project,File,Class,Struct,Union
C#: Project,File,Class,Struct
Ada: Project,File,Package
Fortran: Project,File
Java: Project,File,Class,Interface
Jovial: Project,File
Pascal: Project,File,Class,Interface,Compunit
PL/M: Project,File
VHDL: Project,File,Architecture
Cobol: Project,File,Program
Web: Project,File,PHP Class,PHP Interface

Click Here To Download Understand!


Back to Top



Average Modified Cyclomatic Complexity

API Name: AvgCyclomaticModified
Description: Average modified cyclomatic complexity for all nested functions or methods.
Metric available for:
C/C++: Project,File,Class,Struct,Union
C#: Project,File,Class,Struct
Ada: Project,File,Package
Fortran: Project,File
Java: Project,File,Class,Interface
Jovial: Project,File
Pascal: Project,File,Class,Interface,Compunit
PL/M: Project,File
VHDL: Project,File,Architecture
Cobol: Project,File,Program
Web: Project,File,PHP Class,PHP Interface

Click Here To Download Understand!


Back to Top



Average Strict Cyclomatic Complexity

API Name: AvgCyclomaticStrict
Description: Average strict cyclomatic complexity for all nested functions or methods.
Metric available for:
C/C++: Project,File,Class,Struct,Union
C#: Project,File,Class,Struct
Ada: Project,File,Package
Java: Project,File,Class,Interface
Pascal: Project,File,Class,Interface,Compunit
Cobol: File,Program
Web: Project,File,PHP Class,PHP Interface

Click Here To Download Understand!


Back to Top



Average Essential Cyclomatic Complexity

API Name: AvgEssential
Description: Average essential cyclomatic complexity for all nested functions or methods.
Metric available for:
C/C++: Project,File,Class,Struct,Union
C#: Project,File,Class,Struct
Ada: Project,File,Package
Fortran: Project,File
Java: Project,File,Class,Interface
Cobol: File
Web: Project,File,PHP Class,PHP Interface

Click Here To Download Understand!


Back to Top



Average Number of Lines

API Name: AvgLine
Description: Average number of lines for all nested functions or methods.
Metric available for:
C/C++: Project,File,Class,Struct,Union
C#: Project,File,Class,Struct
Ada: Project,File,Package
Fortran: Project,File
Java: Project,Class,Interface
Jovial: Project,File
Pascal: Project,File,Class,Interface
PL/M: Project,File
Cobol: File
Web: Project,File,PHP Class,PHP Interface

Click Here To Download Understand!


Back to Top



Average Number of Blank Lines

API Name: AvgLineBlank
Description: Average number of blank for all nested functions or methods.
Metric available for:
C/C++: Project,File,Class,Struct,Union
C#: Project,File,Class,Struct
Ada: Project,File,Package
Fortran: Project,File
Java: Project,Class,Interface
Jovial: Project,File
Pascal: Project,File,Class,Interface
PL/M: Project,File
Cobol: File
Web: Project,File,PHP Class,PHP Interface

Click Here To Download Understand!


Back to Top



Average Number of Lines of Code

API Name: AvgLineCode
Research: Lorenz & Kidd - Average Method Size (AMS)
Description: Average number of lines containing source code for all nested functions or methods.
Metric available for:
C/C++: Project,File,Class,Struct,Union
C#: Project,File,Class,Struct
Ada: Project,File,Package
Fortran: Project,File
Java: Project,Class,Interface
Jovial: Project,File
Pascal: Project,File,Class,Interface
PL/M: Project,File
Cobol: File
Web: Project,File,PHP Class,PHP Interface

Click Here To Download Understand!


Back to Top



Average Number of Lines with Comments

API Name: AvgLineComment
Description: Average number of lines containing comment for all nested functions or methods.
Metric available for:
C/C++: Project,File,Class,Struct,Union
C#: Project,File,Class,Struct
Ada: Project,File,Package
Fortran: Project,File
Java: Project,Class,Interface
Jovial: Project,File
Pascal: Project,File,Class,Interface
PL/M: Project,File
Cobol: File
Web: Project,File,PHP Class,PHP Interface

Click Here To Download Understand!


Back to Top



Base Classes

API Name: CountClassBase
Research: IFANIN
Description: Number of immediate base classes.
Metric available for:
C/C++: Class,Struct,Union
C#: Class,Struct
Java: Class,Interface
Pascal: Class,Interface

Click Here To Download Understand!


Back to Top



Coupling Between Objects

API Name: CountClassCoupled
Research: Chidamber & Kemerer - Coupling Between Objects (CBO)
Description: The Coupling Between Object Classes (CBO) measure for a class is a count of the number of other classes to which it is coupled. Class A is coupled to class B if class A uses a type, data, or member from class B. This metric is also referred to as Efferent Coupling (Ce). Any number of couplings to a given class counts as 1 towards the metric total

Chidamber & Kemerer suggest that:
1) Excessive coupling between object classes is detrimental to modular design and prevents reuse.
2) Inter-object class couples should be kept to a minimum.
3) The higher the inter-object class coupling, the more rigorous testing needs to be.
Metric available for:
C/C++: Class,Struct,Union
C#: Class,Struct
Java: Class,Interface
Pascal: Class,Interface

Click Here To Download Understand!


Back to Top



Number of Children

API Name: CountClassDerived
Research: Chidamber & Kemerer - Number of Children (NOC)
Description: Number of immediate subclasses. (i.e. the number of classes one level down the inheritance tree from this class).
Metric available for:
C/C++: Class,Struct,Union
C#: Class,Struct
Java: Class,Interface
Pascal: Class,Interface

Click Here To Download Understand!


Back to Top



Classes

API Name: CountDeclClass
Description: Number of classes.
Metric available for:
C/C++: Project,File
C#: Project,File
Java: Project,File
Pascal: Project,File
Cobol: File
Web: Project,File

Click Here To Download Understand!


Back to Top



Class Methods

API Name: CountDeclClassMethod
Description: Number of class methods.
Metric available for:
C/C++: Project,Class,Struct,Union
C#: Project,Class,Struct
Java: Project,Class,Interface
Pascal: Project,Class,Interface

Click Here To Download Understand!


Back to Top



Class Variables

API Name: CountDeclClassVariable
Research: Lorenz & Kidd - Number of Variables (NV)
Description: Number of class variables.
Metric available for:
C/C++: Project,Class,Struct,Union
C#: Project,Class,Struct
Java: Project,Class,Interface
Pascal: Project,Class,Interface

Click Here To Download Understand!


Back to Top



Function

API Name: CountDeclFunction
Description: Number of functions.
Metric available for:
C/C++: Project,File
C#: Project,File
Java: Project,File
Cobol: File
Web: Project,File

Click Here To Download Understand!


Back to Top



Instance Methods

API Name: CountDeclInstanceMethod
Research: NIM
Description: Number of instance methods.
Metric available for:
C/C++: Project,Class,Struct,Union
C#: Project,Class,Struct
Java: Project,Class,Interface
Pascal: Project,Class,Interface

Click Here To Download Understand!


Back to Top



Instance Variables

API Name: CountDeclInstanceVariable
Research: NIV
Description: Number of instance variables.
Metric available for:
C/C++: Project,Class,Struct,Union
C#: Project,Class,Struct
Java: Project,Class,Interface
Pascal: Project,Class,Interface

Click Here To Download Understand!


Back to Top



Private Instance Variables

API Name: CountDeclInstanceVariablePrivate
Description: Number of private instance variables.
Metric available for:
C/C++: Project,Class,Struct,Union

Click Here To Download Understand!


Back to Top



Protected Instance Variables

API Name: CountDeclInstanceVariableProtected
Description: Number of protected instance variables.
Metric available for:
C/C++: Project,Class,Struct,Union

Click Here To Download Understand!


Back to Top



Public Instance Variables

API Name: CountDeclInstanceVariablePublic
Description: Number of public instance variables.
Metric available for:
C/C++: Project,Class,Struct,Union

Click Here To Download Understand!


Back to Top



Local Methods

API Name: CountDeclMethod
Research: Chidamber & Kemerer - Weighted Methods per Class (WMC)
Description: Number of local (not inherited) methods.
Metric available for:
C/C++: Project,Class,Struct,Union
C#: Project,Class,Struct
Java: Project,Class,Interface
Pascal: Project,Class,Interface

Click Here To Download Understand!


Back to Top



Methods

API Name: CountDeclMethodAll
Research: Chidamber & Kemerer - Response For a Class (RFC),Lorenz & Kidd - Number of Methods(NM)
Description: Number of methods, including inherited ones.
Metric available for:
C/C++: Project,Class,Struct,Union
C#: Project,Class
Java: Project,Class,Interface
Pascal: Project,Class,Interface

Click Here To Download Understand!


Back to Top



Local Const Methods

API Name: CountDeclMethodConst
Description: Number of local const methods.
Metric available for:
C/C++: Project,Class,Struct,Union

Click Here To Download Understand!


Back to Top



Local Default Visibility Methods

API Name: CountDeclMethodDefault
Description: Number of local default visibility methods.
Metric available for:
Java: Project,Class,Interface

Click Here To Download Understand!


Back to Top



Friend Methods

API Name: CountDeclMethodFriend
Research: Lorenz & Kidd - Number of Friends (NF),Number of Friend Methods (NFM)
Description: Number of local (not inherited) friend methods.
Metric available for:
C/C++: Project,Class,Struct,Union

Click Here To Download Understand!


Back to Top



Private Methods

API Name: CountDeclMethodPrivate
Research: Number Private Methods (NPRM)
Description: Number of local (not inherited) private methods.
Metric available for:
C/C++: Project,Class,Struct,Union
C#: Project,Class,Struct
Java: Project,Class,Interface
Pascal: Project,Class,Interface

Click Here To Download Understand!


Back to Top



Protected Methods

API Name: CountDeclMethodProtected
Description: Number of local protected methods.
Metric available for:
C/C++: Project,Class,Struct,Union
C#: Project,Class,Struct
Java: Project,Class,Interface
Pascal: Project,Class,Interface

Click Here To Download Understand!


Back to Top



Public Methods

API Name: CountDeclMethodPublic
Research: Lorenz & Kidd - Number of Public Methods (PM),NPM
Description: Number of public methods. Only counts local (not inherited) methods.
Metric available for:
C/C++: Project,Class,Struct,Union
C#: Project,Class,Struct
Java: Project,Class,Interface
Pascal: Project,Class,Interface

Click Here To Download Understand!


Back to Top



Local strict private methods

API Name: CountDeclMethodStrictPrivate
Description: Number of local strict private methods.
Metric available for:
Pascal: Project,Class,Interface

Click Here To Download Understand!


Back to Top



Local strict published methods

API Name: CountDeclMethodStrictPublished
Description: Number of local strict published methods.
Metric available for:
Pascal: Project,Class,Interface

Click Here To Download Understand!


Back to Top



Modules

API Name: CountDeclModule
Description: Number of modules.
Metric available for:
Fortran: Project,File,Module,Block Data,Function,Program,Subroutine
Jovial: Project,File
Pascal: Project,File
PL/M: Project
Cobol: File,Program

Click Here To Download Understand!


Back to Top



Program Units

API Name: CountDeclProgUnit
Description: Number of program units.
Metric available for:
Fortran: Project,File
Cobol: File

Click Here To Download Understand!


Back to Top



Subprograms

API Name: CountDeclSubprogram
Description: Number of subprograms.
Metric available for:
Ada: Project,Package
Fortran: Project,File,Module,Block Data,Function,Program,Subroutine
Jovial: Project,File,Module,Subroutine
Pascal: Project,File,Compunit,Function,Procedure
Cobol: File,Program

Click Here To Download Understand!


Back to Top



Inputs

API Name: CountInput
Research: FANIN
Description: The number of inputs a function uses plus the number of unique subprograms calling the function. Inputs include parameters and global variables that are used in the function, so Functions calledby + Parameters read + Global Variables read. Of the two general approachs to calculating FANIN (informational versus structural) ours is the informational approach.
Metric available for:
C/C++: Function
C#: Method
Java: Method

Click Here To Download Understand!


Back to Top



Physical Lines

API Name: CountLine
Research: NL
Description: Number of physical lines.
Metric available for:
C/C++: Project,File,Class,Struct,Union,Function
C#: Project,File,Class,Method
Ada: Project,File,Type,Entry,Function,Package,Procedure,Protected,Task
Fortran: Project,File,Module,Block Data,Function,Program,Subroutine
Java: Project,File,Class,Interface,Method
Jovial: Project,File,Module,Subroutine
Pascal: Project,File,Class,Interface,Compunit,Function,Procedure
PL/M: Project,File,Procedure
VHDL: Project,File,Procedure,Function,Process,Architecture
Cobol: Project,File,Program
Web: Project,File,PHP Class,PHP Interface

Click Here To Download Understand!


Back to Top



Blank Lines of Code

API Name: CountLineBlank
Research: BLOC
Description: Number of blank lines.
Metric available for:
C/C++: Project,File,Class,Struct,Union,Function
C#: Project,File,Class,Method
Ada: Project,File,Type,Entry,Function,Package,Procedure,Protected,Task
Fortran: Project,File,Module,Block Data,Function,Program,Subroutine
Java: Project,File,Class,Interface,Method
Jovial: Project,File,Module,Subroutine
Pascal: Project,File,Class,Interface,Compunit,Function,Procedure
PL/M: Project,File,Procedure
VHDL: Project,File,Procedure,Function,Process,Architecture
Cobol: Project,File,Program
Web: Project,File,PHP Class,PHP Interface

Click Here To Download Understand!


Back to Top



Blank html lines

API Name: CountLineBlank_Html
Description: Number of blank html lines.
Metric available for:
Cobol: File
Web: Project,File

Click Here To Download Understand!


Back to Top



Blank javascript lines

API Name: CountLineBlank_Javascript
Description: Number of blank javascript lines.
Metric available for:
Cobol: File
Web: Project,File

Click Here To Download Understand!


Back to Top



Blank php lines

API Name: CountLineBlank_Php
Description: Number of blank php lines.
Metric available for:
Cobol: File
Web: Project,File,PHP Class,PHP Interface

Click Here To Download Understand!


Back to Top



Source Lines of Code

API Name: CountLineCode
Research: LOC, SLOC
Description: The number of lines that contain source code. Note that a line can contain source and a comment and thus count towards multiple metrics. For Classes this is the sum of the CountLineCode for the member functions of the class.
Metric available for:
C/C++: Project,File,Class,Struct,Union,Function
C#: Project,File,Class,Method
Ada: Project,File,Type,Entry,Function,Package,Procedure,Protected,Task
Fortran: Project,File,Module,Block Data,Function,Program,Subroutine
Java: Project,File,Class,Interface,Method
Jovial: Project,File,Module,Subroutine
Pascal: Project,File,Class,Interface,Compunit,Function,Procedure
PL/M: Project,File,Procedure
VHDL: Project,File,Procedure,Function,Process,Architecture
Cobol: Project,File,Program
Web: Project,File,PHP Class,PHP Interface

Click Here To Download Understand!


Back to Top



Declarative Lines of Code

API Name: CountLineCodeDecl
Description: Number of lines containing declarative source code. Note that a line can be declarative and executable - int i =0; for instance.
Metric available for:
C/C++: Project,File,Class,Struct,Union,Function
C#: Project,File,Class,Method
Ada: Project,File,Type,Entry,Function,Package,Procedure,Protected,Task
Fortran: Project,File,Module,Block Data,Function,Program,Subroutine
Java: Project,File,Class,Interface,Method
Pascal: Project,File,Class,Interface,Compunit,Function,Procedure
Cobol: File,Program

Click Here To Download Understand!


Back to Top



Executable Lines of Code

API Name: CountLineCodeExe
Description: Number of lines containing executable source code.
Metric available for:
C/C++: Project,File,Class,Struct,Union,Function
C#: Project,File,Class,Method
Ada: Project,File,Type,Entry,Function,Package,Procedure,Protected,Task
Fortran: Project,File,Module,Block Data,Function,Program,Subroutine
Java: Project,File,Class,Interface,Method
Pascal: Project,File,Class,Interface,Compunit,Function,Procedure
Cobol: File,Program

Click Here To Download Understand!


Back to Top



Javascript source code lines

API Name: CountLineCode_Javascript
Description: Number of javascript lines containing source code.
Metric available for:
Cobol: File
Web: Project,File

Click Here To Download Understand!


Back to Top



PHP Source Code Lines

API Name: CountLineCode_Php
Description: Number of php lines containing source code.
Metric available for:
Cobol: File
Web: Project,File,PHP Class,PHP Interface

Click Here To Download Understand!


Back to Top



Lines with Comments

API Name: CountLineComment
Research: CLOC
Description: Number of lines containing comment. This can overlap with other code counting metrics. For instance int j = 1; // comment has a comment, is a source line, is an executable source line, and a declarative source line.
Metric available for:
C/C++: Project,File,Class,Struct,Union,Function
C#: Project,File,Class,Method
Ada: Project,File,Type,Entry,Function,Package,Procedure,Protected,Task
Fortran: Project,File,Module,Block Data,Function,Program,Subroutine
Java: Project,File,Class,Interface,Method
Jovial: Project,File,Module,Subroutine
Pascal: Project,File,Class,Interface,Compunit,Function,Procedure
PL/M: Project,File,Procedure
VHDL: Project,File,Procedure,Function,Process,Architecture
Cobol: Project,File,Program
Web: Project,File,PHP Class,PHP Interface

Click Here To Download Understand!


Back to Top



HTML Comment Lines

API Name: CountLineComment_Html
Description: Number of html lines containing comment.
Metric available for:
Cobol: File
Web: Project,File

Click Here To Download Understand!


Back to Top



Javascript Comment Lines

API Name: CountLineComment_Javascript
Description: Number of javascript lines containing comment.
Metric available for:
Cobol: File
Web: Project,File

Click Here To Download Understand!


Back to Top



PHP Comment Lines

API Name: CountLineComment_Php
Description: Number of php lines containing comment.
Metric available for:
Cobol: File
Web: Project,File,PHP Class,PHP Interface

Click Here To Download Understand!


Back to Top



Inactive Lines

API Name: CountLineInactive
Description: This is the number of lines that are inactive from the view of the preprocessor. In other words, they are on the FALSE side of a #if or #ifdef preprocessor directive.
Metric available for:
C/C++: Project,File,Class,Struct,Union,Function
Cobol: File

Click Here To Download Understand!


Back to Top



Preprocessor Lines

API Name: CountLinePreprocessor
Description: Number of preprocessor lines.
Metric available for:
C/C++: Project,File,Class,Struct,Union,Function
Cobol: File

Click Here To Download Understand!


Back to Top



HTMLLines

API Name: CountLine_Html
Description: Number of all html lines.
Metric available for:
Cobol: File
Web: Project,File

Click Here To Download Understand!


Back to Top



Javascript Lines

API Name: CountLine_Javascript
Description: Number of all javascript lines.
Metric available for:
Cobol: File
Web: Project,File

Click Here To Download Understand!


Back to Top



PHP Lines

API Name: CountLine_Php
Description: Number of all php lines.
Metric available for:
Cobol: File
Web: Project,File,PHP Class,PHP Interface

Click Here To Download Understand!


Back to Top



Outputs

API Name: CountOutput
Research: FANOUT
Description: The number of outputs that are SET. This can be parameters or global variables. So Functions calls + Parameters set/modify + Global Varibales set/modify. Of the two general approachs to calculating FANOUT (informational versus structural) ours is the informational approach.
Metric available for:
C/C++: Function
C#: Method
Java: Method

Click Here To Download Understand!


Back to Top



Coupled Packages

API Name: CountPackageCoupled
Description: Number of other packages coupled to.
Metric available for:
Ada: Project,Package

Click Here To Download Understand!


Back to Top



Paths

API Name: CountPath
Research: NPATH
Description: Number of unique paths though a body of code, not counting abnormal exits or gotos.
Metric available for:
C/C++: Project,Function
C#: Project,Method
Ada: Project,Type,Entry,Function,Package,Procedure,Protected,Task
Fortran: Project,Module,Block Data,Function,Program,Subroutine
Java: Project,Method
Cobol: File,Program
Web: Project,File

Click Here To Download Understand!


Back to Top



Semicolons

API Name: CountSemicolon
Description: Number of semicolons.
Metric available for:
C/C++: Project,File,Function
C#: Project,File,Class,Method
Ada: Project,File,Type,Entry,Function,Package,Procedure,Protected,Task
Java: Project,File,Class,Interface,Method
Cobol: File

Click Here To Download Understand!


Back to Top



Statements

API Name: CountStmt
Description: Number of declarative plus executable statements.
Metric available for:
C/C++: Project,File,Class,Struct,Union,Function
C#: Project,File,Class,Method
Ada: Project,File,Type,Entry,Function,Package,Procedure,Protected,Task
Fortran: Project,File,Block Data,Function,Program,Subroutine
Java: Project,File,Class,Interface,Method
Jovial: Project,File,Module,Subroutine
Pascal: Project,File,Class,Interface,Compunit,Function,Procedure
PL/M: Project,File,Procedure
VHDL: Project,File
Cobol: Project,File,Program
Web: Project,File

Click Here To Download Understand!


Back to Top



Declarative Statements

API Name: CountStmtDecl
Description: Number of declarative statements. Note that there can be overlap here with executable statements - int i = 0; for instance.
Metric available for:
C/C++: Project,File,Class,Struct,Union,Function
C#: Project,File,Class,Method
Ada: Project,File,Type,Entry,Function,Package,Procedure,Protected,Task
Fortran: Project,File,Module,Block Data,Function,Program,Subroutine
Java: Project,File,Class,Interface,Method
Jovial: Project,File,Module,Subroutine
Pascal: Project,File,Class,Interface,Compunit,Function,Procedure
PL/M: Project,File,Procedure
VHDL: Project,File
Cobol: Project,File,Program
Web: Project,File,PHP Class,PHP Interface

Click Here To Download Understand!


Back to Top



Javascript Declarative Statements

API Name: CountStmtDecl_Javascript
Description: Number of javascript declarative statements.
Metric available for:
Cobol: File
Web: Project,File

Click Here To Download Understand!


Back to Top



PHP Declarative Statements

API Name: CountStmtDecl_Php
Description: Number of php declarative statements.
Metric available for:
Cobol: File
Web: Project,File,PHP Class,PHP Interface

Click Here To Download Understand!


Back to Top



Empty Statements

API Name: CountStmtEmpty
Description: Number of empty statements.
Metric available for:
C/C++: Project,File,Class,Struct,Union,Function
Cobol: File

Click Here To Download Understand!


Back to Top



Executable Statements

API Name: CountStmtExe
Description: Number of executable statements. Note that there can be overlap with declarative statements (int i = 0; )
Metric available for:
C/C++: Project,File,Class,Struct,Union,Function
C#: Project,File,Class,Method
Ada: Project,File,Type,Entry,Function,Package,Procedure,Protected,Task
Fortran: Project,File,Module,Block Data,Function,Program,Subroutine
Java: Project,File,Class,Interface,Method
Jovial: Project,File,Subroutine
Pascal: Project,File,Class,Interface,Function,Procedure
PL/M: Project,File,Procedure
VHDL: Project,File
Cobol: Project,File,Program
Web: Project,File,PHP Class,PHP Interface

Click Here To Download Understand!


Back to Top



Javascript Executable Statements

API Name: CountStmtExe_Javascript
Description: Number of javascript executable statements.
Metric available for:
Cobol: File
Web: Project,File

Click Here To Download Understand!


Back to Top



PHP Executable Statements

API Name: CountStmtExe_Php
Description: Number of php executable statements.
Metric available for:
Cobol: File
Web: Project,File,PHP Class,PHP Interface

Click Here To Download Understand!


Back to Top



Cyclomatic Complexity

API Name: Cyclomatic
Research: McCabe Complexity (v(G))
Description: McCabe Cyclomatic complexity as per the original NIST paper on the subject.
Edges - Nodes + Connected Components
McCabe also proved that the cyclomatic complexity of any structured program with only one entrance point and one exit point is equal to the number of decision points contained in that program plus one (refer to section V for the proof).
Understand counts the keywords for decision points (FOR, WHILE, etc) and then adds 1. For a switch statement, each 'case' is counted as 1 and the 'switch' itselfs adds one to the final Cyclomatic Complexity count.
Metric available for:
C/C++: Project,Function
C#: Project,Method
Ada: Project,Type,Entry,Function,Package,Procedure,Protected,Task
Fortran: Project,Module,Block Data,Function,Program,Subroutine
Java: Project,Method
Jovial: Project,Subroutine
Pascal: Project,Compunit,Function,Procedure
PL/M: Project,Procedure
VHDL: Project,Procedure,Function,Process
Cobol: Project,File,Paragraph,Section,Program
Web: Project,File

Click Here To Download Understand!


Back to Top



Modified Cyclomatic Complexity

API Name: CyclomaticModified
Description: Modified McCabe Cyclomatic complexity. The Cyclomatic Complexity except that each decision in a multi-decision structure (switch in C/Java, Case in Ada, computed Goto and arithmetic if in FORTRAN) statement is not counted and instead the entire multi-way decision structure counts as 1
Metric available for:
C/C++: Project,Function
C#: Project,Method
Ada: Project,Type,Entry,Function,Package,Procedure,Protected,Task
Fortran: Project,Module,Block Data,Function,Program,Subroutine
Java: Project,Method
Jovial: Project,Subroutine
Pascal: Project,Compunit,Function,Procedure
PL/M: Project,Procedure
VHDL: Project,Procedure,Function,Process
Cobol: Project,File,Paragraph,Section,Program
Web: Project,File

Click Here To Download Understand!


Back to Top



Strict Cyclomatic Complexity

API Name: CyclomaticStrict
Description: Strict cyclomatic complexity. The Cyclomatic Complexity with logical conjunction and logical and in conditional expressions also adding 1 to the complexity for each of their occurrences.
i.e. The statement if (a && b || c) would have a cyclomatic of 1 but a strict cycolmatic of 3
Metric available for:
C/C++: Project,Function
C#: Project,Method
Ada: Project,Type,Entry,Function,Package,Procedure,Protected,Task
Java: Project,Method
Jovial: Project,Subroutine
Pascal: Project,Compunit,Function,Procedure
Cobol: File,Program
Web: Project,File

Click Here To Download Understand!


Back to Top



Essential Complexity

API Name: Essential
Research: ev(G)
Description: Essential complexity is the Cyclomatic complexity after iteratively replacing all well structured control structures with a single statement. Structures such as if-then-else and while loops are considered well structured.
Understand calculate the essential complexity by removing all the structured subgraphs from the control graph and then calculating the complexity. A graph that has only the regular single entry/single exit loops or branches will be reducible to a graph with complexity one. Any branches into or out of a loop or decision will make the graph non-reducible and will have essentialcomplexity > 2. (You never get 2 since a graph with complexity 2 is always reducible to a graph with complexity 1).
Metric available for:
C/C++: Project,Function
C#: Project,Method
Ada: Project,Type,Entry,Function,Package,Procedure,Protected,Task
Fortran: Project,Module,Block Data,Function,Program,Subroutine
Java: Project,Method
Cobol: File,Program
Web: Project,File

Click Here To Download Understand!


Back to Top



Knots

API Name: Knots
Description: Measure of overlapping jumps. If a piece of code has arrowed lines indicating where every jump in the flow of control occurs, a knot is defined as where two such lines cross each other. The number of knots is proportional to the complexity of the control flow.
Metric available for:
C/C++: Project,Function
Ada: Project,Type,Entry,Function,Package,Procedure,Protected,Task

Click Here To Download Understand!


Back to Top



Max Cyclomatic Complexity

API Name: MaxCyclomatic
Description: Maximum cyclomatic complexity of all nested functions or methods.
Metric available for:
C/C++: Project,File,Class,Struct,Union
C#: Project,File,Class,Struct
Java: Project,File,Class,Interface
Pascal: Project,File,Class,Interface
Cobol: File
Web: Project,File,PHP Class,PHP Interface

Click Here To Download Understand!


Back to Top



Max Modified Cyclomatic Complexity

API Name: MaxCyclomaticModified
Description: Maximum modified cyclomatic complexity of all nested functions or methods.
Metric available for:
C/C++: Project,File,Class,Struct,Union
C#: Project,File,Class,Struct
Java: Project,File,Class,Interface
Pascal: Project,File,Class,Interface
Cobol: File
Web: Project,File,PHP Class,PHP Interface

Click Here To Download Understand!


Back to Top



Max Strict Cyclomatic Complexity

API Name: MaxCyclomaticStrict
Description: Maximum strict cyclomatic complexity of all nested functions or methods.
Metric available for:
C/C++: Project,File,Class,Struct,Union
C#: Project,File,Class,Struct
Java: Project,File,Class,Interface
Pascal: Project,File,Class,Interface
Cobol: File

Click Here To Download Understand!


Back to Top



Max Knots

API Name: MaxEssentialKnots
Description: Maximum Knots after structured programming constructs have been removed.
Metric available for:
C/C++: Project,Function
Ada: Project,Type,Entry,Function,Package,Procedure,Protected,Task

Click Here To Download Understand!


Back to Top



Depth of Inheritance Tree

API Name: MaxInheritanceTree
Research: Chidamber & Kemerer - Depth of Inheritance Tree (DIT)
Description: The depth of a class within the inheritance hierarchy is the maximum number of nodes from the class node to the root of the inheritance tree. The root node has a DIT of 0. The deeper within the hierarchy, the more methods the class can inherit, increasing its complexity.
Metric available for:
C/C++: Project,Class,Struct,Union
C#: Project,Class
Java: Project,Class,Interface
Pascal: Project,Class,Interface

Click Here To Download Understand!


Back to Top



Nesting

API Name: MaxNesting
Description: Maximum nesting level of control constructs (if, while, for, switch, etc.) in the function.
Metric available for:
C/C++: Project, File, Function
C#: Project,Method
Ada: Project,Type,Entry,Function,Package,Procedure,Protected,Task
Fortran: Project,Module,Block Data,Function,Program,Subroutine
Java: Project,Method
Jovial: Project,Subroutine
Pascal: Project,Compunit,Function,Procedure
Cobol: File,Program
Web: Project,File

Click Here To Download Understand!


Back to Top



Minimum Knots

API Name: MinEssentialKnots
Description: Minimum Knots after structured programming constructs have been removed.
Metric available for:
C/C++: Project,Function
Ada: Project,Type,Entry,Function,Package,Procedure,Protected,Task

Click Here To Download Understand!


Back to Top



Lack of Cohesion in Methods

API Name: PercentLackOfCohesion
Research: Chidamber & Kemerer - Lack of Cohesion in Methods (LCOM/LOCM)
Description: 100% minus average cohesion for class data members. Calculates what percentage of class methods use a given class instance variable. To calculate, average percentages for all of that class'es instance variables and subtract from 100%. A lower percentage means higher cohesion between class data and methods.
Metric available for:
C/C++: Class,Struct,Union
C#: Class,Struct
Ada: Package
Java: Class,Interface
Pascal: Class,Interface

Click Here To Download Understand!


Back to Top



Comment to Code Ratio

API Name: RatioCommentToCode
Description: Ratio of number of comment lines to number of code lines. Note that because some lines are both code and comment, this could easily yield percentages higher than 100
Metric available for:
C/C++: Project,File,Class,Struct,Union,Function
C#: Project,File,Class,Method
Ada: Project,File,Type,Entry,Function,Package,Procedure,Protected,Task
Fortran: Project,File,Block Data,Function,Program,Subroutine
Java: Project,File,Class,Interface,Method
Jovial: Project,File,Module,Subroutine
Pascal: Project,File,Class,Interface,Compunit,Function,Procedure
PL/M: Project,File,Procedure
VHDL: Project,File,Procedure,Function,Architecture
Cobol: File,Program
Web: Project,File

Click Here To Download Understand!


Back to Top



Sum Cyclomatic Complexity

API Name: SumCyclomatic
Research: Chidamber & Kemerer - Weighted Methods per Class (WCM)
Description: Sum of cyclomatic complexity of all nested functions or methods.
Metric available for:
C/C++: Project,File,Class,Struct,Union
C#: Project,File,Class,Struct
Java: Project,File,Class,Interface
Pascal: Project,File,Class,Interface
Cobol: File
Web: Project,File,PHP Class,PHP Interface

Click Here To Download Understand!


Back to Top



Sum Modified Cyclomatic Complexity

API Name: SumCyclomaticModified
Description: Sum of modified cyclomatic complexity of all nested functions or methods.
Metric available for:
C/C++: Project,File,Class,Struct,Union
C#: Project,File,Class,Struct
Java: Project,File,Class,Interface
Pascal: Project,File,Class,Interface
Cobol: File
Web: Project,File,PHP Class,PHP Interface

Click Here To Download Understand!


Back to Top



Sum Strict Cyclomatic Complexity

API Name: SumCyclomaticStrict
Description: Sum of strict cyclomatic complexity of all nested functions or methods.
Metric available for:
C/C++: Project,File,Class,Struct,Union
C#: Project,File,Class,Struct
Java: Project,File,Class,Interface
Pascal: Project,File,Class,Interface
Cobol: File
Web: Project,File,PHP Class,PHP Interface

Click Here To Download Understand!


Back to Top



Sum Essential Complexity

API Name: SumEssential
Description: Sum of essential complexity of all nested functions or methods.
Metric available for:
C/C++: Project,File,Class,Struct,Union
C#: Project,File,Class,Struct
Java: Project,File,Class,Interface
Cobol: File

Click Here To Download Understand!


Back to Top