This version of the SonarQube documentation is no longer maintained. It relates to a version of SonarQube that is not active.

Concepts

An overview of the key concepts used within SonarQube.

Architecture

Concept

Definition

Analyzer

A client application that analyzes the source code to compute snapshots.

Database

Stores configuration and snapshots

Server

Web interface that is used to browse snapshot data and make configuration changes

Quality

Concept

Definition

Bug

An issue that represents something wrong in the code. If this has not broken yet, it will, and will probably break at the worst possible moment. This needs to be fixed. Yesterday.

Code smell

A maintainability-related issue in the code. Leaving it as-is means that at best, developers maintaining the code will have a harder time than they should when making changes. At worst, they’ll be so confused by the state of the code that they’ll introduce additional errors as they make changes.

Cost

See Remediation cost.

Debt

See Technical debt.

Issue

When a piece of code does not comply with a rule, an issue is logged on the snapshot. An issue can be logged on a source file or a unit test file. There are 3 types of issues: Bugs, code smells, and vulnerabilities.

Measure

The value of a metric for a given file or project at a given time. For example, 125 lines of code on class MyClass or, the density of duplicated lines = 30.5% on project myProject, can be considered a measure.

Metric

A type of measurement. Metrics can have varying values, or measures, over time. Examples: number of lines of code, complexity, etc. A metric may be either qualitative (for example, the density of duplicated lines, line coverage by tests, etc.) or quantitative (for example, the number of lines of code, the complexity, etc.)

New code definition

A changeset or period that you’re keeping a close watch on for the introduction of new problems in the code. Ideally, this is since the previous_version, but if you don’t use a Maven-like versioning scheme, you may need to set a time period such as 21 days since a specific analysis or use a reference branch.

Quality profile

A set of rules. Each snapshot is based on a single Quality Profile. See also Quality profiles.

Rule

A coding standard or practice which should be followed. Not complying with coding rules can lead to bugs, vulnerabilities, security hotspots, and code smells. Adherence to rules can be used to measure the quality of code files or unit tests.

Remediation cost

The estimated time required to fix vulnerability and reliability Issues.

Snapshot

A set of measures and issues on a given project at a given time. A snapshot is generated for each analysis.

Security hotspot

Security-sensitive pieces of code that need to be manually reviewed. Upon review, you’ll either find that there is no threat or that there is vulnerable code that needs to be fixed.

Technical debt

The estimated time required to fix all maintainability issues and code smells

Vulnerability

A security-related issue that represents a backdoor for attackers. See also Security-related rules

Last updated

Was this helpful?