Home   Contact Us    
Center for Systems and Software Engineering

About us
News
History
People
Events
Upcoming
Highlights
Past
Tech. Report
By Author
Research
Projects
Tools
Courses
Education
Degrees
Admissions
Affiliates
List of Affiliates
Private Area
Other Resources


CodeCount        

Overview

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 widely accepted sizing metric, there is a lack of standard that enforces a 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 USC Center for Systems and Software Engineering (CSSE) has developed and released a code counting toolset called CodeCount 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.

Unified CodeCount (UCC) - Release 2011.10 (Download: Source, Release Notes, User Manual)

UCC is a unified and enhanced version of the CodeCount toolset. It is a code counting and differencing tool that unifies the source counting capabilities of the previous CodeCount tools and source differencing capabilities of the Difftool (which is now replaced by UCC). It allows the user to count, compare, and collect logical differentials between two versions of the source code of a software product. The differencing capabilities allow users to count the number of added/new, deleted, modified, and unmodified logical SLOC of the current version in comparison with the previous version. With the counting capabilities, users can generate the physical, logical SLOC counts, and other sizing information such as comment and keyword counts of the target program.

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, and newly supported languages Bash Script, ColdFusion, C Shell Script, Fortran, NeXtMidas, Python, and XMidas.

Previous Releases

Unified CodeCount (UCC) - Release 2011.03 (Download: Source, Release Notes, User Manual)

Unified CodeCount (UCC) - Release 2010.07 (Download: Source, Release Notes, User Manual)

Unified CodeCount (UCC) - Release 2009.10 (Download: Source, Release Notes, User Manual)

CodeCount Tools - Release 2007.07 (Download: Source)

CodeCount toolset is the precursor of the UCC tool. Unlike UCC, this toolset is a collection of small programs, each measuring the source code written in a single language. It does not have the differencing capabilities supported by UCC. However, this toolset can count the source code written in languages currently not supported by UCC, including COBOL, Assembly, PL/1, Pascal, and Jovial.

Documentation

  • SLOC Counting Rules (ZIP)

  • Technical Report: V. Nguyen, S. Deeds-Rubin, T. Tan, B. Boehm. "A SLOC Counting Standard", COCOMO® Forum, 2007. PDF.

Contact

Anandi Hira. Email: {UnifiedCodeCount}@gmail.com