• DocumentCode
    555279
  • Title

    An empirical study of build maintenance effort

  • Author

    McIntosh, Shane ; Adams, Bram ; Nguyen, Thanh H D ; Kamei, Yasutaka ; Hassan, Ahmed E.

  • Author_Institution
    Software Anal. & Intell. Lab. (SAIL), Queen´´s Univ., Kingston, ON, Canada
  • fYear
    2011
  • fDate
    21-28 May 2011
  • Firstpage
    141
  • Lastpage
    150
  • Abstract
    The build system of a software project is responsible for transforming source code and other development artifacts into executable programs and deliverables. Similar to source code, build system specifications require maintenance to cope with newly implemented features, changes to imported Application Program Interfaces (APIs), and source code restructuring. In this paper, we mine the version histories of one proprietary and nine open source projects of different sizes and domain to analyze the overhead that build maintenance imposes on developers. We split our analysis into two dimensions: (1) Build Coupling, i.e., how frequently source code changes require build changes, and (2) Build Ownership, i.e., the proportion of developers responsible for build maintenance. Our results indicate that, despite the difference in scale, the build system churn rate is comparable to that of the source code, and build changes induce more relative churn on the build system than source code changes induce on the source code. Furthermore, build maintenance yields up to a 27% overhead on source code development and a 44% overhead on test development. Up to 79% of source code developers and 89% of test code developers are significantly impacted by build maintenance, yet investment in build experts can reduce the proportion of impacted developers to 22% of source code developers and 24% of test code developers.
  • Keywords
    application program interfaces; software maintenance; software management; API; application program interfaces; build coupling; build maintenance effort; build ownership; software project; source code development; source code restructuring; Couplings; Java; Libraries; Linux; Maintenance engineering; Software; build systems; empirical software engineering; mining software repositories;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering (ICSE), 2011 33rd International Conference on
  • Conference_Location
    Honolulu, HI
  • ISSN
    0270-5257
  • Print_ISBN
    978-1-4503-0445-0
  • Electronic_ISBN
    0270-5257
  • Type

    conf

  • DOI
    10.1145/1985793.1985813
  • Filename
    6032453