icsm2009 alam

25
Measuring the Progress of Projects Using the Time Dependence of Code Changes Omar Alam , Bram Adams and Ahmed E. Hassan Software Analysis and Intelligence Lab (SAIL), Queen’s University, Canada 1

Upload: sailqu

Post on 12-Apr-2017

90 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Icsm2009 alam

Measuring the Progress of Projects Using the Time Dependence of Code Changes

Omar Alam, Bram Adams and Ahmed E. HassanSoftware Analysis and Intelligence Lab (SAIL), Queen’s University, Canada

1

Page 2: Icsm2009 alam

Tracking the Progress of Projects

2

Managers track projects through:

Manually compiled progress reportsMeetings with developers

Page 3: Icsm2009 alam

Software as a Construction Project

Each change provides structure which other changes can build on

3

Page 4: Icsm2009 alam

Approach: Establishing Time Dependence Between Changes

Time dependent Time dependent

4

Page 5: Icsm2009 alam

Approach: Establishing Time Dependence Between Changes

C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11

Time Dependent

Time Dependent

Time DependentPeriod1 Period2 Period3

5

Page 6: Icsm2009 alam

Approach: Establishing Time Dependence Between Changes

C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11

Time Dependent

Time Dependent

Time DependentPeriod1 Period2 Period3

Time Dependent

Time Dependent

6

Page 7: Icsm2009 alam

Approach: built-on-new, built-on-old and independent changes

Built-on-old

Built-on-new

C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11

Time Dependent

Independent

Time Dependent

Time Dependent

Time Dependent

Time Dependent

Period1 Period2 Period3

7

Page 8: Icsm2009 alam

Categories of Changes

8

Built-on-New

Independent

Built-on-Old

Page 9: Icsm2009 alam

Case Study

1997-2007

1994-2005 9

Page 10: Icsm2009 alam

Definition of built-on-new and built-on-old

The average plateaus when moving to periods longer than two quarters

10

Page 11: Icsm2009 alam

Just-in-time or Delayed?

?

11

Q1 How does the Time Dependence of Changes Vary?

Page 12: Icsm2009 alam

Q1 : How does the Time Dependence of Changes Vary ?

12

Page 13: Icsm2009 alam

PostgreSQL

Built-on-New Built-on-NewBuilt-on-Old

FreeBSD

13

Page 14: Icsm2009 alam

Skyscrapers or Urban Sprawl

?

14

Q2: What is the Impact of Independent Changes?

Page 15: Icsm2009 alam

Q2: What is the Impact of Independent Changes?

15

Page 16: Icsm2009 alam

PostgreSQL

FreeBSD

16

Page 17: Icsm2009 alam

Construction or Renovation?

same floor or different floors?

17

Q3: Is the Distribution of Time Dependence Similar for the Regular Development and Bug Fix Processes?

Page 18: Icsm2009 alam

Q3: Is the Distribution of Time Dependence Similar for Regular Development and Bug Fix Processes?

Correlations between bug fix and enhancement changes

PostgreSQL FreeBSDBuilt-on-New 0.87 0.81Built-on-Old 0.90 0.91Independent 0.84 0.90

18

Page 19: Icsm2009 alam

Same or Different Floors?

PostgreSQL and FreeBSD

19

Page 20: Icsm2009 alam

Risks of Construction?

20

Q4: Is building on new code risky?

Page 21: Icsm2009 alam

Q4: Is Building on Recent Changes Risky?

Correlation is 0.91 for FreeBSD21

years

Page 22: Icsm2009 alam

Q4: Is Building on Recent Changes Risky?

Correlation is 0.65 for PostgreSQL

22

years

Page 23: Icsm2009 alam

Is Building on New Code Risky?

Building on new code is risky

Yes

23

Page 24: Icsm2009 alam

24

PostgreSQL FreeBSD

Built-on-New Built-on-NewBuilt-on-Old

Fewer independent changes More independent changes

Conclusion

Page 25: Icsm2009 alam

25

Building on New Code

Risky and leads to bugs

Regular Development and Bug Fix

On same change periods

Conclusion