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 9 Next »

Name

Technical Debt Plugin

Authors

Freddy Mallet, Olivier Gaudin

Homepage

http://docs.codehaus.org/display/SONAR/Technical+Debt+Plugin

Jira

http://jira.codehaus.org/browse/SONARPLUGINS/component/13850

Most Recent Version

0.1-SNAPSHOT

Availability


State

Under development

License

LGPL v3

Download sources

http://svn.codehaus.org/sonar-plugins/trunk/technical-debt/

Download jar


Compatibility with Sonar

Plugin versions

1.6

1.7

1.8

1.9

0.1-SNAPSHOT

(tick)

Description / Features

The Technical Debt plugin is an advanced metric that combines existing quality axes (Duplication, Violations, Complexity, Coverage, Documentation) to output a global measure.

To make it easy to understand, this global indicator reports how much it would cost to bring all axis to maximum values (100% coverage...) and therefore reimburse the Technical Debt.  The indicator is calculated in man days and in $$ (that is now really easy to understand, isn't it ?). Repartition of each axis weight is given.

This plugin does not pretend to calculate in an exact manner the cost of reimbursement. Here are its primary objectives :

- enables to compare the projects global level of quality, rather than axis by axis

- help to understand what axis is going to cost most, thank to the repartition

Here is how the debt is currently calculated at resource level:

Debt(in man days) = cost_to_fix_duplications + cost_to_fix_violations + cost_to_comment_public_API + cost_to_fix_coding_rules + Cost to bring complexity below threshold

Where :

Cost to fix duplication = cost_to_fix_one_block * duplicated_blocks

C

the current formula that is used to calculate the debt at any resource level :

Usage & Installation

  1. Copy the jar into /extensions/plugins/ directory
  2. Restart Sonar Web server

The plugin is then automatically activated on every resource. Default values can be adjusted by going to Configuration -> Settings -> Technical Debt.

Known limitations

A significant improvement to the would be to gather manual measures : see SONARPLUGINS-91

Having a weight on coding rules or being able to distinguish checkstyle, PMD and FIndbugs would add a lot accuracy


  • No labels