Center for Systems and Software Engineering

Unified Code Counter (UCC)

The Unified Code Counter (UCC) is a consistent way to size the computer code for collecting historical data, reporting purposes, and inputting into COCOMO suite models. It spans multiple programming languages and utilizes one of two possible Source Lines of Code (SLOC) definitions, physical or logical.


Size is one of the most important attributes of a software product. It is not only the key indicator of software cost and time but also a base unit to derive other metrics for project status and software quality measurement. Size metric is used as an essential input for most of cost estimation models such as COCOMO®, SLIM, SEER-SEM, and Price-S.

Although source lines of code or SLOC is a historically accepted sizing metric, there is a lack of a standard that enforces consistency of what and how to count SLOC. Ensuring consistency across independent organizations in the rules used to count software cost code is often difficult to achieve. To that end, the Boehm Center for Systems and Software Engineering (Boehm CSSE) has developed and released a code counting toolset called Unified Code Count to support sizing software code for historical data collection and reporting purposes. This toolset is a collection of tools designed to automate the collection of source code sizing information. It implements the popular code counting standards published by the Software Engineering Institute (SEI) and adapted by COCOMO®. Logical and physical SLOC are among the metrics generated by the toolset.

Main Features

  • Unified counting and differencing capabilities 
  • Supporting multiple languages in a single tool 
  • Counting and differencing directories 
  • Detecting duplicate source files 
  • Supporting both plain text and CSV output formats

Languages supported: 
Ada, ASP, ASP.NET, C#, C/C++, ColdFusion, CSS, HTML, Java, JavaScript, JSP, Perl, PhP, SQL, VB, VbScript, XML, Bash Script, ColdFusion, C Shell Script, Fortran, NeXtMidas, Python, and XMidas.

  • Download UCC-J version 2020.01 (source)

    UCC-J is released in Java source code that allows user to compile and run on various platforms. This release has been tested on Windows using Eclipse, MacOS and Linux environments using JDK 8. UCC-J 2020.01 is also made available as an executable JAR file.
    The source can be accessed by our Lifetime/Annual/Affiliate Memberships exclusively now.

    Download Source