Download - 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