Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of...

36
Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    220
  • download

    0

Transcript of Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of...

Page 1: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

Identifying the Fundamental Drivers of Inspection Costs and Benefits

Adam Porter

University of Maryland

Page 2: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

Collaborators

• Victor Basili• Philip Johnson• Audris Mockus• Harvey Siy• Lawrence Votta• Carol Toman

Page 3: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

Overview

• Software inspection• Research questions• Experiments• Future work

Page 4: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

Software Inspection

• Software inspection: An in-process technical review of any software work product conducted for the purpose of finding and eliminating defects. [NASA-STD-2202-93]

• Software work products: e.g., requirements specs, designs, code, test plans, documentation

• Defects: e.g., implementation errors, failures to conform to standards, failures to satisfy requirements

Page 5: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

Inspection Process Model

• Most organizations use a three-step inspection process– individual analysis

• use Ad Hoc or Checklist techniques to search for defects

– team analysis• reader paraphrases artifact

• issues from individual and team analyses are logged

– rework• Author resolves and repairs defects

Page 6: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

Overview

• Software inspection• Research questions• Experiments• Future work

Page 7: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

• Widely-used (especially in large-scale development)– Few practical alternatives– Demonstrated cost-effectiveness

• defects found at all stages of development

• high cost of rework

• Substantial inefficiencies– 1 code inspection per 300-350 NCSL (~ 1500 / .5MNCSL)– 20 person-hours per inspection (not including setup and rework)– significant effect on interval (calendar time to complete)– effort per defect is high– many defects go undiscovered

Current Practice

Page 8: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

Research Conjectures

• Several variants have been proposed – [Fagan76, LMW79, PW85, BL89 , Brothers90, Johnson92, SMT92,

Gilb93, KM93, Hoffman94, RD94]

• Weak empirical evaluation– cost-benefit analyses are simplistic or missing – poor understanding of cost and benefit drivers

• Low-payoff areas emphasized – process– group dynamics

• High-payoff areas de-emphasized– individual analysis techniques – tool support

Page 9: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

Inspection Costs and Benefits

• Potential drivers– structure (tasks, task dependencies)– techniques (individual and group defect detection)– inputs (artifact, author, reviewers)– technology (tool support)– environment (deadlines, priorities, workloads)

Page 10: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

Overview

• Software inspection• Research questions• Experiments• Future work

Page 11: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

Process Structure

• Main structural differences– team size: large vs. small– number of teams: single vs. multiple– coordination of multiple teams: parallel vs. sequential

• H0: none of these factors has any effect on effort, interval, or effectiveness– 6-person development team at Lucent, plus 11 outside

inspectors– optimizing compiler (65K lines of C++)– Harvey Siy joined team as Inspection Quality Engineer (IQE)– instrumented 88 inspections over 18 months (6/9412/95)

Page 12: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

Experimental Design

• Independent variables– number of inspection teams (1 or 2)– number of reviewers per team (1,2 or 4)– repair between multiple teams (required or prohibited)

• Control group: 1-team with 4-reviewers• Dependent variables

– inspection effort (person hours)– inspection interval (working days)– observed defect density (defects/KNCSL)– repair statistics

Page 13: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

Treatment Allocation and Validity

• Treatment allocation rule– IQE notified via email when code unit becomes available

– treatment assigned on a random basis

– reviewers selected at random (without replacement)

• Internal validity– selection (natural ability)

– maturation (learning)

– instrumentation (code quality)

• External validity– scale (project size)

– subject representativeness (experience)

– team/project representativeness (application domain)

Page 14: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

All Data

TeamsRepair

Team

Size

DE

FE

CT

DE

NS

ITY

(de

fect

s/K

NC

SL)

0

20

40

60

80

-

-

-

-

-

-

--

-

-

-

-

-

-

--

-

-

-

-

-

-

---

--

-

-

--

-

-

--

-

-

--

-

--

-

---

-

-

--

--

-

-

-

-

-

---

-

-

-

-

-

-

-

--

-

--

---

--

-

-

-

-

-

-

-

-

-

-

1

2NR

R

1

24

All Data

Team

SizeTeamsRepair

INT

ER

VA

L (w

orki

ng d

ays)

0

10

20

30

40

-

-

-

--

--

-

--

-

-

-

-

-

-

--

--

-

-

-

-

--

-

-

-

-

-

-

-

-

-

--

----

-

-

-

---

-

--

-

-

-

-

--

-

--

-

-

-

-

--

-

-

-

--

-

-

-

-

-

-

-

--

-

-

-

-

-

-

-

-

-

12

NR

R

142

RNR

All Data

TeamsRepair

Team

SizeE

FF

OR

T (

pers

on-h

our

s pe

r K

NC

SL)

