active design reviews: principles and practices d. weiss and d. parnas icse 1985 presented by: shang...

22
Active Design Reviews: Principles and Practices D. Weiss and D. Parnas ICSE 1985 Presented by: Shang Zhang and Chiping Tang 4/26/2002 CSE870 Advanced Software Engineering, SS2002

Upload: isabel-flynn

Post on 17-Jan-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Active Design Reviews: Principles and Practices D. Weiss and D. Parnas ICSE 1985 Presented by: Shang Zhang and Chiping Tang 4/26/2002 CSE870 Advanced Software

Active Design Reviews: Principles and PracticesD. Weiss and D. Parnas

ICSE 1985

Presented by:

Shang Zhang and Chiping Tang4/26/2002

CSE870 Advanced Software Engineering, SS2002

Page 2: Active Design Reviews: Principles and Practices D. Weiss and D. Parnas ICSE 1985 Presented by: Shang Zhang and Chiping Tang 4/26/2002 CSE870 Advanced Software

Overview

Introduction to Software Inspection Detect and remove defects as soon as the software artifacts are created Benefits

Software quality Budget and time

Effect: 50%-90% [Gilb93] Context Design reviews

Dimensions Technical Economic Organizational Tool

Page 3: Active Design Reviews: Principles and Practices D. Weiss and D. Parnas ICSE 1985 Presented by: Shang Zhang and Chiping Tang 4/26/2002 CSE870 Advanced Software

A Generic Software Development Model

O. Laitenberger and J.M. DeBaud, “An Encompassing Life Cycle Centric Survey of Software Inspection”, The Journal of Systems and Software, 50:5-31, 2000

Page 4: Active Design Reviews: Principles and Practices D. Weiss and D. Parnas ICSE 1985 Presented by: Shang Zhang and Chiping Tang 4/26/2002 CSE870 Advanced Software

The Technical Dimension of Software Inspection

O. Laitenberger and J.M. DeBaud, “An Encompassing Life Cycle Centric Survey of Software Inspection”, The Journal of Systems and Software, 50:5-31, 2000

Page 5: Active Design Reviews: Principles and Practices D. Weiss and D. Parnas ICSE 1985 Presented by: Shang Zhang and Chiping Tang 4/26/2002 CSE870 Advanced Software

The Original Approach

Fagan 1976Five Phases: Overview

Author briefs the inspection team Preparation

Inspectors go though the document Inspection

A meeting to find defects, “synergy” effect Reader, inspector, moderator, from start to finish

Rework Author addresses the defects found Correction or justification

Follow-up Moderator checks if re-inspection needed

M. E. Fagan, “Design and Code Inspection to Reduce Errors in Program Development”, IBM System Journal, 15(3):182-211, 1976

Page 6: Active Design Reviews: Principles and Practices D. Weiss and D. Parnas ICSE 1985 Presented by: Shang Zhang and Chiping Tang 4/26/2002 CSE870 Advanced Software

Why Inefficient

Weiss and Parnas 1985

Problems with the Original Approach Difficult to find relevant information in the mass of documentation Unfamiliar with all the goals and constraints No concentrated examination Passive initiation, no explicit responsibility Limited interaction Wrong people selected Beyond competence Non-systematic

D.Weiss and D. Parnas, “Active Design Reviews: Principles and Practices”, ICSE 1985

Page 7: Active Design Reviews: Principles and Practices D. Weiss and D. Parnas ICSE 1985 Presented by: Shang Zhang and Chiping Tang 4/26/2002 CSE870 Advanced Software

Active Design Reviews

Making Design Reviewable Desirable properties

Well structured, simple, efficient, adequate, flexible, practical, implementable, standardized

Making assumption explicit Including redundant information Organizing document

Common information, cross-references, indices

Identifying Review Types Assumption validity, assumption sufficiency, consistency between

assumptions and functions, function adequacy, etc.

Classifying Reviewers (Inspectors) Specialist, potential users, experienced designers, enthusiastic logical

inconsistency detectors, etc.

D.Weiss and D. Parnas, “Active Design Reviews: Principles and Practices”, ICSE 1985

Page 8: Active Design Reviews: Principles and Practices D. Weiss and D. Parnas ICSE 1985 Presented by: Shang Zhang and Chiping Tang 4/26/2002 CSE870 Advanced Software

Active Design Reviews (cont.)

Designing The Questionnaires Make the reviewers take an active stand

“Is there an assumption that justifies the implementation of the function?” “Which assumptions tell you …?”

Conducting The Review Designer: present brief overview Reviewer: ask question Reviewer: review document sections, complete questionnaires Designer: read the completed questionnaires One-on-one or small group meeting

