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

See latest version
Start Free
10.3 | User guide | Concepts

Concepts

On this page

Architecture

ConceptDefinition
AnalyzerA client application that analyzes the source code to compute snapshots.
DatabaseStores configuration and snapshots.
ServerWeb interface that is used to browse snapshot data and make configuration changes.

Quality

Concept


Definition
Clean CodeCode whose attributes make your software reliable, secure, and maintainable. See Clean Code for more details.
BugAn 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 as soon as possible.
Code smellA 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.
CostSee Remediation cost.
DebtSee Technical debt.
IssueWhen 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. 
MeasureThe 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 definitionA 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. See Defining new code for more details.
Quality profile A set of rules. Each snapshot is based on a single quality profile. See also Quality profiles.
RuleA coding standard or practice that should be followed. Not complying with coding rules can lead to issues and hotspots. Adherence to rules can be used to measure the quality of code files or unit tests.
Remediation costThe estimated time required to fix vulnerability and reliability Issues.
SnapshotA set of measures and issues on a given project at a given time. A snapshot is generated for each analysis.
Security hotspotSecurity-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 debtThe estimated time required to fix all maintainability issues and code smells.
VulnerabilityA security-related issue that represents a backdoor for attackers. See also Security-related rules.



Was this page helpful?

© 2008-2024 SonarSource SA. All rights reserved. SONAR, SONARSOURCE, SONARLINT, SONARQUBE, SONARCLOUD, and CLEAN AS YOU CODE are trademarks of SonarSource SA.

Creative Commons License