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

Slides:



Advertisements
Similar presentations
Web Applications Development Using Coldbox Platform Eddie Johnston.
Advertisements

Introduction to Model-View-Controller (MVC) Web Programming with TurboGears Leif Oppermann,
Browsers and Servers CGI Processing Model ( Common Gateway Interface ) © Norman White, 2013.
Server-Side vs. Client-Side Scripting Languages
Dreamweaver MX ? Create professional web pages Visual editing functions –No need to write HTML Includes complete FTP client software Recognises.
USC 21 st International Forum on Systems, Software, and COCOMO Cost Modeling Nov 2006 University of Southern California Center for Software Engineering.
15 Chapter 15 Web Database Development Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
University of Southern California Center for Systems and Software Engineering Code Counter Suite - Difftool Overview Michael Lee - The Aerospace Corporation.
University of Southern California Center for Systems and Software Engineering Productivity Data Analysis and Issues Brad Clark, Thomas Tan USC CSSE Annual.
DATABASE APPLICATION DEVELOPMENT SAK 3408 The Web and DBMS.
Introduction to Web Application Architectures Web Application Architectures 18 th March 2005 Bogdan L. Vrusias
11 3 / 12 CHAPTER Databases MIS105 Lec14 Irfan Ahmed Ilyas.
University of Southern California Center for Systems and Software Engineering © 2009, USC-CSSE 1 Assessing and Estimating Corrective, Enhancive, and Reductive.
Introduction to Web Based Application. Web-based application TCP/IP (HTTP) protocol Using WWW technology & software Distributed environment.
Lecture 4B: Server-Side Scripting IT 202—Internet Applications Based on notes developed by Morgan Benton.
USC 21 st International Forum on Systems, Software, and COCOMO Cost Modeling Nov 2006 University of Southern California Center for Software Engineering.
Lecture 4: Introduction to PHP 3 PHP & MySQL
University of Southern California Center for Systems and Software Engineering © 2009, USC-CSSE 1 Reuse and Maintenance Estimation Vu Nguyen March 17, 2009.
USC Annual Research Review - March 2006 University of Southern California Center for Software Engineering USC Affiliates Code Counter News USC Annual Research.
Software Efforts at the NRO Cost Group 21 st International Forum on COCOMO and Software Cost Modeling November 8, 2006.
University of Southern California Center for Systems and Software Engineering © 2009, USC-CSSE 1 An Analysis of Changes in Productivity and COCOMO Cost.
Part or all of this lesson was adapted from the University of Washington’s “Web Design & Development I” Course materials.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Doxygen: Source Code Documentation Generator John Tully.
Automatic for the personnel “Librarian friendly programming” Dror Berger & Meirav Livne IGELU 2014.
1 Creating Web Forms in HTML Web forms collect information from customers Web forms include different control elements including: –Input boxes –Selection.
Selected Topics in Software Computing Distributed Software Development CVSQL Final Project Presentation.
Chapter 33 CGI Technology for Dynamic Web Documents There are two alternative forms of retrieving web documents. Instead of retrieving static HTML documents,
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
MCS 270 Spring 2014 Object-Oriented Software Development.
“ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1.
Introduction to Internet Programming (Web Based Application)
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
Publish Calendars to the Web. CCUweb Presentation (10 Minutes) 1 Demonstration of published calendars (10 minutes) 2 Demonstration of importing calendar.
Introduction to ColdFusion Yu Fu 2003 MEC Candidate.
Putting it all together Dynamic Data Base Access Norman White Stern School of Business.
Software Engineering SM ? 1. Outline of this presentation What is SM The Need for SM Type of SM Size Oriented Metric Function Oriented Metric 218/10/2015.
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
Discovering Computers 2009 Chapter 13 Programming Languages and Program Development.
Architecture of the web Client Server retrieved or generated web page.
What’s new? Update on Netrics Matching Engine V4.0 and V4.1 Dave Chamberlain
Team Members Team Members Tim Geiger Joe Hunsaker Kevin Kocher David May Advisor Dr. Juliet Hurtig November 8, 2001.
University of Southern California Center for Systems and Software Engineering Vu Nguyen, Barry Boehm USC-CSSE ARR, May 1, 2014 COCOMO II Cost Driver Trends.
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
Function Points Synthetic measure of program size used to estimate size early in the project Easier (than lines of code) to calculate from requirements.
Cross Language Clone Analysis Team 2 February 3, 2011.
Scripting Languages Client Side and Server Side. Examples of client side/server side Examples of client-side side include: JavaScript Jquery (uses a JavaScript.
Cross Language Clone Analysis Team 2 February 3, 2011.
 Before you continue you should have a basic understanding of the following:  HTML  CSS  JavaScript.
Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the Web presented by Kedar Desai Differential Technologies,
A S P. Outline  The introduction of ASP  Why we choose ASP  How ASP works  Basic syntax rule of ASP  ASP’S object model  Limitations of ASP  Summary.
The Brenkoweb provides the excellent online programming tutorial for the programmer in various languages like as PHP, SQL, HTML, ASP, Javascript,
1 Agile COCOMO II: A Tool for Software Cost Estimating by Analogy Cyrus Fakharzadeh Barry Boehm Gunjan Sharman SCEA 2002 Presentation University of Southern.
Chapter 1. Introduction.
The Use of AMET and Automated Scripts for Model Evaluation
Productivity Data Analysis and Issues
Metrics and Terms SLOC (source lines of code)
Multitier Architecture, MySQL & PHP
Software Metrics Validation using Version control
SLOC and Size Reporting
Lecture 1: Multi-tier Architecture Overview
Evaluating Compuware OptimalJ as an MDA tool
Software Metrics “How do we measure the software?”
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
and Program Development
Tutorial 6 PHP & MySQL Li Xu
Code Counter Suite - Difftool Overview
Architecture of the web
UFCEUS-20-2 Web Programming
Web Application Development Using PHP
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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