0

20

40

60

80

-

-

-

--

-

-

-

--

-

-

-

-

----

-

-

-

-

--

-

-

-

-

-

-

-

--

-

-

-

--

-

-

-

--

-

-

-

-

-

-

--

-

-

-

-

-

-

-

-

--

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

----

-

-

-

-

-

-

1

2

1

2

4

Main Effects

• Effectiveness: no significant effects

Page 15: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

020

4060

8010

0

1tX1p 1tX2p 1tX4p 2tX1pN 2tX1pR 2tX2pN 2tX2pR All

TREATMENT

DE

FE

CT

DE

NS

ITY

(d

efec

ts/K

NC

SL

)

• Team size: 1tX1p < (1tX2p 1tX4p)• Repair: 2tXR 2tXN• Teams: 2t X1p > 1tX1p, 2tX2p tX2p • Teams: 2t 1t (total # of rev’s held constant)

Defect Density By Treatment

Page 16: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

Process Inputs

• Independent vars insignificant, but variation is high– are the effects of unknown factors obscuring the effects of

process structure?– are the effects of unknown factors greater than the effect of

process structure?

• Process inputs are likely source of variation• Develop statistical models

– generalized linear models (Poisson family with logarithmic link)– model variables reflect process structure and process inputs – remove insignificant factors

Page 17: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

3.0

SQRT(FITTED VALUES)

SQRT

(ORI

GINA

L VAL

UES)

1 2 3 4

01

23

4

SQRT(FITTED VALUES)A

BS

(RE

SID

UA

L D

AT

A)

1 2 3 4

0.0

0.5

1.0

1.5

2.0

2.5

Defect Density

• Model: Defects ~ Functionality + log(Size) + RB + RF

– explains 50% of variation using 10 of 88 degrees of freedom

• Process input is more influential than process structure– structure: inputs: 50%

Page 18: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

Summary

• Structural factors had no significant effect on effectiveness– more reviewers didn’t always find more defects

• Process inputs were far more influential than process structure

• Best explanation of inspection effectiveness (so far)– not process structure– reviewer expertise

Page 19: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

Analysis Techniques: Groups vs. Individuals

• Traditional view: meetings are essential – many defects or classes of defects are found during meetings– these defects would not have been found otherwise

• Research hypotheses:– inspections with meetings are no more effective than those

without– inspections with meetings do not find specific classes of faults

more often than those without– benefit of additional individual analysis is greater than or equal

to the benefit of meeting

Page 20: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

Candidate Inspection Methods

• Preparation -- Inspection (PI)– individuals become familiar with artifact– team meets to identify defects

• Detection -- Collection (DC)– individuals identify issues– team meets to classify issues and identify defects

• Detection -- Detection (DD)– individuals identify issues– individuals identify more issues

Page 21: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

Experimental Design• Subjects:

– 21 UMD CS graduate students (Spring ‘95)– 27 professional software developers (Fall ‘96)

• Artifacts– software requirements specs (WLMS and CRUISE)

• Independent Variables– inspection method (PI, DC, or DD)– inspection round (R1 or R2)– specification to be inspected (W or C)– presentation order (WC or CW)

• Dependent Variables– individual and team defect detection ratios– meeting gain and loss rates

Page 22: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

2

Graduate Students

All Method Spec. Round Order

Obs

erve

d D

efec

t D

ensi

ty

0.0

0.2

0.4

0.6

-

-

-

--

---

-

-

-

-

-

PIDC

DD

W

C

1

CW

WC

Professionals

All Method

-

--

-

--

---

PIDC

DD

• H1: Inspections with meetings find more defects than those without – DD method found more faults than any other method– PI method was indistinguishable from DC method

Page 23: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

• H2: Inspections with meetings find specific classes of defects more often than those without – 5 of 42 defects are found more often by inspections with meetings than by those

without– only 1 difference is statistically significant

Fault ID

Fa

ult

De

tect

ion

Pro

ba

bili

ty

0 10 20 30 40

0.0

0.2

0.4

0.6

0.8

1.0

Page 24: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

Fau

lts p

er T

eam

(P

hase

1)

05

1015

2025

30

DD DC

Fau

lts p

er T

eam

(P

hase

2)

05

1015

2025

30

DD DC

Fau

lts p

er R

evie

wer

(P

hase

1)

510

1520

DD DC

• H3: Benefit of additional individual analysis is less than or equal to the benefit of meeting – no differences in 1st phase team performance

– significant differences in 2nd phase team performance

Page 25: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

Summary

• Meetingless inspections identified the most defects– also, generated the most issues and false positives

• Few “meeting-sensitive” faults• Additional data

– similar study at the University of Hawaii shows same results (Johnson97, Porter and Johnson97)

– industrial case study of 3000 inspections showed that meetingless inspections were as effective as those with meetings (Perpich, Perry, Porter, Votta, and Wade97)

• Best explanation of inspection effectiveness (so far)– not process structure nor group dynamics– reviewer expertise

Page 26: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

Improved Individual Analysis

• Develop an improved individual analysis • Measure effect on overall inspection effectiveness• Classification of individual analysis methods

– analysis techniques: strategies for detecting defects• prescriptiveness: nonsystematic - systematic

– reviewer responsibility: population of defects to be found• scope: specific - general

– coordination policy: assignment of responsibilities to reviewers • overlap: distinct - identical

Page 27: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

Systematic Inspection Hypothesis

• Current Practice: Ad Hoc or Checklist methods– nonsystematic techniques with general and identical

responsibilities

• Alternative approach– systematic techniques with specific and distinct responsibilities

• Research Hypothesis– H0: Inspections using non-systematic techniques with general

and identical responsibilities find more defects than those using systematic techniques with specific and distinct responsibilities

Page 28: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

Defect-based Scenarios

• Ad Hoc method based on defect taxonomy [BW]

• Checklist method based on taxonomy plus items taken

from industrial checklists. • Scenario method refined Checklist items into procedures

for detecting a specific class of defects

MF

IFDT

AH

CH

Reviewer Responsibility

• Three groups of scenarios

– data type inconsistencies

– incorrect functionality

– ambiguity/missing functionality

Page 29: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

Experimental Design• Subjects

– 48 UMD CS graduate students (Spring and Fall ‘93)– 21 professional software developers (Fall ‘95)

• Software requirements specs (WLMS and CRUISE)• Independent variables

– replication (E1, E2)– round (R1, R2)– analysis method (Ad Hoc, Checklist, or Scenario)– specification (W or C)– order (CW, WC)

• Dependent variables– individual & team defect detection rates– meeting gain & loss rates

Page 30: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

R1R2

All Method Spec. Round Order

Graduate StudentsO

bse

rved

Def

ect

Den

sity

0.0

0.2

0.4

0.6

0.8

1.0

--

-

-

-

-

-

-

-

-

-

-

-------

-

-

-

-

-

--

--

-

--

-

Ad HocCheck

Scen

C

WWCCW

R2

All Method Spec. Round Order

Professionals

0.0

0.2

0.4

0.6

0.8

1.0

---

-

-

--

-

--

-

-

Ad Hoc

Check

Scen

WCWC R1

CW

• Scenarios outperform all methods • Checklist performance no better than Ad Hoc

Page 31: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

• Scenario reviewers found more targeted detects

• Scenarios reviewers found as many untargeted defects

Individual Inspection Performance: WLMS

1

3

5

7

9

DT IF MF CH AH

1

2

3

4

0

DT IF MF CH AH

0

1

2

3

4

DT IF MF CH AH0

1

3

5

7

9

DT IF MF CH AH

DT

MF

IF

Other

Page 32: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

Summary

• Current models may be unfounded– meetings not necessarily cost-effective– more complex structures did not improve effectiveness

• Reviewer expertise appears to be dominant factor in inspection effectiveness– structure had little effect– inputs more influential than structure– individual effects more influential than group effects– improved individual analysis methods significantly improved

performance

Page 33: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

Overview

• Software inspection• Research questions• Experiments• Future work

– Inspections– Code evolution– Regression testing

Page 34: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

Field Testing

• Goal: reduce interval without reducing effectiveness• Solution approach: remove coordination

– private vs. shared individual analysis– meetings vs. meetingless– sequential vs. parallel tasks

• Developed web-based inspection tool (HyperCode)– Event monitor for distributed development groups

• Have deployed the tool– Naperville, IL and Whippany, NJ– multi-phase experiment

Page 35: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

Software Evolution

• NSF-sponsored project to understand, measure, predict, remedy, and prevent code decay– cross-disciplinary team with experience in statistics, visualization, and

software engineering– industrial partner: Lucent Technologies

• Data Sources– Lucent 5ESS switching system - 18M LOC, 15yr change history, 3.6M

deltas in ECMS, project milestones, testing history

• Current focus: – developing code decay indices– time series analysis– exploiting version control information

Page 36: Identifying the Fundamental Drivers of Inspection Costs and Benefits Adam Porter University of Maryland.

Scaleable, Program-Analysis-Based Maintenance and Testing

• NSF-sponsored project to develop and evaluate techniques for maintaining and testing large-scale software systems.– cross-disciplinary team with experience in database,

programming languages and software engineering– industrial partner: Microsoft

• Current focus– construct a program-analysis infrastructure– develop scaleable program-analysis techniques– perform large-scale experimentation