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.

ICSE2011_SRC

393 views

Published on

My ACM Student Research Competition slides

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

  • Be the first to like this

ICSE2011_SRC

  1. 1. Build System Maintenance Shane McIntosh
  2. 2. What is the build system?.c.c 2
  3. 3. What is the build system? .c .c .o .o .exe 2
  4. 4. Build code is complex... 3
  5. 5. Build Maintenance is aNuisance for Developers 4
  6. 6. Build Maintenance is aNuisance for Developers 4
  7. 7. Build Maintenance is a Nuisance for Developers MakeAutotools 4
  8. 8. Build Maintenance is a Nuisance for Developers Make Migration to newer build technologyAutotools 4
  9. 9. Build Bugs Even Affect the End User! 5
  10. 10. Build Bugs Even Affect the End User!Address Bar 5
  11. 11. Build Bugs Even Affect the End User!Address Bar Search Bar 5
  12. 12. Build Bugs Even Affect the End User!Address Bar Search Bar 5
  13. 13. Build Bugs Even Affect the End User!Address Bar Search Bar 5
  14. 14. Build Systems Require 12% of a Developer’s Time (on average) Kumfert, G., and Epperly, T. Software in the DOE: The Hidden Overhead of the “Build”6
  15. 15. Build Systems Require 12% of a Developer’s Time (on average) Build maintenanceslows development! Kumfert, G., and Epperly, T. Software in the DOE: The Hidden Overhead of the “Build” 6
  16. 16. Four Dimensional Study of Build Maintenance Size Evolution Coupling People .c ? .mk 7
  17. 17. 8
  18. 18. PLplot8
  19. 19. Size Evolution Coupling People .c ? .mk 9% of Build churn Tightly Dispersed orall files >> src churn coupled concentrated PLplot 9
  20. 20. Size Evolution Coupling People .c ? .mk 9% of Build churn Tightly Dispersed orall files >> src churn coupled concentrated PLplot 10
  21. 21. Identifying build maintainers Source Build.c .c .c .c .ac .c .c
  22. 22. Identifying build maintainers Source Build.c .c .c .c .ac .c .cChange Change Change Changelist #1 list #2 list #3 list #4
  23. 23. Identifying build maintainers Source Build.c .c .c .c .ac .c .cChange Change Change Change 25% buildlist #1 list #2 list #3 list #4
  24. 24. Identifying build maintainers Source Build.c .c .c .c .ac .c .cChange Change Change Change 25% buildlist #1 list #2 list #3 list #4
  25. 25. Identifying build maintainers Source Build.c .c .c .c .ac .c .cChange Change Change Change 25% buildlist #1 list #2 list #3 list #4 0% build
  26. 26. Identifying build maintainers Source Build.c .c .c .c .ac .c .cChange Change Change Change 25% buildlist #1 list #2 list #3 list #4 0% build
  27. 27. Identifying build maintainers Source Build.c .c .c .c .ac .c .cChange Change Change Change 25% buildlist #1 list #2 list #3 list #4 0% build 50% build
  28. 28. Identifying build maintainers Source Build.c .c .c .c .ac .c .cChange Change Change Changelist #1 list #2 list #3 list #4 ≥ 0% build 50% build
  29. 29. Identifying build maintainers Source Build.c .c .c .c .ac .c .cChange Change Change Changelist #1 list #2 list #3 list #4 ≥ 0% build 50% build
  30. 30. If you maintain source code,do you maintain build code? % of developers 79% 22% 25% 12
  31. 31. If you maintain source code,do you maintain build code? % of developers 79% 22% 25% 12
  32. 32. Dispersed Ownership:Build maintenance isdistributed amongstmost team members 13
  33. 33. Dispersed Ownership: Build maintenance is distributed amongst most team members Concentrated Ownership: A small team is responsible for mostof the build maintenance 13
  34. 34. Dispersed Ownership: Build maintenance is distributed amongst most team members Which build ownership style performs best? Concentrated Ownership: A small team is responsible for mostof the build maintenance 13
  35. 35. Tool Support Needed for Build Maintenance! Build maintenance required Build churn >>for 27% of source code tasks source churn 14
  36. 36. Size Evolution Coupling People .c ? .mk 9% of Build churn Tightly Dispersed orall files >> src churn coupled concentrated PLplot 15
  37. 37. Size Evolution Coupling People .c ? .mk 9% of Build churn Tightly Dispersed orall files >> src churn coupled concentrated Questions? PLplot 15

×