1 Design and Code Inspections to Reduce Errors in Program Development. M.E. Fagan IBM Systems Journal, 1976 Presented by Ankush Varma.

Slides:



Advertisements
Similar presentations
Software Reviews Copyright, 1999 © Jerzy R. Nawrocki Personal Software Process Lecture.
Advertisements

Systems Analysis, Prototyping and Iteration Systems Analysis.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
Testing Without Executing the Code Pavlina Koleva Junior QA Engineer WinCore Telerik QA Academy Telerik QA Academy.
CS Section 600 CS Section 002 Dr. Angela Guercio Spring 2010.
1 Software Testing and Quality Assurance Lecture 2 Software Verification & Validation.
Program Flow Charting How to tackle the beginning stage a program design.
Program Flow Charting How to tackle the beginning stage a program design.
ECE122 L17: Method Development and Testing April 5, 2007 ECE 122 Engineering Problem Solving with Java Lecture 17 Method Development and Testing.
DAIMI(c) Henrik Bærbak Christensen1 Reviews Software Inspections.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Software Testing Prasad G.
1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.
Computer Science I CS rmaclin
Python Mini-Course University of Oklahoma Department of Psychology Day 1 – Lesson 2 Fundamentals of Programming Languages 4/5/09 Python Mini-Course: Day.
Software Inspections and Walkthroughs By. Adnan khan.
Slide 6.1 CHAPTER 6 TESTING. Slide 6.2 Overview l Quality issues l Nonexecution-based testing l Execution-based testing l What should be tested? l Testing.
1 Debugging and Testing Overview Defensive Programming The goal is to prevent failures Debugging The goal is to find cause of failures and fix it Testing.
Verification and Validation Overview References: Shach, Object Oriented and Classical Software Engineering Pressman, Software Engineering: a Practitioner’s.
1 POP Quiz T/F Defect Removal Effectiveness and Defect Removal Models are not true Predictive Models Define DRE What is a Checklist? What is it for? What.
CPSC 873 John D. McGregor Session 4 Requirements V & V - continued.
Designing and Debugging Batch and Interactive COBOL Programs Chapter 5.
Software Quality See accompanying Word file “Software quality 1”
Testing. 2 Overview Testing and debugging are important activities in software development. Techniques and tools are introduced. Material borrowed here.
CPS120 Introduction to Computer Programming The Programming Process.
Jump to first page (C) 1998, Arun Lakhotia 1 Quality Assurance: Reviews and Walkthroughs Arun Lakhotia University of Southwestern Louisiana Po Box
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
Systems Life Cycle A2 Module Heathcote Ch.38.
Software Testing and Maintenance 1 Code Review  Introduction  How to Conduct Code Review  Practical Tips  Tool Support  Summary.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Code Review.
The basics of the programming process The development of programming languages to improve software development Programming languages that the average user.
Compilers: Overview/1 1 Compiler Structures Objective – –what are the main features (structures) in a compiler? , Semester 1,
The Software Development Process
Inspection and Review The main objective of an Inspection or a Review is to Detect Defects. (Today -there may be some other goals or broader definition.
Testing. Today’s Topics Why Testing? Basic Definitions Kinds of Testing Test-driven Development Code Reviews (not testing) 1.
Project Management Organization Scheduling 31 January.
Testing Chapter 23 IB103 Week 12 (part 3). Verify that a complex (any) program works correctly, that the program meets specifications The chapter reviews.
Click to add text Systems Analysis, Prototyping and Iteration.
Inspection and Review The main objective of an Inspection or a Review is to detect defects. This activity and procedure was first formalized by Mike Fagan.
© Michael Crosby and Charles Sacker, 2001 Systematic Software Reviews Software reviews are a “quality improvement process for written material”.
Building usable software through early testing. Objective Show the value of testing from the beginning of the development cycle. Consensus in the industry.
Testing and Debugging. Testing Fundamentals  Test as you develop Easier to find bugs early rather than later Prototyping helps identify problems early.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Compilers and Interpreters
Manual Testing Concepts Instructor: Surender. Agenda  Content: 1. Testing Overview I. What is testing II. Who does testing III. When to Start Testing.
Systems Development Life Cycle
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Cs498dm Software Testing Darko Marinov January 24, 2012.
1 Software Testing and Quality Assurance Motivation and Review of Software Verification & Validation (2)
Chapter 2- Visual Basic Schneider
Algorithms, Part 2 of 3 Topics Problem Solving Examples Pseudocode
Verification and Validation Overview
SWE 3643_2016_Lesson_3 PSP Data / Review / Inspection from kindergarten to college SWE 3643 Lesson 3 PSP & Review/Inspection.
Some Simple Definitions for Testing
Algorithms, Part 2 of 3 Topics Problem Solving Examples Pseudocode
SWE 3643_2016_Lesson_3 PSP Data / Review / Inspection from kindergarten to college SWE 3643 Lesson 3 PSP & Review/Inspection.
Chapter 2- Visual Basic Schneider
Algorithms, Part 2 of 3 Topics Problem Solving Examples Pseudocode
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.
COLLABORATIVE CODE CONSTRUCTION: CODE REVIEWS AND PAIR PROGRAMMING
Project Management: Inspections and Reviews Formal Specifications
Software Development Approaches
Collaborative Code Construction: Code Reviews and Pair Programming
Testing and Inspection Present and Future
Compiler Structures 1. Overview Objective
Testing, Inspection, Walkthrough
Chapter 10: Testing and Quality Assurance
Collaborative Code Construction: Code Reviews and Pair Programming
Presentation transcript:

1 Design and Code Inspections to Reduce Errors in Program Development. M.E. Fagan IBM Systems Journal, 1976 Presented by Ankush Varma

2 Overview What is Code Inspection Study: Quantification of Benefits The Formal Inspection Process Code Inspection for Process Management

3 Code Inspection Code is only looked at from a debugging viewpoint. Cannot revisit algorithms, check for coding standards etc. easily. Inspection is a formal process of looking at all aspects of both design and code even when nothing seems broken. Write Code Debug Add features Test

4 Programming : A Manageable Process Programming can be though of as a process: Requirement Statements are Input. A series of processing operations act on this. Each step has well-defined output. Each step has unambiguous exit criteria e.g. clean compilation, number of lines of code a design statement translates to etc. Cost of reworking errors massively increases down the process. Note the underlying ties to a waterfall model.

5 The Programming Process cost

6 The Benefits of Code Inspection : A Study

7 Study of Error Detection Rates

8 The Formal Inspection Process

9 People Involved Moderator Designer Coder/Implementor Tester

10 The Steps of the Inspection Process

11 What to Look For : Examples

12 Code Inspection for Process Management

13 Using Code Inspections for Process Control List most error-prone modules to prioritize testing, re-coding or later inspections. Compare processes to evaluate relative effectiveness. Use increased predictability to plan ahead. Error re-work moved to first half of process, where it is cheaper. Earlier quantification of product quality.

14 Inspections are NOT Walk-Throughs

15 Questions/Discussion