Article: Source Code Review Systems Author: Jason Remillard Presenter: Joe Borosky Class: Principles and Applications of Software Design Date: 11/2/2005.

Slides:



Advertisements
Similar presentations
ConfluentMinds Solutions Socializing Knowledge
Advertisements

Configuration management
A Toolbox for Blackboard Tim Roberts
Software Delivery. Software Delivery Management  Managing Requirements and Changes  Managing Resources  Managing Configuration  Managing Defects 
General Financial Supply Website & E-Commerce Solutions This presentation will demo the GFS corporate website and On-Line Order Inquiry options available.
SOFTWARE PRESENTATION ODMS (OPEN SOURCE DOCUMENT MANAGEMENT SYSTEM)
ASP Tutorial. What is ASP? ASP (Active Server Pages) is a Microsoft technology that enables you to make dynamic and interactive web pages. –ASP usually.
Creating Web Page Forms. Objectives Describe how Web forms can interact with a server-based program Insert a form into a Web page Create and format a.
Tutorial 6 Working with Web Forms
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Gathering Requirements What do users want?. Information Gathering Techniques Surveys Interviews Focus Groups.
CVS II: Parallelizing Software Development Author: Brian Berliner John Tully.
CS 501 : An Introduction to SCM & GForge An Introduction to SCM & GForge Lin Guo
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
Tutorial 6 Working with Web Forms. XP Objectives Explore how Web forms interact with Web servers Create form elements Create field sets and legends Create.
Source Code Management Or Configuration Management: How I learned to Stop Worrying and Hate My Co-workers Less.
SE Document Document Control Software. SE Document SE Document is a Document Management Software System to help you meet all document control requirements.
Software Documentation Written By: Ian Sommerville Presentation By: Stephen Lopez-Couto.
Creating Web Page Forms
KENDA ALBERTSON Formal Peer Review Processes for Software and Documents.
2440: 141 Web Site Administration Web Server-Side Programming Professor: Enoch E. Damson.
Chapter 10 Publishing and Maintaining Your Web Site.
Winter Consolidated Server Deployment Guide for Hosted Messaging and Collaboration version 3.5 Philippe Maurent Principal Consultant Microsoft.
Web Content Management at GCN.com The Gilbane Conference: Content Technologies for Government Alec Dann SVP of Internet Publishing PostNewsweek Tech Media.
Drupal Workshop Introduction to Drupal Part 1: Web Content Management, Advantages/Disadvantages of Drupal, Drupal terminology, Drupal technology, directories.
Chapter 9 Collecting Data with Forms. A form on a web page consists of form objects such as text boxes or radio buttons into which users type information.
XP Tutorial 6New Perspectives on Creating Web Pages with HTML, XHTML, and XML 1 Creating Web Page Forms Designing a Product Registration Form Tutorial.
XP Tutorial 6New Perspectives on HTML and XHTML, Comprehensive 1 Creating Web Page Forms Designing a Product Registration Form Tutorial 6.
SWIS Digital Inspections Project (SWIS DIP) Chris Allen, Information Management Branch California Integrated Waste Management Board November 5, 2008 The.
Classroom User Training June 29, 2005 Presented by:
IT Introduction to Website Development Welcome!
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.
LBTO IssueTrak User’s Manual Norm Cushing version 1.3 August 8th, 2007.
Tutorial 10 Adding Spry Elements and Database Functionality Dreamweaver CS3 Tutorial 101.
1 Lecture 19 Configuration Management Software Engineering.
Plan My Move & MilitaryINSTALLATIONS May, 2008 Relocation Personnel Roles and Responsibilities MC&FP.
M1G Introduction to Database Development 6. Building Applications.
Tutorial 121 Creating a New Web Forms Page You will find that creating Web Forms is similar to creating traditional Windows applications in Visual Basic.
Tutorial 7 Creating Forms. Objectives Session 7.1 – Create an HTML form – Insert fields for text – Add labels for form elements – Create radio buttons.
AUTOMATION OF WEB-FORM CREATION - KINNERA ANGADI – MS FINAL DEFENSE GUIDANCE BY – DR. DANIEL ANDRESEN.
Chapter 8 Collecting Data with Forms. Chapter 8 Lessons Introduction 1.Plan and create a form 2.Edit and format a form 3.Work with form objects 4.Test.
Chapter 9 Publishing and Maintaining Your Site. 2 Principles of Web Design Chapter 9 Objectives Understand the features of Internet Service Providers.
1 © Netskills Quality Internet Training, University of Newcastle HTML Forms © Netskills, Quality Internet Training, University of Newcastle Netskills is.
A Short Course on Geant4 Simulation Toolkit How to learn more?
Tutorial 6 Working with Web Forms. XP Objectives Explore how Web forms interact with Web servers Create form elements Create field sets and legends Create.
Tutorial 6 Working with Web Forms. 2New Perspectives on HTML, XHTML, and XML, Comprehensive, 3rd Edition Objectives Explore how Web forms interact with.
Creating Web Page Forms. Introducing Web Forms Web forms collect information from users Web forms include different control elements including: –Input.
1 EndNote X2 Your Bibliographic Management Tool 29 September 2009 Humanities and Social Sciences Resource Teams.
Tutorial 6 Working with Web Forms. 2New Perspectives on HTML, XHTML, and XML, Comprehensive, 3rd Edition Objectives Explore how Web forms interact with.
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
WebDat: A Web-based Test Data Management System J.M.Nogiec January 2007 Overview.
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
Geant4 Training 2003 A Short Course on Geant4 Simulation Toolkit How to learn more? The full set of lecture notes of this Geant4.
Fab25 User Training Cerium Labs LabCollector - LIMS Lynette Ballast.
Text2PTO: Modernizing Patent Application Filing A Proposal for Submitting Text Applications to the USPTO.
XP Tutorial 6New Perspectives on HTML, XHTML, and DHTML, Comprehensive 1 Creating Web Page Forms Designing a Product Registration Form Tutorial 6.
SOFTWARE TESTING TRAINING TOOLS SUPPORT FOR SOFTWARE TESTING Chapter 6 immaculateres 1.
Case Management System
LMEvents SharePoint Portal How-to Guide
A Short Course on Geant4 Simulation Toolkit How to learn more?
GLAST Release Manager Automated code compilation via the Release Manager Navid Golpayegani, GSFC/SSAI Overview The Release Manager is a program responsible.
Software Documentation
Microsoft Office Illustrated
Complete Management of your Entire Backflow Program
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
A Short Course on Geant4 Simulation Toolkit How to learn more?
A Short Course on Geant4 Simulation Toolkit How to learn more?
Presentation transcript:

