• DocumentCode
    2866058
  • Title

    An empirical study of build system migrations in practice: Case studies on KDE and the Linux kernel

  • Author

    Suvorov, R. ; Nagappan, Meiyappan ; Hassan, Ahmed E. ; Ying Zou ; Adams, Bram

  • Author_Institution
    Sch. of Comput., Queen´s Univ., Kingston, ON, Canada
  • fYear
    2012
  • fDate
    23-28 Sept. 2012
  • Firstpage
    160
  • Lastpage
    169
  • Abstract
    As the build system, i.e. the infrastructure that constructs executable deliverables out of source code and other resources, tries to catch up with the ever-evolving source code base, its size and already significant complexity keep on growing. Recently, this has forced some major software projects to migrate their build systems towards more powerful build system technologies. Since at all times software developers, testers and QA personnel rely on a functional build system to do their job, a build system migration is a risky and possibly costly undertaking, yet no methodology, nor best practices have been devised for it. In order to understand the build system migration process, we empirically studied two failed and two successful attempts of build system migration in two major open source projects, i.e. Linux and KDE, by mining source code repositories and tens of thousands of developer mailing list messages. The major contributions of this paper are: (a) isolating the phases of a common methodology for build system migrations, which is similar to the spiral model for source code development (multiple iterations of a waterfall process); (b) identifying four of the major challenges associated with this methodology: requirements gathering, communication issues, performance vs. complexity of build system code, and effective evaluation of build system prototypes; (c) detailed analysis of the first challenge, i.e., requirements gathering for the new build system, which revealed that the failed migrations did not gather requirements rigorously. Based on our findings, practitioners will be able to make more informed decisions about migrating their build system, potentially saving them time and money.
  • Keywords
    public domain software; software engineering; KDE; Linux kernel; build system code complexity; build system code performance; build system migration; build system technology; communication issues; effective evaluation; list message; open source project; requirements gathering; source code base; source code development; source code repository mining; spiral model; Complexity theory; Kernel; Linux; Maintenance engineering; Prototypes; Spirals; build systems; maintenance; restructuring;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance (ICSM), 2012 28th IEEE International Conference on
  • Conference_Location
    Trento
  • ISSN
    1063-6773
  • Print_ISBN
    978-1-4673-2313-0
  • Type

    conf

  • DOI
    10.1109/ICSM.2012.6405267
  • Filename
    6405267