Icsm2009 alam

Post on 12-Apr-2017

90 views 0 download

Transcript of 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

Tracking the Progress of Projects

2

Managers track projects through:

Manually compiled progress reportsMeetings with developers

Software as a Construction Project

Each change provides structure which other changes can build on

3

Approach: Establishing Time Dependence Between Changes

Time dependent Time dependent

4

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

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

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

Categories of Changes

8

Built-on-New

Independent

Built-on-Old

Case Study

1997-2007

1994-2005 9

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

The average plateaus when moving to periods longer than two quarters

10

Just-in-time or Delayed?

?

11

Q1 How does the Time Dependence of Changes Vary?

Q1 : How does the Time Dependence of Changes Vary ?

12

PostgreSQL

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

FreeBSD

13

Skyscrapers or Urban Sprawl

?

14

Q2: What is the Impact of Independent Changes?

Q2: What is the Impact of Independent Changes?

15

PostgreSQL

FreeBSD

16

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?

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

Same or Different Floors?

PostgreSQL and FreeBSD

19

Risks of Construction?

20

Q4: Is building on new code risky?

Q4: Is Building on Recent Changes Risky?

Correlation is 0.91 for FreeBSD21

years

Q4: Is Building on Recent Changes Risky?

Correlation is 0.65 for PostgreSQL

22

years

Is Building on New Code Risky?

Building on new code is risky

Yes

23

24

PostgreSQL FreeBSD

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

Fewer independent changes More independent changes

Conclusion

25

Building on New Code

Risky and leads to bugs

Regular Development and Bug Fix

On same change periods

Conclusion