Name |
Total Quality Plugin |
Author |
|
Jira |
http://jira.codehaus.org/browse/SONARPLUGINS/component/14363 |
Most Recent Version |
1.0-SNAPSHOT (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.
Metrics
Architecture
Architecture measure is composed of two metric, PTI based on cyclic dependencies, and ADI obtained from the distance.
- PTI, package tangle index core metric.
- ADI TODO.
Default architecture formula coefficients
Architecture = 100 * PTI + 0 * ADI
Design
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
Design = 0.15*NOM + 0.15*LCOM + 0.25*RFC 0.25*CBO + 0.20*DIT
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
Testing quality is based on coverage metric family (coverage, and test success).
Test = 0.80*COV + 0.20*SUC
Total Quality
Total quality default threshold,
TQ = 0.25*CODE + 0.25*ARCH + 0.25*DESIGN + 0.25*TEST
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
- No dashboard widget so you have to check metrics with components list, projects list, radiators, etc.
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

