If you are evaluating source code counting and metrics tools, this page gives you a cleaned, structured version of a legacy comparison between UCC, CLOC, POWERSOFTWARE, EZ-Metrics, and Metrixware. You will see what the original post explicitly claimed, where the data is incomplete, and how to run a reproducible evaluation process before selecting a tool.
Originally published on 2013-05-17; fully revised and updated.
Source: original DevOpsSchool post. The original comparison image is preserved below for reference.

What this comparison is and is not
This is a historical snapshot based on the original article content. It is useful for understanding evaluation criteria and legacy positioning, but it should not be treated as a current market assessment without fresh verification.
- The original table contains gaps and formatting inconsistencies.
- Several claims are subjective (for example, speed and recommendation).
- Some rows (especially language/platform mapping) require manual validation against vendor docs.
2013 snapshot from the original table
The table below includes fields that were clearly stated in the original post. Missing values are marked as not provided.
| Criterion | UCC | CLOC | POWERSOFTWARE | EZ-Metrics | Metrixware |
|---|---|---|---|---|---|
| Interface | CLI | CLI | Both, but separate products | GUI | Not provided |
| Output formats | Only TXT | XML | HTML, CSV, RAW XML data | Yes (format not detailed) | Not provided |
| Qualitative metrics | No (focused on software size metrics) | No | Yes, but separate product | Yes | Not provided |
| Price | Open Source | Open Source | KEPM (includes EPM): 1,995 USD single license; 4,995 USD 5-user license | Commercial | Not provided |
| Release frequency | No information in net | Regular | One minor or major release per 1 to 2 months | Not provided | Not provided |
| Last release listed | December 2009 | Apr-10 | 16-Mar-10 | Not provided | Not provided |
| Integration with quality platform | Provides different language source for integration | No | Not provided | Not provided | Not provided |
| Recommendation in original post | No | Yes | No | No | Not provided |
Baseline and delta handling reported in the source
The original article included unusually detailed notes for baseline comparison behavior, mostly for UCC.
| Baseline behavior | UCC | CLOC | POWERSOFTWARE | EZ-Metrics |
|---|---|---|---|---|
| Folder hierarchy changes | Tries to match files between baselines using filenames; can still compare when folders change if filenames remain the same. | NA | No information | NA |
| Renamed files | Reported as not handled directly; renamed unchanged content may be considered duplicate. | NA | No information | NA |
| File or block swapping | Block swapping not handled; copied code treated as deleted plus added; swapped files can match if filenames do not change. | Available | No information | Available |
| Line change detection approach | Character commonality threshold (parameter noted as -t) and an internal longest common sequence approach. | SLOC, PERL Mod | No information | NA |
A practical workflow for evaluating code metrics tools
flowchart TD
A[Define reporting goals] --> B[Pick candidate tools]
B --> C[Run each tool on same repo snapshot]
C --> D[Capture output artifacts]
D --> E[Test baseline and rename scenarios]
E --> F[Measure CI integration effort]
F --> G[Score cost support and output quality]
G --> H[Select tool and document assumptions]
Example commands for a reproducible CLOC evaluation
The original post explicitly mentions CLOC and XML output. The following commands provide a repeatable way to evaluate one repository and archive machine-readable output.
# Count a source tree
cloc ./src
# Save XML and CSV style reports for downstream analysis
cloc ./src --by-file --xml > cloc-report.xml
cloc ./src --csv > cloc-report.csvCode language: PHP (php)
# Compare two repository snapshots with separate reports
git checkout baseline-tag
cloc ./src > baseline-cloc.txt
git checkout candidate-tag
cloc ./src > candidate-cloc.txtCode language: PHP (php)
Note: command options can vary by tool version. Validate syntax with local help output before automating in CI.
Best practices when choosing a code metrics tool
- Evaluate on the same repository snapshot for all tools.
- Test rename, move, and copied-block scenarios explicitly.
- Prefer machine-readable outputs (XML/CSV/JSON) for CI pipelines.
- Separate objective checks (format, speed, integration effort) from subjective opinions.
- Record tool version, runtime environment, and configuration so results are reproducible.
I’m Rajesh Kumar, a DevOps, SRE, DevSecOps, Cloud, and Platform Engineering expert passionate about sharing practical knowledge, real-world experiences, and industry best practices. I have worked at Cotocus and regularly write about technology, travel, investing, health, product reviews, and digital marketing through my various platforms.
I publish technical articles at DevOps School, travel stories at Holiday Landmark, stock market insights at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at TrueReviewNow, and SEO and digital marketing strategies at Wizbrand.
Find Trusted Cardiac Hospitals
Compare heart hospitals by city and services — all in one place.
Explore Hospitals