Software Index Project Page

 

Get Software Index at SourceForge.net. Fast, secure and Free Open Source software downloads


Overview | Download | Documentation | Bur report | Feature request | Create plugin

Overview

Metrix++ is the platform to collect and analyse code metrics.

  • It has got plugin based architecture, so it is easy to add support for new languages and/or define new metrics and/or create new pre- and post-processing tools.
  • Every metric has got 'turn-on' and other configuration options.
  • There is no predefined thresholds for metrics or rules. You can choose and configure any limit you want.
  • It scales well to big code bases. For example initial parsing of about 10000 files takes 2-3 minutes on average PC, and ONLY 10-20 seconds for iterative re-run. Reporting of summary result and exceeded limits is less than 1 - 10 seconds.
  • It can compare results for 2 code snapshots (collections) and differentiate added regions (classes, functions, etc.), modified regions and unchanged regions.
  • As a result, easy deployment is guaranteed into legacy software, helping you to deal with legacy code effiently - either enforce 'leave it not worse than it was before' rule or motivate re-factoring.

Standard Plugins

The distributive includes a set of standard plugins:

  • Code parsers

    • C/C++ parser recognises definition of namespaces, definition of classes/structs (including enclosed in functions) and definition of functions/operators
  • Metrics

    • cyclomatic complexity (by McCabe) per function [supports C/C++ language]
    • mismatched brackets '{}'' per file [supports C/C++ language]
    • processing time per file [supports any file]
  • Analysis tools

    • export.py - exporter to xml, python or plain text of detailed information per file and/or aggregated information per file or directory [aggregated data includes sum, maximum, minimum, average within a subset of selected files or directories]
    • limit.py - a tool to report regions exceeding speified thresholds, which are configurable (output is plain text with metadata compatible with gcc compiler warning messages)

Download & Installation

For the installation of the Metrix++ download the archive and unpack it to some folder. Also, you have got an option to get the source code from the version conrol sytem.

Prerequisites:

Python Runtime Environment (version 2.7.0 or later, version 3.0 has not been tested)

License:

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 3 of the License.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the Metriix++; if not, contact Project Administrator and write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Documentation

Tools are self-descriptive and have got comprehensive context help. Type in you command line: python <tool-name>.py --help

Known Limitations

Check 'doc/limitations.txt' file distributed with the tool or browse recent version

Basic Workflow

TBD

Dealing Legacy Code

TBD

Bug Report & Feature Request

Any types of enquiries are welcomed by e-mail to project administrator.

Create Plugin

Please, consider to join the project and contribute to the development of the engine or include you plugins into the standard set of plugins distributed together with this tool. Contact project administrator by e-mail.

New Metric

TBD

New Analysis Tool

TBD

New Language Support

TBD

Source Code Repository

Source code is in the Subversion repository used by the project.


Copyright © 2009 - 2013
Metrix++ Project

License: GPL