{"id":341,"date":"2026-10-13T17:11:47","date_gmt":"2026-10-13T17:11:47","guid":{"rendered":"http:\/\/www.scmgalaxy.com\/tutorials\/2013\/05\/17\/comparison-between-ucc-cloc-powersoftware-ez-metrics-and-metrixware\/"},"modified":"2026-10-13T17:11:47","modified_gmt":"2026-10-13T17:11:47","slug":"comparison-between-ucc-cloc-powersoftware-ez-metrics-and-metrixware","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/comparison-between-ucc-cloc-powersoftware-ez-metrics-and-metrixware\/","title":{"rendered":"UCC vs CLOC vs POWERSOFTWARE vs EZ-Metrics vs Metrixware: Cleaned 2013 Comparison and Evaluation Workflow"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">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.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Originally published on 2013-05-17; fully revised and updated.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Source: <a href=\"https:\/\/www.devopsschool.com\/blog\/comparison-between-ucc-cloc-powersoftware-ez-metrics-and-metrixware\/\">original DevOpsSchool post<\/a>. The original comparison image is preserved below for reference.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2013\/05\/ucc-cloc-powersoftware-ez-m.png\" alt=\"ucc-vs-cloc-vs-powersoftware-vs-ez-metrics-vs-metrixware\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">What this comparison is and is not<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This is a <strong>historical snapshot<\/strong> 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.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>The original table contains gaps and formatting inconsistencies.<\/li><li>Several claims are subjective (for example, speed and recommendation).<\/li><li>Some rows (especially language\/platform mapping) require manual validation against vendor docs.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">2013 snapshot from the original table<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The table below includes fields that were clearly stated in the original post. Missing values are marked as not provided.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Criterion<\/th><th>UCC<\/th><th>CLOC<\/th><th>POWERSOFTWARE<\/th><th>EZ-Metrics<\/th><th>Metrixware<\/th><\/tr><\/thead><tbody><tr><td>Interface<\/td><td>CLI<\/td><td>CLI<\/td><td>Both, but separate products<\/td><td>GUI<\/td><td>Not provided<\/td><\/tr><tr><td>Output formats<\/td><td>Only TXT<\/td><td>XML<\/td><td>HTML, CSV, RAW XML data<\/td><td>Yes (format not detailed)<\/td><td>Not provided<\/td><\/tr><tr><td>Qualitative metrics<\/td><td>No (focused on software size metrics)<\/td><td>No<\/td><td>Yes, but separate product<\/td><td>Yes<\/td><td>Not provided<\/td><\/tr><tr><td>Price<\/td><td>Open Source<\/td><td>Open Source<\/td><td>KEPM (includes EPM): 1,995 USD single license; 4,995 USD 5-user license<\/td><td>Commercial<\/td><td>Not provided<\/td><\/tr><tr><td>Release frequency<\/td><td>No information in net<\/td><td>Regular<\/td><td>One minor or major release per 1 to 2 months<\/td><td>Not provided<\/td><td>Not provided<\/td><\/tr><tr><td>Last release listed<\/td><td>December 2009<\/td><td>Apr-10<\/td><td>16-Mar-10<\/td><td>Not provided<\/td><td>Not provided<\/td><\/tr><tr><td>Integration with quality platform<\/td><td>Provides different language source for integration<\/td><td>No<\/td><td>Not provided<\/td><td>Not provided<\/td><td>Not provided<\/td><\/tr><tr><td>Recommendation in original post<\/td><td>No<\/td><td>Yes<\/td><td>No<\/td><td>No<\/td><td>Not provided<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Baseline and delta handling reported in the source<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The original article included unusually detailed notes for baseline comparison behavior, mostly for UCC.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Baseline behavior<\/th><th>UCC<\/th><th>CLOC<\/th><th>POWERSOFTWARE<\/th><th>EZ-Metrics<\/th><\/tr><\/thead><tbody><tr><td>Folder hierarchy changes<\/td><td>Tries to match files between baselines using filenames; can still compare when folders change if filenames remain the same.<\/td><td>NA<\/td><td>No information<\/td><td>NA<\/td><\/tr><tr><td>Renamed files<\/td><td>Reported as not handled directly; renamed unchanged content may be considered duplicate.<\/td><td>NA<\/td><td>No information<\/td><td>NA<\/td><\/tr><tr><td>File or block swapping<\/td><td>Block swapping not handled; copied code treated as deleted plus added; swapped files can match if filenames do not change.<\/td><td>Available<\/td><td>No information<\/td><td>Available<\/td><\/tr><tr><td>Line change detection approach<\/td><td>Character commonality threshold (parameter noted as -t) and an internal longest common sequence approach.<\/td><td>SLOC, PERL Mod<\/td><td>No information<\/td><td>NA<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">A practical workflow for evaluating code metrics tools<\/h2>\n\n\n\n<pre class=\"mermaid\">\nflowchart TD\n    A[Define reporting goals] --> B[Pick candidate tools]\n    B --> C[Run each tool on same repo snapshot]\n    C --> D[Capture output artifacts]\n    D --> E[Test baseline and rename scenarios]\n    E --> F[Measure CI integration effort]\n    F --> G[Score cost support and output quality]\n    G --> H[Select tool and document assumptions]\n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Example commands for a reproducible CLOC evaluation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">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.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php language-bash\"><span class=\"hljs-comment\"># Count a source tree<\/span>\ncloc .\/src\n\n<span class=\"hljs-comment\"># Save XML and CSV style reports for downstream analysis<\/span>\ncloc .\/src --by-file --xml &gt; cloc-report.xml\ncloc .\/src --csv &gt; cloc-report.csv<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php language-bash\"><span class=\"hljs-comment\"># Compare two repository snapshots with separate reports<\/span>\ngit checkout baseline-tag\ncloc .\/src &gt; baseline-cloc.txt\n\ngit checkout candidate-tag\ncloc .\/src &gt; candidate-cloc.txt<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\"><em>Note:<\/em> command options can vary by tool version. Validate syntax with local help output before automating in CI.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Best practices when choosing a code metrics tool<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Evaluate on the same repository snapshot for all tools.<\/li><li>Test rename, move, and copied-block scenarios explicitly.<\/li><li>Prefer machine-readable outputs (XML\/CSV\/JSON) for CI pipelines.<\/li><li>Separate objective checks (format, speed, integration effort) from subjective opinions.<\/li><li>Record tool version, runtime environment, and configuration so results are reproducible.<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>This revised article cleans up a legacy 2013 comparison of five code metrics tools and preserves the original claims in a readable format. It also adds a practical workflow and reproducible command examples you can use to evaluate tools on your own codebase.<\/p>\n","protected":false},"author":1,"featured_media":3754,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[10],"tags":[1729,1584,1720,1590,2314,1585,2318,2319,492,1730,1731,2316,2317,2315,1591,2313,2320],"class_list":["post-341","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tools-comparison","tag-advantages","tag-better","tag-between","tag-choose","tag-cloc","tag-comparison","tag-comparison-sheet","tag-comparison-table","tag-difference","tag-disadvantages","tag-drawbacks","tag-ez-metrics","tag-metrixware","tag-powersoftware","tag-select","tag-ucc","tag-ucc-vs-cloc-vs-powersoftware-vs-ez-metrics-vs-metrixware"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/341","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=341"}],"version-history":[{"count":3,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/341\/revisions"}],"predecessor-version":[{"id":79211,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/341\/revisions\/79211"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media\/3754"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=341"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=341"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=341"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}