Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
{iframe:src=http://update.sonarsource.org/plugins/abacus.html|width=700|height=250|frameborder=0}
Your browser does not support iframes.
{iframe}

Description / Features

This plug-in estimates the complexity of each file in order to help you use the "abacus methodology" ("méthode des abaques" in French).

This is a methodology widely used in France to estimate the effort of changes. Customers and providers agree on the abacus at the beginning of the maintenance process.

Example of Abacus

 Complexity of the Change
SimpleMediumComplexVery complex

Complexity

of the

File

Simple0.10.30.81.5
Medium0.30.61.83.0
Complex0.61.23.05.0
Very complex1.02.05.08.0

...

  • According to this abacus, the effort of a complex change in a simple file would be estimated to 0.8 man days.
  • According to this abacus, the effort of a very complex change in a complex file would be estimated to 5.0 man days.

Features

The complexity of a file is computed according to its cyclomatic complexity.

...

At file level, you can either use the Abacus tab or create a filter to display the abacus complexity measure.

Image Removed

Warning
titleCompatibility issue with Sonar Tab Metrics Plugin

Note that the current version of the Sonar Tab Metrics plug-in does not support yet the display of String metrics.

See SONARPLUGINS-1744.

 

Image Added


At module or project level, a widget is available to display the average abacus complexity and the abacus complexity distribution.

The abacus complexity distribution can be displayed either in number of files or percentage.

See screenshots below.

Image RemovedImage Added

Image RemovedImage Added

Why using this plug-in?

  • To help you estimate your effort of change more accurately and in a quicker way.
  • To help clients and subcontractors argue less about the effort of change as they will have a factual way to estimate the complexity of each file.

Installation

  1. Copy the jar into Install the Abacus plugin through the Update Center or download it into the SONAR_HOME/extensions/plugins / directory
  2. Restart the Sonar Web server

Configuration

Properties

Property

Default value

Description
sonar.abacus.complexityThresholdsSimple:20;Medium:50;Complex:100;Very Complex

To set your own thresholds to compute the abacus complexity.

Usage: ThresholdName1:ThresholdComplexity1;ThresholdName2:ThresholdComplexity2;...;ThresholdNameN

 

Widget

...

Parameters

 

ParameterDefault valueDescription
defaultColors33cc33,ffff33,ff9900,ff0033,000000

Coma-separated list of colors (hexadecimal format) for the pie chart display.

Make sure to have at least as many colors as levels of complexity in your abacus.

Default value is green, yellow, orange, red and black.

defaultDisplayfiles

To set the default display: number of files distribution or percentage distribution.

Possible values:

  • files
  • percentage

...

  1. Drill-down from the average abacus complexity of a module/project does not work due to the following issue in Sonar Core: SONAR-3233.
  2. Differential views are not implemented.
  3. Compatibility with VIEWS: as each project can define its own abacus, this plug-in does not compute the abacus complexity and distribution for a view.

Change

...

Log

JIRA Issues
anonymoustrue
titleRelease 0.1
height90
width900
columnstype;key;summary;priority;status;resolution
urlhttp://jira.codehaus.org/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?fixfor=18422&pid=11911

...