(1) Introduction to Software Review Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of Hawaii.

Slides:



Advertisements
Similar presentations
Tom Gilchrist, CQA, CSQE Quality Assurance in ISD and Maintenance Projects How do you do QA when the time it takes is longer that the.
Advertisements

Damian Gordon.  Static Testing is the testing of a component or system at a specification or implementation level without execution of the software.
More CMM Part Two : Details.
Systematic Software Reviews Software reviews are a “quality improvement processes for written material”.
Software Project Management Lecture # 11. Outline Quality Management ( chapter 26 - Pressman )  Software reviews  Formal Inspections & Technical Reviews.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Technical Reviews A Presentation By Manuel Richey for EECS 814 November 17 th, 2005.
 Every stage from phase DESIGN in Software Development Process will have “design document” especially in analysis and design phases.  “Design document”
Week 7: Requirements validation Structured walkthroughs Why have walkthroughs When to have walkthroughs Who participates What procedures are helpful Thoughtless.
Copyright © 1998 Philip M. Johnson (1)‏ Introduction to Formal Technical Reviews Philip Johnson Associate Professor Department of Information and Comp.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
SE 555 Software Requirements & Specification Requirements Validation.
© USC-CSE Feb Keun Lee ( & Sunita Chulani COQUALMO and Orthogonal Defect.
CSC 395 – Software Engineering Lecture 9: Testing -or- How I Stopped Worrying and Learned to Love the Bug.
1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation.
Verification and Validation
1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.
Design Reviews Peer Reviews. Agenda Peer Reviews Participants of Peer Review Preparation for a Peer Review Session The Peer Review Session Post-peer Review.
1CMSC 345, Version 4/04 Verification and Validation Reference: Software Engineering, Ian Sommerville, 6th edition, Chapter 19.
OHT 4.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
Quality Concept Computer Science Department, Faculty Of Science Prince of Songkhla University Apirada Thadadech.
Software Inspections and Walkthroughs By. Adnan khan.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation.
SoITSSpecifications of IT systems? 1 Specifications of IT systems checking and validating Jens Bennedsen and Peter Gorm Larsen
Software Reviews. Introduction/Motivation When creating written documents, it is a good idea to have someone else proof read your work. Oftentimes an.
Chapter 14: Inspection  Basic Concept and Generic Process  Fagan Inspection  Other Inspection and Related Activities.
Software Inspections. Defect Removal Efficiency The number of defects found prior to releasing a product divided by The number of defects found prior.
CSE403 Software Engineering Autumn 2001 Technical Reviews Gary Kimura Lecture #19 November 14, 2001.
Software Inspection A basic tool for defect removal A basic tool for defect removal Urgent need for QA and removal can be supported by inspection Urgent.
Copyright © 1998 Philip M. Johnson (1) Introduction to Formal Technical Reviews Philip Johnson Associate Professor Department of Information and Comp.
Formal and Informal Peer Reviews
Phil Cronin Anne Hill Allen Schones CIS841 Summer on Campus 1998 IN-PROCESS INSPECTIONS FOR OBJECT ORIENTED DESIGNS.
 CS 5380 Software Engineering Chapter 8 Testing.
Software Test Metrics When you can measure what you are speaking about and express it in numbers, you know something about it; but when you cannot measure,
Formal Technical Reviews Matt Graham 18 November 2004 EECS 814 University of Kansas.
... there is no particular reason why your friend and colleague cannot also be your sternest critic. --Jerry Weinberg --Jerry Weinberg.
Software Testing and Maintenance 1 Code Review  Introduction  How to Conduct Code Review  Practical Tips  Tool Support  Summary.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Chapter 19 Verification and Validation.
1 Phase Implementation. Janice Regan, Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine subphases)
Chapter 12: Software Inspection Omar Meqdadi SE 3860 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Thomas L. Gilchrist Testing Basics Set 5: CM & Peer Reviews By Thomas L. Gilchrist CSQE,CSQA 2009.
© Michael Crosby and Charles Sacker, 2001 Systematic Software Reviews Software reviews are a “quality improvement process for written material”.
CSE403 Software Engineering Autumn 2000 A bit more performance and then Technical Reviews Gary Kimura Lecture #21 November 13, 2000.
Mahindra Satyam Confidential Quality Management System Software Defect Prevention.
Software Engineering 2 Term Project by: Feras Batarseh Nestor Rivera.
Software Project Management Lecture # 12. Outline Quality Management ( chapter 26 - Pressman )  SQA  Who does it?  SQA Activities  Software reviews.
SQA COMPONENTS IN THE PROJECT LIFE CYCLE C HAPTER 8 Dr. Ahmad F. Shubita.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVII. Verification and Validation.
7 Training Employees What Do I Need to Know?
Software Quality Control and Quality Assurance: Introduction
CIS 375 Bruce R. Maxim UM-Dearborn
CSC 480 Software Engineering
Software Verification and Validation
Verification and Validation
Verification and Validation
Software Quality Engineering
Peer Reviews 11/21/2018.
Systematic Software Reviews
Inspection and Review The main objective of an Inspection or a Review is to detect defects. (Not for Giving Alternative Solutions) This activity and procedure.
Applied Software Project Management
QA Reviews Lecture # 6.
Chapter # 1 Overview of Software Quality Assurance
WALKTHROUGH and INSPECTION
Testing and Inspection Present and Future
Software Reviews.
Testing, Inspection, Walkthrough
3. Software Quality Management
Presentation transcript:

(1) Introduction to Software Review Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of Hawaii

(2) Objectives Understand the motivation for technical review. Become acquainted with “best practices” for “industrial strength” formal technical review. Begin the journey toward 'optimal' review in your own practice.

(3) Optimal Review For me, an 'optimal' review will: find all important defects give all reviewers deep insight into the code enable the author to improve the code all with least possible effort In other words: Optimal quality improvement Optimal knowledge acquisition With lowest possible cost Normally, though, it’s “pick any two”.

(4) Families of Review Methods Walkthroughs Minimal overhead Developer training Quick turnaround Defect discovery Ambiguity resolution Training Method Family Typical Goals Typical Attributes Little/no preparation No formal process No measurement Technical Reviews Some formal process Multiple stages Wide range of discussion Inspections Detect and remove all defects efficiently and effectively. Very formal process Measurement Verification

(5) Methods vs. Optimality Walkthroughs: Cost: very low Knowledge transfer: undependable Quality improvement: undependable Technical reviews: Cost: moderate Knowledge transfer: better Quality improvement: at least some Inspection: Cost: high (and not necessarily ‘least possible’) Knowledge transfer: almost guaranteed. Quality improvement: almost guaranteed

(6) 1. Reviews improve schedule predictability. 2. Reviews reduce rework. Rework accounts for 44% of dev. cost! Reqs (1%), Design (12%), Coding (12%), Testing (19%) 3. Reviews are pro-active tests. Find errors not possible through testing, such as Errors of Omission (i.e. unimplemented requirement) 4. Reviews are training. Domain, corporate standards, group. What reviews do that testing doesn't No Revs. Revs Req Design CodeTest RRR Req Design Code Test

(7) Industry experience Aetna Insurance Company: FTR found 82% of errors, 25% cost reduction. Bell-Northern Research: Inspection cost: 1 hour per defect. Testing cost: 2-4 hours per defect. Post-release cost: 33 hours per defect. Hewlett-Packard Est. inspection savings (1993): $21,454,000 IBM (using Cleanroom) C system software No errors from time of first compile.

(8) There are many different kinds of review TekInspect Development Method Non-CleanroomCleanroom FTRinFTR Code Inspection (Fagan76) Inspection (Gilb93) 2-Person Inspection (Bisant89) N-Fold Inspection (Martin90) Walkthrough (Yourdon89) Verification- based Inspection (Dyer92) Active Design Reviews (Parnas85) FTArm (Johnson94) ICICLE (Brothers90) Scrutiny (Gintell93) CAIS (Mashayekhi94) ManualTool-Based Code Reading (McConnell93) Software Review (Humphrey90) Phased Insp. (Knight93)

(9) Inspection: the most formal review Preparation Orientation Planning Review Meeting Rework Verify Verify product/process quality Correct defects. Consolidate issues. Check product, note issues. Present product, process, goals. Choose team, materials, dates.

(10) Planning Objectives Gather review package: work product, checklists, references, and data sheets. Form inspection team. Determine dates for meetings. PlanningOrientationPreparationReview Mt.ReworkVerify

(11) Orientation Objectives Author provides overview. Reviewers obtain review package. Preparation goals established. Reviewers commit to participate. PlanningOrientationPreparationReview Mt.ReworkVerify

(12) Preparation Objectives Find maximum number of non-minor issues. PlanningOrientationPreparationReview Mt.ReworkVerify

(13) Example Issue Classification Critical Defects that may cause the system to hang, crash, produce incorrect results or behavior, or corrupt user data. No known work-arounds. Severe Defects that cause incorrect results or behavior with known work-arounds. Large and/or important areas of the system is affected. Moderate Defects that affect limited areas of functionality that can either be worked around or ignored. Minor Defects that can be overlooked with no loss of functionality.

(14) Review Meeting Objectives Create consolidated, comprehensive listing of non-minor issues. Provide opportunity for group synergy. Improve reviewing skill by observing others. Create shared knowledge of work product. PlanningOrientationPreparationReview Mt.ReworkVerify

(15) Rework Objectives Assess each issue, determine if it is a defect, and remove it if necessary. Produce written disposition of non-minor issue. Resolve minor issues as necessary. PlanningOrientationPreparationReview Mt.ReworkVerify

(16) Verify Objectives Assess the (reworked) work product quality. Assess the inspection process. Pass or fail the work product. PlanningOrientationPreparationReview Mt.ReworkVerify

(17) ICS Software Engineering Technical Reviews

(18) Goals for our Tech. Reviews 1. Learn how to obtain useful feedback from classmates about your software system. 2. Learn how to critically read and evaluate code written by another developer. 3. Learn the difference between low-impact, “waste of time” reviews and high-impact, “would have never noticed this myself” reviews. 4. Learn that reviewing other code can be an effective way to improve your own coding skills.

(19) Initial approach: Checklist-based technical review Use a checklist to: focus reviewer attention. specify the concerns of the review Write down reviewer comments to: provide a clear record of reviewer feedback. assess coverage of review. Go over reviewer comments with author to: Clarify meaning of comments. Assess validity. Provide opportunity for new issues to arise.

(20)