icsm2009 alam
TRANSCRIPT
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