0

Icse2011 build maintenance

320

Published on

Slides for An Empirical Study of Build Maintenance Effort.

Published in: Technology, Sports
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
320
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
21
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Cars have features like AC and Power windows...\nSoftware has features... Linux -> CPU freq scaling, pluggable module support\nYou need tools to build a car, and you also need tools...compilers and linkers...\n
  • Cars have features like AC and Power windows...\nSoftware has features... Linux -> CPU freq scaling, pluggable module support\nYou need tools to build a car, and you also need tools...compilers and linkers...\n
  • Cars have features like AC and Power windows...\nSoftware has features... Linux -> CPU freq scaling, pluggable module support\nYou need tools to build a car, and you also need tools...compilers and linkers...\n
  • Cars have features like AC and Power windows...\nSoftware has features... Linux -> CPU freq scaling, pluggable module support\nYou need tools to build a car, and you also need tools...compilers and linkers...\n
  • Cars have features like AC and Power windows...\nSoftware has features... Linux -> CPU freq scaling, pluggable module support\nYou need tools to build a car, and you also need tools...compilers and linkers...\n
  • Cars have features like AC and Power windows...\nSoftware has features... Linux -> CPU freq scaling, pluggable module support\nYou need tools to build a car, and you also need tools...compilers and linkers...\n
  • Cars have features like AC and Power windows...\nSoftware has features... Linux -> CPU freq scaling, pluggable module support\nYou need tools to build a car, and you also need tools...compilers and linkers...\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • devs: constantly have to rebuilt artifacts to test changes... bld sys incrementally updates builds\n\n\n
  • devs: constantly have to rebuilt artifacts to test changes... bld sys incrementally updates builds\n\n\n
  • devs: constantly have to rebuilt artifacts to test changes... bld sys incrementally updates builds\n\n\n
  • devs: constantly have to rebuilt artifacts to test changes... bld sys incrementally updates builds\n\n\n
  • devs: constantly have to rebuilt artifacts to test changes... bld sys incrementally updates builds\n\n\n
  • devs: constantly have to rebuilt artifacts to test changes... bld sys incrementally updates builds\n\n\n
  • devs: constantly have to rebuilt artifacts to test changes... bld sys incrementally updates builds\n\n\n
  • devs: constantly have to rebuilt artifacts to test changes... bld sys incrementally updates builds\n\n\n
  • devs: constantly have to rebuilt artifacts to test changes... bld sys incrementally updates builds\n\n\n
  • devs: constantly have to rebuilt artifacts to test changes... bld sys incrementally updates builds\n\n\n
  • devs: constantly have to rebuilt artifacts to test changes... bld sys incrementally updates builds\n\n\n
  • devs: constantly have to rebuilt artifacts to test changes... bld sys incrementally updates builds\n\n\n
  • devs: constantly have to rebuilt artifacts to test changes... bld sys incrementally updates builds\n\n\n
  • Firefox 3.0 was built and delivered incorrectly\nusers in a networked environment address/search bar broken\ndue to an incorrect version of the SQLite library being linked in build process\nFix was delivered 4 months late in a service pack (3.0.1)\n
  • Firefox 3.0 was built and delivered incorrectly\nusers in a networked environment address/search bar broken\ndue to an incorrect version of the SQLite library being linked in build process\nFix was delivered 4 months late in a service pack (3.0.1)\n
  • Firefox 3.0 was built and delivered incorrectly\nusers in a networked environment address/search bar broken\ndue to an incorrect version of the SQLite library being linked in build process\nFix was delivered 4 months late in a service pack (3.0.1)\n
  • Firefox 3.0 was built and delivered incorrectly\nusers in a networked environment address/search bar broken\ndue to an incorrect version of the SQLite library being linked in build process\nFix was delivered 4 months late in a service pack (3.0.1)\n
  • Firefox 3.0 was built and delivered incorrectly\nusers in a networked environment address/search bar broken\ndue to an incorrect version of the SQLite library being linked in build process\nFix was delivered 4 months late in a service pack (3.0.1)\n
  • Firefox 3.0 was built and delivered incorrectly\nusers in a networked environment address/search bar broken\ndue to an incorrect version of the SQLite library being linked in build process\nFix was delivered 4 months late in a service pack (3.0.1)\n
  • Firefox 3.0 was built and delivered incorrectly\nusers in a networked environment address/search bar broken\ndue to an incorrect version of the SQLite library being linked in build process\nFix was delivered 4 months late in a service pack (3.0.1)\n
  • Firefox 3.0 was built and delivered incorrectly\nusers in a networked environment address/search bar broken\ndue to an incorrect version of the SQLite library being linked in build process\nFix was delivered 4 months late in a service pack (3.0.1)\n
  • Firefox 3.0 was built and delivered incorrectly\nusers in a networked environment address/search bar broken\ndue to an incorrect version of the SQLite library being linked in build process\nFix was delivered 4 months late in a service pack (3.0.1)\n
  • Based on survey results...\n
  • \n
  • Studied 10 projects of different:\n- prog language (c, c++, java)\n- domain (web communications, compilers, RDBMS, IDE...)\n- dev methodology (open, proprietary)\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • We find that the build system accounts for 9% of the build files in a project (median).\n- Small!\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • 1) churn of the build system is close to that of the source code (normalized)\n2) Prior research => High churn may produce bugs!\n
  • 1) churn of the build system is close to that of the source code (normalized)\n2) Prior research => High churn may produce bugs!\n
  • 1) churn of the build system is close to that of the source code (normalized)\n2) Prior research => High churn may produce bugs!\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • - measures strength of implication...\n
  • - measures strength of implication...\n
  • - measures strength of implication...\n
  • - measures strength of implication...\n
  • - measures strength of implication...\n
  • - measures strength of implication...\n
  • - measures strength of implication...\n
  • Counter intuitive and does not match with prior survey results (<12%)\n
  • - Mozilla is scary high\n- Eclipse-core and Jazz are considerably lower\n- Use of PDE build\n
  • - Mozilla is scary high\n- Eclipse-core and Jazz are considerably lower\n- Use of PDE build\n
  • - Mozilla is scary high\n- Eclipse-core and Jazz are considerably lower\n- Use of PDE build\n
  • - Mozilla is scary high\n- Eclipse-core and Jazz are considerably lower\n- Use of PDE build\n
  • \n
  • \n
  • - devs may not commit all changes in one revision\n
  • - devs may not commit all changes in one revision\n
  • - devs may not commit all changes in one revision\n
  • - devs may not commit all changes in one revision\n
  • - devs may not commit all changes in one revision\n
  • - devs may not commit all changes in one revision\n
  • - devs may not commit all changes in one revision\n
  • - devs may not commit all changes in one revision\n
  • - devs may not commit all changes in one revision\n
  • - devs may not commit all changes in one revision\n
  • - devs may not commit all changes in one revision\n
  • - devs may not commit all changes in one revision\n
  • - devs may not commit all changes in one revision\n
  • - devs may not commit all changes in one revision\n
  • - devs may not commit all changes in one revision\n
  • - devs may not commit all changes in one revision\n
  • - devs may not commit all changes in one revision\n
  • - devs may not commit all changes in one revision\n
  • - devs may not commit all changes in one revision\n
  • - devs may not commit all changes in one revision\n
  • - devs may not commit all changes in one revision\n
  • - devs may not commit all changes in one revision\n
  • - devs may not commit all changes in one revision\n
  • - devs may not commit all changes in one revision\n
  • - devs may not commit all changes in one revision\n
  • - devs may not commit all changes in one revision\n
  • - devs may not commit all changes in one revision\n
  • - Jazz src devs are often responsible for build dev\n- Git and Linux are less so\n
  • - Jazz distributes build work...\n
  • - Jazz distributes build work...\n
  • - Jazz distributes build work...\n
  • - Jazz distributes build work...\n
  • \n
  • Build maintenance is a nuisance for developers\nneed tools to help them to cope\ne.g., Jazz has tools, lowered build coupling to 4%\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Build maintenance is a nuisance for developers!\nneed tools to help them to cope!\n
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×