Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 29 Next »


Total Quality Plugin


Martin Martin


Most Recent Version

1.0 (check version compatibility )


Sonar 2


Under development



Source Code

Download jar


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)

Design is more complete than Architecture, combines five metrics, NOM, LCOM4, RFC, CBO, and DIT.

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

NOM, based on methods and classes complexities (50% each one) with global acel and 2.5 as default limit for method and 12 as default limit for class.

LCOM4, based on lcom4 with global acel and 1.0 as default limit.

RFC, based on rfc core metric with global acel and 50.0 as default limit.

CBO, based on cbo core metric with global acel and 5.0 as default limit.

DIT, based on dit core metric with global acel and 5.0 as default limit.

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


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



TQ 1.0 (6 issues)

  • No labels