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. Plugin provides metrics at project level only.
Metrics
Architecture
Architecture measure is composed of two metric, PTI based on cyclic dependencies, and ADI obtained from the distance.
- PTI, inverse of 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
- 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