Discuss reviewer’s answer, reviewers defend their answers Designer: produce new version of documentation, including the issues

raised during the review

Page 9: Active Design Reviews: Principles and Practices D. Weiss and D. Parnas ICSE 1985 Presented by: Shang Zhang and Chiping Tang 4/26/2002 CSE870 Advanced Software

Impact

Effects Help select appropriate reviewers Make good use of reviewer’s skill Make effective use of reviewer’s time Every reviewer contributes Rapid focus on specific problems

Results More errors found

Impacts on Research Documentation Role and responsibility Reading techniques Meeting

D.Weiss and D. Parnas, “Active Design Reviews: Principles and Practices”, ICSE 1985

Page 10: Active Design Reviews: Principles and Practices D. Weiss and D. Parnas ICSE 1985 Presented by: Shang Zhang and Chiping Tang 4/26/2002 CSE870 Advanced Software

Related 1:Asynchronous Software Inspection

Problems of Conventional Meeting Cost, scheduling Effect: “synergy”?

Gain and loss, meeting sensitivity, data variance Personal relationship

Asynchronous Inspection Model Email communication Procedure

Individual detection circulate defect list to others why I did not find the error second round inspection send final list to moderator implicit voting and dictation

Roles and responsibilities Moderator: planning, monitoring communication, compiling final defect list Author: answering questions from inspections Inspector: looking for defects

P. Murphy and J. Miller, “Asynchronous Software Inspection”, Tech Report EfoCS-27-97, Dept. of Computer Science, Univ. of Strathclyde, UK, 1997

Page 11: Active Design Reviews: Principles and Practices D. Weiss and D. Parnas ICSE 1985 Presented by: Shang Zhang and Chiping Tang 4/26/2002 CSE870 Advanced Software

Related 1 (cont.)

Tool Support Threads of discussion, sharing of information, train of thought, visual cues,

reaching consensus, coordination

Effects No meeting cost Anytime, anywhere inspection Explicit contribution, inspection record Parallel conversation Automation Anonymity, etc

How It Extends Parnas’ Idea? Common goals: reduce meeting cost, increase meeting efficiency Active review: one-on-one or small group meeting, specific discussion Asynchronous inspection: no meeting, specific discussion and parallel

conversation

P. Murphy and J. Miller, “Asynchronous Software Inspection”, Tech Report EfoCS-27-97, Dept. of Computer Science, Univ. of Strathclyde, UK, 1997

Page 12: Active Design Reviews: Principles and Practices D. Weiss and D. Parnas ICSE 1985 Presented by: Shang Zhang and Chiping Tang 4/26/2002 CSE870 Advanced Software

Reading Techniques

Motivation Inspection results depend on inspectors and their strategies Good strategies make detection less dependent on human factors

Strategies Ad-hoc Checklist-based Reading by Stepwise Abstraction Questionnaire-based (Active Design Reviews) Scenario-based

Defect-based Function-based Perspective-based

O. Laitenberger and J.M. DeBaud, “An Encompassing Life Cycle Centric Survey of Software Inspection”, The Journal of Systems and Software, 50:5-31, 2000

Page 13: Active Design Reviews: Principles and Practices D. Weiss and D. Parnas ICSE 1985 Presented by: Shang Zhang and Chiping Tang 4/26/2002 CSE870 Advanced Software

Related 2:Detection Methods

Comparison of Detection Methods Nonsystematic techniques:

Ad-hoc: little reading support, detection fully depends on inspectors Checklist-based: a list of questions

Ad-hoc/Checklist: search for a wide variety of faults Systematic technique:

Scenario-based: search for different, specific classes of faults Limit the attention of inspectors to particular defects Different scenarios focus on different defect types, broad coverage Effectiveness depends on content and design of scenarios

• Defect-based: focus on different defect classes

• Function Point Scenario: focus on function point items

• Perspective-based: depends on roles

A.A. Porter, L.G. Votta, and V.R. Basili, "Comparing Detection Methods for Software Requirements Inspections: a Replicated Experiment", IEEE Trans. Software Eng. 21, pp.563-565, 1995

Page 14: Active Design Reviews: Principles and Practices D. Weiss and D. Parnas ICSE 1985 Presented by: Shang Zhang and Chiping Tang 4/26/2002 CSE870 Advanced Software

Related 2 (cont.)Systematic Inspection Hypothesis

Page 15: Active Design Reviews: Principles and Practices D. Weiss and D. Parnas ICSE 1985 Presented by: Shang Zhang and Chiping Tang 4/26/2002 CSE870 Advanced Software

Related 2 (cont.)Detection Methods Relationship

