University of Southern California Center for Systems and Software Engineering Code Counter Suite - Difftool Overview Michael Lee - The Aerospace Corporation Lori Vaughan - Northrop Grumman
University of Southern California Center for Systems and Software Engineering Agenda USC CSSE CodeCount Suite Overview Team, Release Status and Goals Difftool Overview Difftool Timeline Difftool example Conclusion
University of Southern California Center for Systems and Software Engineering CodeCount Overview CodeCount is one of the most popular SLOC counting tools publicly available About 20+ downloads per day Many CSSE Affiliates use CodeCount as the standard SLOC counting tool SLOC counting rules are well-defined Latest Releases are only available to Affiliates members CodeCount toolset is the only tool that supports counting logical SLOC for many languages (17+) CodeCount development and maintenance efforts are supported by CSSE Affiliates
University of Southern California Center for Systems and Software Engineering CodeCount Team University of Southern California Dr. Barry Boehm: USC CSSE Director A Winsor Brown: USC CSSE Asst. Director Jim Alstad: CodeCount usage expert, also from Boeing Vu Nguyen: CodeCount Team Lead & Configuration Manager CS and EE directed research students NRO Cost Group The Aerospace Corporation Marilee Wheaton: Industry Facilitator Michael Lee: Software Engineer Northrop Grumman Mission Systems Lori Vaughan: Industry Stakeholder
University of Southern California Center for Systems and Software Engineering CodeCount Suite Releases December 2007 C/C++, Java, C# Perl, Jovial. Difftool JavaScript, VBScript, SQL, MUL, HTML, VB, C/C++, Java, C#, Fortran, Pascal, PL1, Ada, Assembly, SQL, July 2007 HTML, VB Ada, SQL, JSP, ASP New User Documents Counting Standards JSP, ASP, Python July CodeCount Counting Standards Unified CodeCount. Difftool July GUI with the Count
University of Southern California Center for Systems and Software Engineering CodeCount Goals Develop and enhance CodeCount tools Maintain and enhance existing counters supporting 17 languages Future inclusion of ASP, PHP, Python Unify existing counters into one application Documentation and support Incorporate and enhance SLOC differencing tool “Difftool” into CodeCount suite
University of Southern California Center for Systems and Software Engineering Difftool Overview Quantification of Reuse code has led NRO Cost Group in conjunction with Aerospace Corp. and USC CSSE to develop Diff concept and tool Source code differencing tool utilizing existing USC CodeCounters. Allows collection and comparison of physical and logical source lines of code. Captures: New, Deleted, Modified
University of Southern California Center for Systems and Software Engineering Difftool Timeline Beta release Q Logical Code differential Java C# C/C++ Yesterday + Today Last updated Q Unified Diff Tool ** The Count GUI integration Physical code differential SQL, VB Today + Diff Tool code Development starts TomorrowYesterday ** Ongoing Development USC Center for Systems and Software Engineering (CSSE) DiffTool ™ will be continually enhanced to support more languages paralleling the CodeCount ™ development effort. Performance Enhancements HTML, Perl, Cobol
University of Southern California Center for Systems and Software Engineering Demo int main () { int number, guess; int a; number = (rand() % 100) + 1; printf ("Guess:"); scanf ("%d", &guess); if (guess < number) { printf ("\nYour number is small."); } else if (guess > number) { printf ("\nYour number is high."); } number = number + rand() % ; if (number < 100) return number; return (0); } int main () { int number, guess; int a, b, c; number = (rand() % 100) + 1; printf("Guess:"); scanf("%d",&guess); if (guess < number) { printf("\nThis is a new line.\ Continue the previous line."); printf ("\nYour number is small."); } else if (guess > number || guess == 0) { printf ("\nYour number is high."); } return (1); } 1 modified unchanged 1 added 1 modified 1 deleted 2 deleted 1 modified Old code New code Physical changes Logical changes
University of Southern California Center for Systems and Software Engineering Demo - outfile_diff_results.txt
University of Southern California Center for Systems and Software Engineering Demo - outfile_cmplx.txt
University of Southern California Center for Systems and Software Engineering Demo - The Count (Boeing) GUI
University of Southern California Center for Systems and Software Engineering Demo - The Count (Boeing) GUI
University of Southern California Center for Systems and Software Engineering Conclusion USC DiffTool being developed and enhanced with industry collaborative efforts NRO Cost Group Redesign of Code Count and DiffTool to unify support for multiple languages into common applications promoting ease of scalability and maintenance. Standards and CodeCount tool for new programming languages continuing Encourage Industry usage and involvement USC CSSE affiliate support well directed