140 likes | 317 Views
USC Affiliates Code Counter News. USC Annual Research Review 16 March 2006 Winsor Brown - USC Lori Vaughan - Northrop Grumman Mathy Pandian - Aerospace Corporation. Objective and Agenda . Provide status on USC CodeCount™ Tools Define Logical Source Line of Code
E N D
USC Affiliates Code Counter News USC Annual Research Review 16 March 2006 Winsor Brown - USC Lori Vaughan - Northrop Grumman Mathy Pandian - Aerospace Corporation
Objective and Agenda • Provide status on USC CodeCount™ Tools • Define Logical Source Line of Code • Why Code Count Tools are important • Status of Code Count Tools • Issues and Actions • Solicit industry support to maintain and improve CodeCount™ Tools • Future Plans
Are we Logical or Physical? • Two major types of SLOC (Source Line of Code) • Physical SLOC • A count of "blank lines, comment lines" in the text of the program's source code • Logical SLOC • Measures the number of "statements" • Language specific • Easier to create tools that measure physical SLOC • Logical SLOC measures are not sensitive to irrelevant formatting and style conventions • Physical SLOC is sensitive to formatting and style conventions • Logical SLOC can often be significantly different from physical SLOC
Industry Requires a Set of Logical Counter Standards • Why • General Estimation and Acquisition insight • Historical - representative quantification of systems • Size Input for parametric models • Foundation for COCOMO Tool Suite • Investment in USC CodeCount™ output format • USC is neutral provider of service • Normalized for comparison and evaluation • Systems are integration intensive • Teammates and subcontractors • Some industries automate CodeCount ™ output for Historical Data collection (ex: Northrop Grumman, Tecolote) USC Center for Systems and Software Engineering (CSSE) CodeCount™suite supports many languages
CodeCount Structure Most of the COCOMO suite models require some sort of sizing of computer code as an input. Ensuring consistency across independent organizations in the rules used to count lines of code is often difficult to achieve. To that end, USC-CSE highly encourages the use of CodeCount for the purposes of sizing your software 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 spans multiple programming languages and utilizes one of two possible Source Lines of Code (SLOC) definitions, physical or logical • Limited public license – copy left agreement • George Kalb (Northrop Grumman Electronic Systems: 1994 original author) Without Industry support, CodeCount ™ team is unable to support and further enhance the toolset for the benefit of all.
USC CSE Affiliates' Private Area – Today & Tomorrow http://sunset.usc.edu/affiliates/private/index.html Today AdaAssemblyC/C++COBOLFORTRANJavaJOVIALPascalPL1 Tomorrow Today plus SQL Perl Markup LanguagesJavaScript C#C/C++ (’06) Java (’06) CodeCount ™ Tools were replaced with Rev-7 in year 2003
NRO Cost Group (NCG) Request for Product Line Enhancement • Objectives: Make available logical counters for unsupported Languages and Industry Normalization • New counters • SQL • Perl • Markup Languages • JavaScript • C# • Diff • Requested Aerospace Corporation for assistance with Industry usage and testing • Aerospace Corporation contributed concept of utilizing USC CSSE, IV&V and Software Engineering expertise • Northrop Grumman Mission Systems involvement as Product Line usage experts and project management assistance
Planned Affiliates Page – June 2006 • CodeCount™ Packages to include • Language Specific Labeling (e.g. Java CodeCount) • Source code for counter • Self documented with fixes and dates • Logical code definition in table format • Sample • Input file (with multiple files referenced) • Source files referenced • Output file Each Language will include syntax specific definitions for Logical count in table format
Accomplishments From Fall 2005 (CS 590) • Scope definition • Updating existing Languages and Adding New CodeCount™ Languages • Diff tools are currently outside of scope, in the future requirement set • Focus on testing • Students broken into Language teams • C/C++, Java, Javascript, SQL, Perl, Markup Language (MUL), and C# • Documented bugs found • Professional Assistants • Compiled bugs found and forwarded to NCG for SQL, Perl and MUL • NCG / Tecolote updated counters
Current Winter/Spring 2006 (CS 590) • Teams • C/C++, Java, Perl, SQL, MUL, JavaScript, C#, CS577 Intelligent Super Structure (CS577ab project), Object Lines of Code (OLOC; for PSP) for C/C++ and Java • Schedule • June 2006 all new and updated counters to be posted • Focus on • Regression testing • Scheduling and Deadlines • Packaging • Posting on the Affiliates Page
Related Activities and Needs • CS 577 Course – Complete MBASE documentation • XML counter • Intelligence Superstructure (calls regular CodeCount™ tools) • Differencing between versions with re-factoring and reuse-types • Counting embedded and/or specialized code (e.g. security kernel) • Additional Industry donations of existing counters • Continued Sustained Mechanism for CodeCount™ configuration management • New languages • New features to improve usability • CodeCount™ team needs help to be a true product line • Affiliate support needed to maintain consistency • Industry Grant CodeCount ™ (CoCo) Suite is at the center of all COCOMO products
Barry Dr. Boehm and the CSSE… Industry Affiliates - Let’s show our support for the new USC Center for Systems and Software Engineering (CSSE) Convocation.