Name |
Total Quality Plugin |
Author |
|
Jira |
http://jira.codehaus.org/browse/SONARPLUGINS/component/14363 |
Most Recent Version |
1.0 (check version compatibility ) |
Availability |
Sonar 2 |
State |
Under development |
License |
LGPL v3 |
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
Architecture (ARCH)
ARCH = 100 - TI (Tangle Index)
TI = Tangle Index
Design (DES)
DES = 0.15*NOM + 0.15*LCOM + 0.25*RFC 0.25*CBO + 0.20*DIT
Design is more complete than Architecture, combines five metrics, NOM, LCOM4, RFC, CBO, and DIT.
- NOM, decorates functions and classes complexities (50% each one). Reads global weight (aceleration value) and default limits (function 2.5 and class 12). Code sample,
AbstractDesignDecorator.java
- 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.
Default design formula coefficients
Code (CODE)
Code quality combines rule violations, public api documentation, and dryness (duplicate code inverse).
Code = 0.15*DOC + 0.45*RULES + 0.40*DRYNESS
Test (TS)
Testing quality is based on coverage metric family (coverage, and test success).
Test = 0.80*COV + 0.20*SUC
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
- See SONARPLUGINS-415
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

