| Wiki Markup |
|---|
{iframe:src=http://update.sonarsource.org/plugins/sigmm.html|width=700|height=250|frameborder=0}
Your browser does not support iframes.
{iframe} |
Description / Features
This plugin is an implementation of the Software Improvement Group(SIG) Maintainability Model.
The model is a 2 steps approach: calculate base indicators and then combine them to get higher level ones.
Every indicator results to a 5-levels ranking from -- (very bad)to ++ (very good).
The first step is to evaluate base metrics.
Volume: based on the number of lines of code
Rank | LOC |
|---|---|
-- | > 1310000 |
- | > 655000 |
0 | > 246000 |
+ | > 66000 |
++ | > 0 |
Duplications: based on the density of duplications
Rank | Duplication |
|---|---|
-- | > 20% |
- | > 10% |
0 | > 5% |
+ | > 3% |
++ | > 0% |
Unit tests: based on the coverage of the application by unit tests
Rank | Coverage |
|---|---|
++ | > 95% |
+ | > 80% |
0 | > 60% |
- | > 20% |
-- | > 0% |
Complexity: based on the cyclomatic complexity of methods
A first pass consists in determining the percentage of LOC belonging to methods that are in a certain range of complexity
Eval | Complexity |
|---|---|
Very high | > 50 |
High | > 20 |
Medium | > 10 |
Low | > 0 |
Then based on the distribution, we use the following table to evaluate the rank :
Rank | Medium | High | Very High |
|---|---|---|---|
++ | < 25% | < 0% | < 0% |
+ | < 30% | < 5% | < 0% |
0 | < 40% | < 10% | < 0% |
- | < 50% | < 15% | < 5% |
Rank is -- otherwise
Unit size: based on the lines of code of methods
A first pass consists in determining the percentage of LOC belonging to methods that are in a certain range of LOCS
Eval | LOCs |
|---|---|
Very high | > 100 |
High | > 50 |
Medium | > 10 |
Low | > 0 |
Then based on the distribution, we use the following table to evaluate the rank :
Rank | Medium | High | Very High |
|---|---|---|---|
++ | < 25% | < 0% | < 0% |
+ | < 30% | < 5% | < 0% |
0 | < 40% | < 10% | < 0% |
- | < 50% | < 15% | < 5% |
Rank is -- otherwise
The second step is to combine them, by doing a simple average, using the following mapping table :
| Volume | Complexity | Duplications | Unit size | Unit tests |
|---|---|---|---|---|---|
analysability | |
| | | |
changeability |
| | |
|
|
stability |
|
|
|
| |
testability |
| |
| | |
and therefore obtain 4 advanced indicators representing the 4 axes of maintainability of a software.
Optionally, the 4 indicators can be combined by doing a simple average to give the maintainability ranking.

It is to be noted that the color of the spider represents the actual combined value, from RED = -- to GREEN = ++
Usage & Installation
1. Copy the jar into /extensions/plugins/ directory
2. Restart Sonar Web server
3. Launch a new quality analysis
Changelog
| JIRA Issues | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| JIRA Issues | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| JIRA Issues | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| JIRA Issues | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| JIRA Issues | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| JIRA Issues | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|

