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

R. Suvorov, M. Nagappan, A. Hassan, Ying Zou, Bram Adams
{"title":"An empirical study of build system migrations in practice: Case studies on KDE and the Linux kernel","authors":"R. Suvorov, M. Nagappan, A. Hassan, Ying Zou, Bram Adams","doi":"10.1109/ICSM.2012.6405267","DOIUrl":null,"url":null,"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.","PeriodicalId":348790,"journal":{"name":"2012 28th IEEE International Conference on Software Maintenance (ICSM)","volume":"48 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2012-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"30","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2012 28th IEEE International Conference on Software Maintenance (ICSM)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICSM.2012.6405267","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 30

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.
构建系统迁移在实践中的实证研究:KDE和Linux内核的案例研究
随着构建系统,即从源代码和其他资源构建可执行交付的基础设施,试图赶上不断发展的源代码库,其规模和已经显著的复杂性继续增长。最近,这迫使一些主要的软件项目将它们的构建系统迁移到更强大的构建系统技术上。由于软件开发人员、测试人员和QA人员在任何时候都依赖于功能性构建系统来完成他们的工作,因此构建系统迁移是一项有风险且可能代价高昂的工作,目前还没有为此设计出方法论和最佳实践。为了理解构建系统迁移过程,我们通过挖掘源代码存储库和数以万计的开发者邮件列表消息,对两个主要开源项目(即Linux和KDE)中两次失败和两次成功的构建系统迁移尝试进行了实证研究。本文的主要贡献是:(a)隔离构建系统迁移的通用方法的各个阶段,这类似于源代码开发的螺旋模型(瀑布过程的多次迭代);(b)确定与此方法相关的四个主要挑战:需求收集、沟通问题、构建系统代码的性能与复杂性,以及构建系统原型的有效评估;(c)对第一个挑战的详细分析,即新构建系统的需求收集,这揭示了失败的迁移没有严格地收集需求。基于我们的发现,从业者将能够对迁移他们的构建系统做出更明智的决定,潜在地节省他们的时间和金钱。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信
小红书