Metrics

Metrics

Security Reviewer suite uses a set of Metrics to evaluate your software:

Such Metrics are applied on both new and existing code, and are summarized in different Risk Indicators:

image-20251010-142823.png

OWASP

OWASP Indicator shows Compliant or Not Compliant. It means there are significant Security Issues or Not. You can drill-down the see a dashboard showing the Risk of being out-of-compliance with international standards, like OWASP Top 10, CWE-SANS Top 25, PCI-DSS as well as the Top 10 most severe vulnerabilities and the Top 10 Worst Files

image-20251010-145023.png
image-20251010-145050.png
image-20251010-145108.png
image-20251010-145124.png

Quality

You can directly understand the Quality of the analyzed app by watching the logo as an Indicator:

image-20251010-143138.png

Means SEI-Maintanability Index MI4 is higher than 84

image-20251010-143152.png

Means SEI-Maintanability Index MI4 is lower than 85

You can drill-down the see a dashboard showing all Quality details, like Violations, McCabe, Halstead, OOP Metrics (Chidamber & Kemerer, Mood) and Anti-Patterns

image-20251010-145300.png

See: Quality Reviewer

SQALE

The SQALE Risk Indicator (aka SQALE Rating) is a KPI based on Technical Debt. The SQALE Method assesses source code by converting code quality and security violations into an estimated time for remediation, allowing organizations to quantify and manage technical debt in time/financial terms. The rating is expressed on an alphabetical scale from A (best) to E (worst).

See: SQALE

image-20251010-145401.png

A-Rating means a theoretically No-Risk. It is required on at Military-level, and in the civil world you can achieve it mostly for small apps only.

B-Rating is considered the perfect balance between a clean code and its Quality and Security Characteristics. It is normally the Target every enterprise wants to reach for its apps.

C-Rating is an Average Rating, that is the borderline for a medium quality app. Some fixes are mandatory anyway. This rating is overly-broad and represent most of Development Team painful activity.

D-Rating means you have to re-engineering the app.

E-Rating means you have to make a decision on refactoring or rewriting the app.

You can drill-down the see a dashboard showing all SQALE details:

image-20251019-092910.png

For each file you can see a brief list of ISO 25010 Characteristics / Sub-Charateristics that need attention, with the violated Requirement, the Development Time, the Remediation Cost, the Rating, the Violation number and the file SLOC/LOC (size in statements).

image-20251019-092957.png

SQALE Configuration

The A-E Rating are calculated with the Agile Alliance defaults, and a SuperUser can customize them:

image-20251010-151032.png

SQALE Rating

SQALE Rating normalizes the Quality and Security results in a one KPI only. Quality grid differs from Security one because it is in Defect Rating format and takes in consideration the SLOC.

The default Rating grids are as follows:

Security

Based on:

Rating

Range in %

Numeric Range

Rating

Range in %

Numeric Range

A

>= 90%

0.01-1.00

B

>= 80% and <90%

1.01-2.00

C

>= 60% and <80%

2.01-4.00

D

>= 20% and <60%

4.01-8.00

E

< 20%

8.01-10.00

Security ranges represent the % of non-conformity to the above mentioned Rules.

Quality

Quality Defect Density based on:

Rating

Range in %

Numeric Range

Rating

Range in %

Numeric Range

A

<=10%

0.00-0.10

B

11-20%

0.11-0.20

C

21-30%

0.21-0.30

D

31-50%

0.31-0.50

E

>50%

0.51-1.00

The Quality grid is different from the Security one, because the ranges are in Defect Density format, ranging 0.00 to 1.00, calculated as follows:

image-20251017-174612.png

Where:

Total Number of Defects: number of non-conformities respect than ISO 25010 Quality Characteristics (Testability, Reliability, Changeability, Availability, Efficiency, Maintanability, Portability), applying Quality Metrics, Dead Code and Best Practices rules as well as Anti-Patterns.

Size of the Software Component: SLOC (Source Lines of Code) of the entire application.

The resulting Defect Density is normalized to range 0.00 to 1.00.

Quality Targets

The default Quality Targets (aka Quality Gates) are the following:

Characteristic

Target in %

Numeric Target

Characteristic

Target in %

Numeric Target

Changeability

>= 80%

>= 2.00

Maintanability

>= 85%

>= 1.50

Availability

>= 80%

>= 2.00

Testability

>= 75%

>= 2.50

Efficiency

>= 65%

>= 3.50

Security

>= 80%

>= 2.00

Portability

>= 65%

>= 3.50

Additional Rating Parameters

Fix SQALE Rating. For SQALE Rating calculation, you may define some exceptions for small code apps, for example having Source Lines Of Code SLOC < 500 (default).

Higher Risks are relevant. In case in the same app you have different risk levels, selecting this option only the higher will be taken into account.

Technical Debt Interest

Technical Debt Interest refers to the increased effort, time, and complexity incurred over time due to past shortcuts in software development, much like how financial debt accrues interest, making it harder and more expensive to maintain the software's overall quality and develop new features. This "interest" slows down development, increases the cost of future work, and can lead to more bugs and decreased stability if not addressed.

For calculating such Interest, we provide some customizations:

Average hours per workday. Some tools use 8 hours per day. We default a more realistic 6 hour per day of working, assumed when the Technical Debt is shown in days. 6 hour are coming from COCOMO 152 hours per Person-Month definition.

N.of workdays per year. Used for Technical Debt Interest calculation. If the Technical Debt in days is > this value, Interest will be applied. Default = 240 workdays/year.

Technical Debt includes A-Rating. Except for Military-level apps, it is suggested to skip A-Rating issues on Technical debt calculation. A-Rating issues should be solved anyway, but should not affect the Technical Debt.

Technical Debt Interest-Severity matrix. You can calculate a different Interest for each Severity level. The values are in SQALE numeric format. Changing those values you can see the related hh:mm:ss time format.

The following is the default Interest-Security matrix:

Severity

Interest Value

Interest Time

Severity

Interest Value

Interest Time

Blocker

96.00

10:00:00

Critical

19.20

02:00:00

Major

3.20

00:20:00

Minor

0.32

00:02:00

Info

0.16

00:01:00

Project Summary

image-20251021-120241.png

Automated Function Points (AFP) view is configurable, and is associated to both Total Technical Debt and Security Technical Debt.

 

COPYRIGHT (C) 2015-2026 SECURITY REVIEWER SRL. ALL RIGHTS RESERVED.