Versions Compared

Key

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

Description / Features

Total Quality plugin combines four domains measures (architecture, design, code, and tests) in order to calculate a global and unified project quality health. Plugin provides metrics at project level only.

The default formula is :

TQ= 0.25*ARCH + 0.25*DES + 0.25*CODE + 0.25*TS

where :

Architecture (ARCH)

ARCH = 100 - TI

TI = Tangle Index

Design (DES)

DES = 0.15*NOM + 0.15*LCOM + 0.25*RFC 0.25*CBO + 0.20*DIT

NOM = (1 - (class_complexity - 12) / (acel * 12)) * 50 + (1 - (method_complexity - 2.5) / (acel * 2.5)) * 50

LCOM = (1 - (lack_of_cohesion_of_method - 1) / (acel * 1)) * 100

RFC = (1 - (response_for_class - 50) / (acel * 50)) * 100

CBO = (1 - (efferent_coupling - 5) / (acel * 5)) * 100

DIT = (1 - (depth_of_inheritance_tree - 5) / (acel * 5)) * 100

acel is an accelerator factor whose value can be configured in the Sonar settings page.
The default threshold for each metric can be also configured (for instance, 50 is the default response_for_class threshold).

Code (CODE)

Code = 0.15*DOC + 0.45*RULES + 0.40*DRYNESS

DOC = Documented API density

RULES = Rules compliance index

DRYNESS = 100 - Duplicated lines density

Test (TS)

Testing quality is based on coverage metric family (coverage, and test success).

Test = 0.80*COV + 0.20*SUC

COV = Code coverage

SUC = Unit Tests success density

Configuration

Every limit and every formula should be configure with administration view.
If you want to remove a metric just do,

"ARCH=0.25 DESIGN=0.25 CODE=0.50 TESTS=0.00"

Known limitations and TODO

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
titleTQ 1.0.2
height50
width950
columnstype;key;summary;priority;status;resolution
urlhttp://jira.codehaus.org/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?fixfor=16926&pid=11911&sorter/field=issuekey&sorter/order=DESC&tempMax=1000


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


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