source code metrics counter readme file                      February 24, 2017

Version: 2.2 OSS

Table of Contents
===============================================================================
1. Introduction
2. Overview of the software
3. Execution environment
4. How to install or uninstall the software
5. Locations of the tools and manuals
6. Licenses
7. Trademarks


1. Introduction
===============================================================================
This document describes the source code metrics counter.


2. Overview of the software
===============================================================================
Overview of features
The software is designed to measure source code size and complexity.

Features provided
The software provides the following tools.
- Measurement commands
    Commands that measure source code metrics.
- GUI tool
    A tool that measures source code metrics from GUIs.
- Reporting support tool
    A tool that creates a readable report on measurement results 
    in Microsoft(R) Excel (R).

Measurement features
The software provides the features to measure the following types of metrics.
It outputs results in CSV or XML format.

- Basic line count measurement
    Counts the number of lines in the specified files.
- Structure metrics
    Measures complexity metrics of a program.
    Analyzes source code files to measure the complexity of their syntactic structure.

Additional features
Adding software to the software makes the followings features available.

(1) Line change count measurement
    By comparing the original source code with the modified one, this feature measures line change count.

(2) Restyled source code measurement
    In order to reduce variation in measurement results due to different coding styles of individual programmers, this feature restyles the source code files for measurement.

Download the following open-sourced software and place the executable files in the specified location.

For the measurement and setting method, refer to the manual.
The software has confirmed that it works with the following versions of software.

(1) Line change count measurement
    Name: GNU diffutils version 2.7
    URL:http://www.ring.gr.jp/archives/text/TeX/ptex-win32/w32/
    File: patch-diff-w32.zip

    Place diff.exe in the following folder.
    <Installation folder>\etc\ncmeter\bin

(2) Restyled source code measurement
    Name: uncrustify 0.34
    URLFhttp://sourceforge.net/projects/uncrustify/files/uncrustify/uncrustify-0.34/
    File: uncrustify-0.34-win32.zip

    Place uncrustify.exe in the following folder.
    <Installation folder>\etc\ncmeter\bin

    Change the file name kr-indent.cfg to uncrustify.cfg, and place it in the following folder.
    <Installation folder>\etc\ncmeter

Using these features without the settings above will cause the following errors which disables measurement.

(1) Line change count measurement
    - Measurement with measurement commands, -diff, -diff_file, and -diff_func
    - Line change count measurement by the GUI tool

   The following error message appears if you attempt to measure these.

   Could not execute external tool (could not create process : 2).

   The software can measure neither modified files nor unmodified files and outputs x to the measurement result file STMT.

(2) Restyled source code measurement
    - STD or BOTH is specified for the option -RESTYLE of the measurement command
    - TRUE is specified for the BEAUTIFIER attribute of the property file
    - When in "Source code restyling" on the "Behavior setting" tab under Advanced Setting of the GUI tool, you select either "Restyle" or "Both" for measurement, the following error message is output.

   The external tool specified in the property file is a file that cannot be executed.(EC_00000182)

   The measurement command fails (with a return value of -1) and terminates measurement.
   The GUI tool also outputs "Command failed" in the log display area and terminates measurement.

Target languages
The software supports the following languages:

  C, C++, Java, C#, Visual Basic, and JavaScript
  text files, and scripts and source code in other text format

Types of metrics that the software can measure vary according to languages.
For details, refer to the manual.


3. Execution environment
===============================================================================
The software supports the following operating system.
- Windows(R) 10

Using the software requires the following software:
- Microsoft(R) .Net Framework 4.5.2
- Java(TM) SE Runtime Environment (JRE) 8 (Java 8 execution environment) 
- Microsoft(R) Excel(R)


4. How to install or uninstall the software
===============================================================================
Installation method
Install the required software.
The software does not require an installer.
All you have to do is to decompress the compressed file which you have downloaded.

Note: For the installation folder, specify the location for which you have rights to write files.
Note: The installation may fail when the installation folder path contains multilingual (non-ASCII) characters. Ensure that the installation folder path contains only English (ASCII characters) before installing the software.

  In the following description the software is installed under C:\tools\metrics.
  (1) Copy source_code_metrics_counter_win_v2.2.zip in C:\tools.
  (2) Use a decompresser to decompress the files. Specify "metrics" as the folder where the files are extracted.
  (3) A folder "metrics" is generated in the current folder (C:\tools) under which a metrics tool set, the property file, and the manuals are generated. 
      If a folder with the same name exists, it is overwritten.
  (4) Add the folder in which measurement commands are placed to the environment variable PATH.
      Add "C:\tools\metrics\bin" to the environment valuable PATH.

Uninstallation method
The software does not use registry system settings.
Just delete the files generated at installation time, and the software is uninstalled.

  In the following description the software is installed under C:\tools\metrics.
  
  (1) Delete all the folders and files under the folder C:\tools\metrics.
  (2) Delete the installation folder path information added to the environment variable PATH.


5. Locations of the tools and manuals
===============================================================================
This section explains about the locations of the tools and manuals contained in the software.

Note: Replace "<Installation folder path>" with the folder path were you have installed the software.
  
  4. In the installation method example of "How to install and uninstall the software" <Installation folder path> is replaced with "C:\tools\metrics".

Tool set
  - Measurement commands
      <Installation folder path>\bin\ncmeter.exe
  - GUI tool
      <Installation folder path>\bin\GUITool.exe
  - Reporting support tool
      <Installation folder path>\etc\FormatTool\FormatTool.xls

Property file
    <Installation folder>\etc\ncmeter\ncmeter.properties

Manuals
  - Help
      <Installation folder path>\etc\ncmeter\doc\guihelp.html
  - Manual
      <Installation folder path>\etc\ncmeter\doc\doc\index.html
  - Reporting support tool manual
      <Installation folder path>\etc\FormatTool\doc\index.html


6. License
===============================================================================
The software is open-sourced software.
It uses other open-sourced software.
For licenses, refer to Readme OSS.txt.

The software's source code is published in the following file.
  https://osdn.jp/projects/codemetrics/
  https://sourceforge.net/projects/source-code-metrics-counter/
  source_code_metrics_counter_v2.2_src.zip


7. Trademarks
===============================================================================
* Microsoft, Windows, Windows Server, Microsoft Excel, Microsoft Visual Studio, Microsoft .NET Framework, and Microsoft Visual Basic are registered trademarks or trademarks of Microsoft Corporation of the United States of America and other countries.


* Oracle and Java are registered trademarks of Oracle and/or its affiliates. 
  Other names may be trademarks of their respective owners.



                                                                            End
