Full documentation for SonarQube has moved to a new location: http://docs.sonarqube.org/display/SONAR

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
{iframe:src=http://update.sonarsource.org/plugins/qualityindex.html|width=700|height=250|frameborder=0}
Your browser does not support iframes.
{iframe}

Description / Features

Overview

The Quality Index plugin combines a global measure (quality index) of quality with a measure of the method complexity (complexity factor).

The Quality Index measures 4 weighted axes of quality and combines them to give a global note between 0 and 10 to the project, 10 being the best.

Axes of quality

Coding

Coding violations: a PMD compliance index

Coding = (Blocker * 10 + Critical * 5 + Major * 3 + Minor + Info) / ValidLines

Where:

  • ValidLines = Lines of Code - Duplicated Lines
  • Blocker = number of PMD blocker violations
  • Critical = number of PMD critical violations
  • Major = number of PMD major violations
  • Minor = number of PMD minor violations
  • Info = number of PMD info violations

Complexity

Complexity = (Complexity>30 * 10 + Complexity>20 * 5 + Complexity>10 * 3 + Complexity>1) / ValidLines

Where:

Coverage

Coverage = Code coverage by unit tests.

Style

Style violations: a Checkstyle compliance index

Style = (Errors * 10 + Warnings) / ValidLines * 10

Where:

  • ValidLinesLines of Code - Duplicated Lines
  • Errors = number of Checkstyle blocker violations + number of Checkstyle critical violations
  • Warnings = number of Checkstyle major violations + number of Checkstyle minor violations + number of Checkstyle info violations

Quality Index

Quality Index = 10 - 4.5 * Coding - 2 * Complexity - 2 * Coverage - 1.5 * Style

Complexity Factor

The Complexity Factor measures the complexity density.

Complexity Factor = (5 * Complexity>30) * 100 / (Complexity>1 + Complexity>10 + Complexity>20 + Complexity>30)

Where:

  • Complexity>X = number of methods whose Complexity is greater than X

Usage & Installation

1. Copy the jar into /extensions/plugins/ directory
2. Restart Sonar Web server
3. Launch a new quality analysis and the metrics will be fed

Changelog

JIRA Issues
anonymoustrue
titleQI 1.1.3
height70
width950
columnstype;key;summary;priority;status;resolution
urlhttp://jira.codehaus.org/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?fixfor=17202&pid=11911&sorter/field=issuekey&sorter/order=DESC&tempMax=1000

 

JIRA Issues
anonymoustrue
titleQI 1.1.2
height70
width950
columnstype;key;summary;priority;status;resolution
urlhttp://jira.codehaus.org/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?fixfor=16918&pid=11911&sorter/field=issuekey&sorter/order=DESC&tempMax=1000

 

JIRA Issues
anonymoustrue
titleQI 1.1.1
height50
width950
columnstype;key;summary;priority;status;resolution
urlhttp://jira.codehaus.org/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?fixfor=16290&pid=11911&sorter/field=issuekey&sorter/order=DESC&tempMax=1000

 

JIRA Issues
anonymoustrue
titleQI 1.1
height70
width950
columnstype;key;summary;priority;status;resolution
urlhttp://jira.codehaus.org/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?fixfor=16220&pid=11911&sorter/field=issuekey&sorter/order=DESC&tempMax=1000

 

JIRA Issues
anonymoustrue
titleQI 1.0
height150
width950
columnstype;key;summary;priority;status;resolution
urlhttp://jira.codehaus.org/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?fixfor=15741&pid=11911&sorter/field=issuekey&sorter/order=DESC&tempMax=1000