Article: Source Code Review Systems Author: Jason Remillard Presenter: Joe Borosky Class: Principles and Applications of Software Design Date: 11/2/2005

Inspections: A Well Established Cost Effective Way to Find Defects Yet they are not universally used, WHY? –Lack of Training on how to do Inspections well –The need for Project Managers to move resources Away From Testing into Inspections –Large amount of paperwork required by Formal Inspections

Soluris and Inspections Because of the Previously stated problems the software inspections program at Soluris had faded away When Soluris wanted to reestablish the inspection process they did 2 things –First they purchased “Peer Reviews in Software” by Karl Wiegers –Second they selected a software tool to automate the inspection process and thus eliminate the paper forms that would be needed

Tools Compared Open Source –Bugzilla –Codestriker Commercial –CodeReview add-on for Visual Studio.NET –CodeReviewer –ReviewPro

Bugzilla (1) ( Open Source Bug Tracking System Originally built to support Netscape Navigator It spun off in 1998 as part of the Mozilla Web Browser CGI-based Web Application Written in Perl Runs under Unix and Windows

Bugzilla (2) ( The Database Backend uses the open source MySQL It requires Reviews to occur within an open Bug Report –Developers enter all Enhancements as Bugs so each task performed has an associated Bug When an Enhancement is made or a Bug is fixed a Unified Difference Text File (or Patch File) is created

Bugzilla (3) ( The Patch File only contains the changes made and is uploaded as a Bug Attachment. Using the existing Bug Commenting Systems you can state questions, concerns, or suggestions. The Bugzilla Patch Viewer is integrated with CVS (Concurrent Versions System) so you can view unchanged parts of files.

Bugzilla (4) ( It does NOT support other revision control systems. It Cannot collect Metrics on the Review or Track the state of each comment, which are disadvantages when considering its use for Formal Inspections. Its support for Formal Inspections is minimal and it focuses on Spot Check-ins

Codestriker (1) ( Written by David Sitsky in 2001 It started out as a simple Web-based Review System for patches. It has evolved into a tool with good support for Formal Inspections with Metrics and for Inspection Meetings. CGI-Application written in Perl The Web server runs on Windows and Unix

Codestriker (2) ( Advantages over Bugzilla –It can store data in Oracle, MySQL, PostgresSQL or Microsoft SQL Server –It can integrate with many source code control systems, including CVS, Subversion, Clearcase, Visual Source Safe, Perforce, and Bugzilla

Codestriker (3) ( Installation –1. Unpack the Codestriker tar or zip file contents into a directory on your web server –2. Create a new database in your RDB of choice –3. Configure the Web server to call the Codestriker CGI Perl Scripts –4. Configure the Codestriker site-specific option in the codestriker.conf file with a text editor –If needed the manual gives detailed instructions

Codestriker (4) ( To use Codestriker for a Review you must set up a Topic which includes a description, a reviewer list, and the document to review. 2 ways to Create a Topic –1. Generate it from the Revision Control System –2. Upload a File

Codestriker (5) ( Uploading a file (using patch Files) –This is usually a single command in most Revision Control Systems. For example, cvs diff -u > my_diff.txt (similar to Bugzilla) –Patch files do not need to be formatted as a Unified diff file like in Bugzilla –You can upload a Text File but you cannot upload complex files like Word documents or PDF files

Codestriker (6) ( Generating Topics from the Revision Control System –First check in the files being reviewed –Next Enter the baseline revision’s name in the start tag –Then enter the end tag field of the new version of the files to compare –Finally the topic author lists the reviewer’s addresses and enters a comment and title.

Codestriker (7) ( Codestriker sends to the reviewers with a link pointing to a dynamically created web page that shows the topic under review. Reviewers can make comments and Codestriker sends to the topic author for each commit submitted. Comments are tracked in a separate comment page.

Codestriker (8) ( When the author makes the appropriate changes he/she closes the topic. Soluris uses Codestriker for both Spot Checking and for Formal Inspections. Spot Checks are not as rigorous as Formal Inspections but they are useful for finding obvious problems and style guide violations For the same amount of work Soluris now gets a review of all check ins on the revision control system using Codestriker

Codestriker (9) ( Metrics –It automatically collects metrics on each review –It knows how large each topic is, who participated, how long they spent, and how many defects they found, all without any extra data entry –It can manage External Metrics (overview meeting time and preparation time) & Inspection Metrics (monitor effective ness of inspections) –It showed finding defects during inspections is more cost effective than finding them during integration testing or after software release.

Codestriker (10) ( Problems –It is limited to reviewing text files (can’t be used for documents with formatting, tables, or images). Thus high level documents require manual review. –Soluris uses it only for Code Reviews, Detailed Design Reviews, and Check-in Spot Checks –It sends a lot of s ( is sent every time a topic is created or a comment is made) –It does not support checklists as the commercial products do

Code Review Add-on for Visual Studio.NET ( By Macadamian Technologies Focuses on Pre-check in Spot Inspections Commercial product It has similar capabilities as Bugzilla (open source)

Code Reviewer ( overview.php) By SmartBear Software Focuses on Pre-check in Spot Inspections Commercial product It has similar capabilities as Bugzilla (open source)

ReviewPro ( By Software Development Technologies It offers Excellent support for Formal Inspections (including: inspection metrics, fine grained user security, and customizable process flow). It assumes that the item being inspected is printed or viewable in another application. It cannot be used for check-in spot checks Commercial Product

Conclusion Codestriker is the best product in terms of support for BOTH Check-In Spot Checks and for Formal Inspections. For your own needs evaluate available tools and see what works best for the types of inspections you need to do. No Current product is a complete solution for all kinds of inspections

Table 1 the 5 Review Products

Questions/Comments