How much does integrating this commit cost?
- A position paper
Yujuan Jiang, Bram Adams, Daniel M. German1
2
Merge%cost% Update%cost% Maintain%cost% Remove%cost%
0.8%
4.5%3.5% 2.7%
2.1%
4.4%
3% 5.5%
1.5%
Commit&2&Text
Cost
Time
Audiobus and its Profile
Text Text
3
Easy to Merge, Hard to Synchronize!
Integration & its Challenges
external library
host project
platform:Java 7
dependency: Java 8
4
Integration: Different & Everywhere
Does it have external dependencies?
How much effort do I need to pay?
Is this integration worth the effort?
What will this integration change?
Will it cause further risk?
.......integrator
Panic Story of Integrator
6
ISOMO: Integration of Software cOst
MOdel
7
8
ISOMO: 4 Dimensions & 9 Subfactors
Merge Cost Update Cost
Maintenance Cost Removal Cost
Cherry-picking
Local patch
Refactoring
Roll-back
Risk analysisCherry-picking
Local patchRebasing
Local patch
ISOMO: Quantify the Cost of Integration
9
Merge Cost
Update Cost
Maintenance Cost
Removal Cost
ISOMO
Current solution VS. ISOMO
Merge Cost
Update Cost
Maintenance Cost
Removal Cost
CO
ST
How & Why ?Yes & No ?
Application of ISOMO: Comparing the Risk of Commits
Merge%cost% Update%cost% Maintain%cost% Remove%cost%
6%3.5% 2.5% 3.8%
5.8%
1.4%0.8%
1.5%
3.5%
Commit&1&
Merge%cost% Update%cost% Maintain%cost% Remove%cost%
0.8%
4.5%3.5% 2.7%
2.1%
4.4%
3% 5.5%
1.5%
Commit&2&
Text
Text
Apple App
Audiobus
Challenges Encountered
12
Challenges Encountered 1
How to Evaluate the Model???
Is there any ground truth?
Challenges Encountered 2
Where can we get the data???
Bug report?
Repository?
15
Merge Cost Update Cost
Maintenance Cost Removal Cost
Cherry-picking
Local patch
Refactoring
Roll-back
Risk analysisCherry-picking
Local patchRebasing
Local patch
Challenges Encountered 3How to measure them?
ISOMO: Integration of Software cOst
MOdel
16