Metrics |
Tools |
Category |
Metric |
Comment |
RSM |
Sonar |
Function Metrics |
LOC Lines of Code |
Per Function, All Functions |
Yes |
Yes |
|
eLOC (Effective LOC) |
Per Function, All Functions |
Yes |
Yes |
|
lLOC (Logical Statements LOC) |
Per Function, All Functions |
Yes |
No |
|
FP Function Points Derived from LOC metrics |
Per Function, All Functions |
Yes |
No |
|
Comments Lines |
Per Function, All Functions |
Yes |
Yes |
|
Blank Lines |
Per Function, All Functions |
Yes |
Yes |
|
Physical Lines |
Per Function, All Functions |
Yes |
Yes |
|
Number of Input Parameters |
Per Function, |
Yes |
No |
|
Number of Return Points |
Per Function, |
Yes |
No |
|
Interface Complexity (Parameters + Returns) |
Per Function, |
Yes |
Yes |
|
Cyclomatic Complexity Logical Branching |
Per Function, All Functions |
Yes |
No |
|
Functional Complexity (Interface + Cyclomatic) |
Per Function, All Functions |
Yes |
No |
|
Functional Quality Analysis |
Per Function, |
Yes |
Yes |
|
Number of functions Total, Average, Maximum and Minimums |
All Functions |
Yes |
Yes |
|
Logical Lines |
All Functions |
Yes |
No |
|
Return Points |
All Functions |
Yes |
No |
|
Function Parameters |
All Functions |
Yes |
No |
|
Total Quality Profile |
All Functions |
Yes |
? |
Class Metrics |
Number of public, private, protected data attributes |
Per Class, All Classes |
Yes |
Yes |
|
Number of public, private, protected methods |
Per Class, All Classes |
Yes |
Yes |
|
Template Type |
Per Class, |
Yes |
No |
|
Inheritance |
Per Class, |
Yes |
No |
|
Depth of Inheritance Tree |
Per Class, |
Yes |
Yes |
|
Number of derived child classes per base class |
Per Class, |
Yes |
Yes |
|
LOC Lines of Code |
Per Class, All Classes |
Yes |
Yes |
|
eLOC (Effective LOC) |
Per Class, All Classes |
Yes |
No |
|
lLOC (Logical Statements LOC) |
Per Class, All Classes |
Yes |
No |
|
Comments Lines |
Per Class, All Classes |
Yes |
Yes |
|
Blank Lines |
Per Class, All Classes |
Yes |
Yes |
|
Physical Lines |
Per Class, All Classes |
Yes |
Yes |
|
Number of Input Parameters |
Per Class, All Classes |
Yes |
No |
|
Number of Return Points |
Per Class, All Classes |
Yes |
No |
|
Interface Complexity (Parameters + Returns) |
Per Class, All Classes |
Yes |
No |
|
Cyclomatic Complexity Logical Branching |
Per Class, All Classes |
Yes |
No |
|
Class Complexity (Interface + Cyclomatic) |
Per Class, All Classes |
Yes |
Yes |
|
Class Quality Analysis RSM Quality Analysis |
Per Class, |
Yes |
No |
|
Total number of classes |
All Classes |
Yes |
Yes |
|
Inheritance Tree |
All Classes |
Yes |
No |
|
Number of Base Classes |
All Classes |
Yes |
Yes |
|
Number of Derived Classes |
All Classes |
Yes |
Yes |
|
Derived/Base Class Ratio |
All Classes |
Yes |
No |
|
Maximum and Average Inheritance Depth |
All Classes |
Yes |
No |
|
Maximum and Average Number of Child Classes |
All Classes |
Yes |
No |
|
Total Quality Profile |
All Classes |
Yes |
? |
Namespace or Package Metrics |
Number of classes |
Per Namespace, All Namespace/Packages |
Yes |
Yes |
|
Number of functions |
Per Namespace, All Namespace/Packages |
Yes |
Yes |
|
Average functions per class |
Per Namespace, |
Yes |
Yes |
|
Number of public, private, protected data attributes |
Per Namespace, All Namespace/Packages |
Yes |
Yes |
|
Number of public, private, protected methods |
Per Namespace, All Namespace/Packages |
Yes |
Yes |
|
LOC Lines of Code |
Per Namespace, All Namespace/Packages |
Yes |
Yes |
|
eLOC (Effective LOC) |
Per Namespace, All Namespace/Packages |
Yes |
No |
|
lLOC (Logical Statements LOC) |
Per Namespace, All Namespace/Packages |
Yes |
No |
|
Comments Lines |
Per Namespace, All Namespace/Packages |
Yes |
Yes |
|
Blank Lines |
Per Namespace, All Namespace/Packages |
Yes |
Yes |
|
Physical Lines |
Per Namespace, All Namespace/Packages |
Yes |
Yes |
|
Number of Input Parameters |
Per Namespace, All Namespace/Packages |
Yes |
No |
|
Number of Return Points |
Per Namespace, All Namespace/Packages |
Yes |
No |
|
Interface Complexity (Parameters + Returns) |
Per Namespace, All Namespace/Packages |
Yes |
No |
|
Cyclomatic Complexity Logical Branching |
Per Namespace, All Namespace/Packages |
Yes |
No |
|
Package/Namespace Complexity (Interface + Cyclomatic) |
Per Namespace, All Namespace/Packages |
Yes |
No |
|
Quality Analysis RSM Quality Analysis |
Per Namespace, |
Yes |
No |
|
Total Quality Profile |
All Namespace/Packages |
Yes |
? |
File Metrics |
LOC Lines of Code |
|
Yes |
Yes |
|
eLOC (Effective LOC) |
|
Yes |
No |
|
lLOC (Logical Statements LOC) |
|
Yes |
No |
|
FP Function Points Derived from LOC |
|
Yes |
No |
|
Comments Lines |
|
Yes |
Yes |
|
Blank Lines |
|
Yes |
Yes |
|
Logical and Physical Lines |
|
Yes |
Yes |
|
Comment and White space percentages |
|
Yes |
Yes |
|
Average Character line length |
|
Yes |
No |
|
Memory Allocation and De-allocation metric |
|
Yes |
No |
|
Language Keyword use |
|
Yes |
No |
|
Language Construct use |
|
Yes |
No |
|
Extract Comments per file for understandability rating and spell checking |
|
Yes |
No |
|
Extract Strings per file for spell checking |
|
Yes |
No |
|
Create files in line numbered format for code reviews |
|
Yes |
No |
|
Number of Quality Notices per file |
|
Yes |
No |
|
Metrics differentials between two file version |
|
Yes |
No |
Project Metrics |
Total LOC, eLOC, lLOC, Comment, Blanks, Lines |
|
Yes |
Yes |
|
FP Function Points Derived from LOC metrics |
|
Yes |
No |
|
Total Function Metrics |
|
Yes |
No |
|
Total Class Metrics |
|
Yes |
Yes |
|
Total Namespace Metrics |
|
Yes |
No |
|
Inheritance Tree and Metrics |
|
Yes |
No |
|
Language Keywords, constructs and metrics |
|
Yes |
No |
|
Quality Profile |
|
Yes |
? |
|
Metric Estimation Factors for software estimates |
|
Yes |
No |
|
Total Language Metrics Example |
|
Yes |
No |
|
Total C, C++ and Header Files |
|
Yes |
No |
|
Total Java Files |
|
Yes |
No |
|
Total Number of Files |
|
Yes |
Yes |
Baseline Metric Differential |
|
|
Yes |
Yes |