Presentation is loading. Please wait.

Presentation is loading. Please wait.

University of Southern California Center for Systems and Software Engineering 1 © USC-CSSE Unified CodeCounter (UCC) with Differencing Functionality Marilyn.

Similar presentations


Presentation on theme: "University of Southern California Center for Systems and Software Engineering 1 © USC-CSSE Unified CodeCounter (UCC) with Differencing Functionality Marilyn."— Presentation transcript:

1 University of Southern California Center for Systems and Software Engineering 1 © USC-CSSE Unified CodeCounter (UCC) with Differencing Functionality Marilyn Sperka 1, Vu Nguyen 2, Ryan Pfeiffer 1 1 The Aerospace Corporation 2 University of Southern California 24 th International Forum on COCOMO 10/03/2009

2 University of Southern California Center for Systems and Software Engineering 2 © USC-CSSE What Does a Code Counter Do? Determines software size Leads to more reliable metrics: –Cost –Schedule –Productivity Valuable analysis of existing projects Better predictions for new software systems cost and schedule

3 University of Southern California Center for Systems and Software Engineering 3 © USC-CSSE Don’t We Do That Already? Many code counters available now Various problems: –Some are proprietary, others are public domain –Inconsistent counting rules –May or may not be maintained Big problem: they count differently –Inconsistent or biased conclusions

4 University of Southern California Center for Systems and Software Engineering 4 © USC-CSSE Why Develop Yet Another? NRO Cost Group (NCG) needed a tool to: –Count software lines of code Consistently With documented standards Ability to easily add new languages Support and maintenance –Compare different baselines of software Determine addition, modification, deletion –Identify duplicate files –Determine complexity

5 University of Southern California Center for Systems and Software Engineering 5 © USC-CSSE How Did It Get Started? USC wanted real-world projects for students USC CSSE: University of Southern California Center for Systems and Software Engineering –Non-biased, industry-respected Aerospace management recognized the potential of a USC/Aerospace team A collection of existing code counting tools was donated to USC –Northrop Grumman, TRW, Boeing

6 University of Southern California Center for Systems and Software Engineering 6 © USC-CSSE Where Is It Now? CodeCount is developed and maintained at USC Graduate students get credit for directed research while interning Code counters are continuously being checked and updated by USC students New languages are added every semester Aerospace provides validation and verification –Active involvement in class projects

7 University of Southern California Center for Systems and Software Engineering 7 © USC-CSSE Latest Release: UCC The latest release of UCC unifies the code counters and differencing functions into a single application UCC = Unified CodeCounter Common interface Easy to use Consistent output reports

8 University of Southern California Center for Systems and Software Engineering 8 © USC-CSSE Links http://sunset.usc.edu/research/CODECOUNT/ –Open source code and documentation http://sunset.usc.edu/csse/affiliate/private/codec ount.htmlhttp://sunset.usc.edu/csse/affiliate/private/codec ount.html –Beta release code to affiliates http://brown.usc.edu:8080/ –Wiki information nguyenvu@usc.edu –To report bugs or make suggestions

9 University of Southern California Center for Systems and Software Engineering 9 © USC-CSSE Features Platform independent Command line interface Modes: Code counting only or counting plus differencing Counts multiple files and languages in a single pass Output reports Robust processing Options to improve performance Error log

10 University of Southern California Center for Systems and Software Engineering 10 © USC-CSSE Code Counting Counts logical and physical SLOC, comments, and blank lines Counts multiple languages in one run Creates separate output reports for each language Also creates grand total report Identifies duplicate files –Reports those counts separately

11 University of Southern California Center for Systems and Software Engineering 11 © USC-CSSE Differencing Compares two baselines of files Counts each same as in code counting Matches files between baselines Compares the code and counts: –SLOC added to second baseline –SLOC deleted from first baseline –SLOC modified in second baseline –SLOC unmodified between baselines

12 University of Southern California Center for Systems and Software Engineering 12 © USC-CSSE Differencing, Continued Reports on files in one baseline but not the other Identifies duplicate files in each baseline –Reports counts separately Options for performance enhancement

13 University of Southern California Center for Systems and Software Engineering 13 © USC-CSSE Languages Supported Code Counting: C/C++ C# Java SQL Ada Perl ASP Differencing: C/C++ C# Java SQL Ada Perl ASP JSP HTML CSS JavaScript VB VBScript PhP Code counters are developed first, then differencing is added JSP HTML CSS JavaScript VB VBScript

14 University of Southern California Center for Systems and Software Engineering 14 © USC-CSSE Output Reports A variety of reports are output –Counting, differencing, duplicates, complexity, errors Users can customize their reports Several.csv reports –Load directly into Excel

15 University of Southern California Center for Systems and Software Engineering 15 © USC-CSSE Current Projects Code counters and differencing for Python, Unix shell script, Ruby, ColdFusion, Fortran, PhP, X-Midas, Assembly, COBOL Add GUI front end interface Improve complexity counting

16 University of Southern California Center for Systems and Software Engineering 16 © USC-CSSE Questions and Comments


Download ppt "University of Southern California Center for Systems and Software Engineering 1 © USC-CSSE Unified CodeCounter (UCC) with Differencing Functionality Marilyn."

Similar presentations


Ads by Google