# Software qualities

High quality code contributes to software that is secure, reliable, and maintainable. These three aspects - security, reliability, and maintainability - are called software qualities in SonarQube and they contribute to the long-term value of your software. Software qualities are used in [MQR mode](/sonarqube-server/instance-administration/analysis-functions/instance-mode/mqr-mode.md) mode.

## Security <a href="#security" id="security"></a>

Security is the protection of your software from unauthorized access, use, or destruction.

## Reliability <a href="#reliability" id="reliability"></a>

Reliability is a measure of how your software is capable of maintaining its level of performance under stated conditions for a stated period of time.

## Maintainability <a href="#maintainability" id="maintainability"></a>

Maintainability refers to the ease with which you can repair, improve and understand software code.

## Severity at the software quality level <a href="#software-quality-severity" id="software-quality-severity"></a>

| **Severity** | **Definition**                                                                                                                                                                                                                                                                 |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Blocker      | An issue that has a significant probability of severe unintended consequences on the application that should be fixed immediately. This includes bugs leading to production crashes and security flaws allowing attackers to extract sensitive data or execute malicious code. |
| High         | An issue with a high impact on the application that should be fixed as soon as possible.                                                                                                                                                                                       |
| Medium       | An issue with a medium impact.                                                                                                                                                                                                                                                 |
| Low          | An issue with a low impact.                                                                                                                                                                                                                                                    |
| Info         | There is no expected impact on the application. For informational purposes only.                                                                                                                                                                                               |

## Code analysis <a href="#code-analysis" id="code-analysis"></a>

The Sonar automated code review aims to identify any issue in your code. Each code attribute is evaluated, for a given language, based on a series of rules.

* Each rule is associated with one or more software qualities (security, reliability, or maintainability).
* Each associated software quality is assigned a severity (blocker, high, medium, low, or info). This severity determines how much that software quality is impacted when the rule is broken.

When a rule is broken, an issue is raised. The issue affects one or more software qualities with varying severity as inherited from the rule.

## Related pages <a href="#related-pages" id="related-pages"></a>

* [SonarQube rules](/sonarqube-server/quality-standards-administration/managing-rules/rules.md)
* [MQR mode](/sonarqube-server/instance-administration/analysis-functions/instance-mode/mqr-mode.md)
* [Standard Experience](/sonarqube-server/instance-administration/analysis-functions/instance-mode/standard-experience.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sonarsource.com/sonarqube-server/quality-standards-administration/managing-rules/software-qualities.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
