Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Improving the Integration Process of Large Software Systems

581 views

Published on

It's my research proposal for the poster of Releng workshop 2014.

Published in: Engineering, Technology
  • Be the first to comment

Improving the Integration Process of Large Software Systems

  1. 1. Improving the Integration Process of Large Software Systems Yujuan Jiang, Bram Adams MCIS, Polytechnique Montreal, Canada 1 Friday, 18 April, 14
  2. 2. Integration & its Challenges external library host project platform: Java 7 dependency: Java 8 2 Friday, 18 April, 14
  3. 3. I do hold out hope that Google does come around and works to fix their codebase to get it merged upstream to stop the huge blockage that they have now caused in a large number of embedded Linux hardware companies […] But I need the help of the Google developers to make it happen, without them, nothing can change. http://www.kroah.com/log/linux/android-kernel-problems.html 3 Greg Kroah-Hartman Friday, 18 April, 14
  4. 4. Our Approach Understand how does integration work? Analyze why integration fails? Propose solution to integration issues. 4 Friday, 18 April, 14
  5. 5. 5 linux-usb linux-scsi lkml linux 3.5 subsystem maintainer1 subsystem maintainer1 Reviewing Integration Staging maintainer Linus Torvalds Case study: Linux Kernel contributor contributor contributor Friday, 18 April, 14
  6. 6. Few Patches Get In! Long Integration Time! 2005 2006 2007 2008 2009 2010 2011 2012 accepted/rejected patches year percentageofpatches 0 20000 40000 60000 80000 100000 120000 28.63 28.7 27.03 32.83 32.79 33.87 33.55 30.74 71.37 71.3 72.97 67.17 67.21 66.13 66.45 69.26 % accepted by linus % rejected by linus 33% of patches make it! 2005 2006 2007 2008 2009 2010 2011 2012 year percentageofacceptedpatchesofeachyear 020406080 instantly within_hour within_day within_week within_month within_quarter within_half_year within_year took_ages Integration requiring 1~6months! 6 Friday, 18 April, 14
  7. 7. reviewing history Tracking Evolution Process of the Patch 7 Friday, 18 April, 14
  8. 8. It takes 25% of patches more than 4 weeks to be reviewed! 8 response_time (day) 0.871 1.131 1.030 first_response_time (day) 0.801 1.215 1.010 Patch size 81.660 146.100 25.430 spread 2.398 3.811 1.016 spread_subsys 1.387 1.750 1.003 Other acceptance 46.05% 43.97% 23.26% bug-fix 49.94% 36.72% 31.10% Table 5: Time duration (#days) of the super- threads of type MM. time duration # of patch versions Min. 0 2.000 1st Qu. 2.687 2.000 Median 10.061 2.000 Mean 21.341 3.172 3rd Qu. 32.923 3.000 Max. 107.524 108.000 Friday, 18 April, 14
  9. 9. 9 linux-usb linux-scsi lkml linux 3.5 subsystem maintainer1 subsystem maintainer1 Reviewing Integration Staging maintainer Linus Torvalds Figure out the Integration Black-box! contributor contributor contributor Friday, 18 April, 14
  10. 10. 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 Propose Solution to Improve Integration 10 Friday, 18 April, 14
  11. 11. ISOMO: Integration of Software cOst MOdel 11 Friday, 18 April, 14
  12. 12. ISOMO: Quantify the Cost of Integration Merge Cost Update Cost Maintenance Cost Removal Cost ISOMO 12 Friday, 18 April, 14

×