Return to AboveSoft Analyzer Manual

Metrics

Lines of Code (LOC).

Source Lines Of Code (SLOC): counts only executable lines and data definitions; blank & comment lines are omitted. An instruction which occupies more than a single line of code (such as an SQL clause) is considered as a single SLOC.

Developer Effort: calculated using the developer productivity template selected by the user. The productivity template measures developers' effort. Users can build their own templates; these templates assigns a scoring for each instruction found in the code (fix scoring and variable scoring). The main idea behind this template is to reflect the effort the developer put when writing the code.

Average SQL Quality: above or equal 7 = OK; below 7 = SQL expressions can be improved; below 4 = SQL expressions must be improved. The SQL Quality is calculated based on the expected performance of the SQL expressions. This value is the average for this source code. It measures index utilization, asterisk utilization, record width and expected size of the tables.

Minimum SQL Quality: minimum SQL quality found in a code. It is calculated as the previous metric but only shows the lowest value found in a source code. Observe the Average SQL Quality along with this value to detect a non-uniform distribution.

Cyclomatic Complexity: number of binary decisions found in the code; it defines code complexity and also a minimum number of test cases that must be developed to test the code (for test cases add one to test the simplest case -no binary decisions-). Binary decisions are the following: IF; ELSEIF; WHEN; WHILE; CHECK; AND; OR.

Max. Cycl. Complex. found in a module: number of binary decisions found in the most complex module.

Comment Ratio: number of comments divided by the number of SLOC * 100; a 25% ratio or more is desirable to improve maintainability.

Average SLOC p/module: average SLOC per module; modules include subroutines, abap modules, methods, events plus the main code; below 50 is desirable to improve maintainability, to reduce coupling and thus to improve reusability.

Max. SLOC found in a module: maximum SLOC found in a module; observe the Average SLOC p/module along with this value to detect a non-uniform distribution.

Cyclomatic Complexity p/SLOC: cyclomatic complexity per SLOC denotes complexity density of the source code; with values equal or greater than 0.30 the code will be difficult to maintain.

Subroutines: number of forms found in the code.

Parameter-Passing Subroutines ratio: number of subroutines which accept parameters divided by the number of subroutines * 100; a high ratio close to 100% is desirable, this improves reliability, reusability and understandability of the code.