Page 16: Active Design Reviews: Principles and Practices D. Weiss and D. Parnas ICSE 1985 Presented by: Shang Zhang and Chiping Tang 4/26/2002 CSE870 Advanced Software

Related 2 (cont.)Experiments

Design Multi-trial experiment 48 CS graduate students 16, 3-person teams Two SRS each team Combination of Ad hoc, Checklist or Scenario methods.

Metrics Individual fault detection rate Team fault detection rate Percentage of faults first identified at the collection meeting Percentage of faults first identified by an individual, but never reported at

the collection meeting

Page 17: Active Design Reviews: Principles and Practices D. Weiss and D. Parnas ICSE 1985 Presented by: Shang Zhang and Chiping Tang 4/26/2002 CSE870 Advanced Software

Related 2 (cont.)Conclusion

Conclusions Higher fault detection rate (.43/.41/.57, .31/.24/.45) More effective detecting specific faults Checklist no more effective than Ad hoc Meetings have no net improvement

How It Extends Parnas’ Idea? Common approach: assigning inspectors to specific defect types Scenario-based method more general Coverage vs. Effective usage Empirical results

A.A. Porter, L.G. Votta, and V.R. Basili, "Comparing Detection Methods for Software Requirements Inspections: a Replicated Experiment", IEEE Trans. Software Eng. 21, pp.563-565, 1995

Page 18: Active Design Reviews: Principles and Practices D. Weiss and D. Parnas ICSE 1985 Presented by: Shang Zhang and Chiping Tang 4/26/2002 CSE870 Advanced Software

Related 3:Perspective-Based Reading

Inspected From Different Roles

One Or Multiple Scenarios For Each Perspective

Broad Coverage

Experiment Variables

Reading Technique: defect-based (MF, DI), perspective-based Perspective: tester, designer, user Documents: generic (ATM), specific (Flight dynamics)

Metrics: team/individual defect detection rate Goal: find relationship between variables Training detection Analysis approach: statistical method

Page 19: Active Design Reviews: Principles and Practices D. Weiss and D. Parnas ICSE 1985 Presented by: Shang Zhang and Chiping Tang 4/26/2002 CSE870 Advanced Software

Related 3 (cont.)Conclusion

Conclusions Better coverage (.53/.43, .31/.30, .62/.48, .85/.79) Independent on experience Slightly higher individual detection rate (.51/.47)

How It Extends Parnas’ Idea? Common approach: select appropriate inspectors Coverage vs. Effective usage Empirical results

V. Basili, S. Green, O. Laitenberger, F. Lanubile, F. Shull, S. Srumgrd, and M. Zelkowitz, "The Empirical Investigation of Perspective-Based Reading ", Empirical Software Engineering, Vol. 1, No. 2, pp. 133-164, 1996

Page 20: Active Design Reviews: Principles and Practices D. Weiss and D. Parnas ICSE 1985 Presented by: Shang Zhang and Chiping Tang 4/26/2002 CSE870 Advanced Software

Uncited:Inspection Discipline and Flexibility

Motivation Exploring the relationship between discipline and flexibility Designing tailorable and effective inspection method for defect detection

Discipline Prescriptive metrics: roles, procedures; goals, quality model; inspection

maturity; grade of competence

Flexibility Place and time independence, tailorability to process, varying number of

participants New types:

Virtual logging meeting No logging meeting Pair inspection Limited logging meeting

Ilkka Tervonen, Juha Iisakka and Lasse Harjumaa, "Software Inspection a Blend of Discipline and Flexibility", ESCOM-ENCRESS 98 Conference Proceedings , Rome 27-29. May 1998

Page 21: Active Design Reviews: Principles and Practices D. Weiss and D. Parnas ICSE 1985 Presented by: Shang Zhang and Chiping Tang 4/26/2002 CSE870 Advanced Software

Uncited (cont.)Discipline/Flexibility Dimensions

Ilkka Tervonen, Juha Iisakka and Lasse Harjumaa, "Software Inspection a Blend of Discipline and Flexibility", ESCOM-ENCRESS 98 Conference Proceedings , Rome 27-29. May 1998

Page 22: Active Design Reviews: Principles and Practices D. Weiss and D. Parnas ICSE 1985 Presented by: Shang Zhang and Chiping Tang 4/26/2002 CSE870 Advanced Software

Uncited (cont.)Why It Should Have Cited The Paper

It Extends Parnas’ Idea Pair inspection and limited logging meeting one-on-

one or small group meeting

Ilkka Tervonen, Juha Iisakka and Lasse Harjumaa, "Software Inspection a Blend of Discipline and Flexibility", ESCOM-ENCRESS 98 Conference Proceedings , Rome 27-29. May 1998