On the benefits and limits of incremental build of software configurations: an exploratory study

Georges Aaron Randrianaina, Xhevahire Tërnava, D. Khelladi, M. Acher
{"title":"On the benefits and limits of incremental build of software configurations: an exploratory study","authors":"Georges Aaron Randrianaina, Xhevahire Tërnava, D. Khelladi, M. Acher","doi":"10.1145/3510003.3510190","DOIUrl":null,"url":null,"abstract":"Software projects use build systems to automate the compilation, testing, and continuous deployment of their software products. As software becomes increasingly configurable, the build of multiple configurations is a pressing need, but expensive and challenging to implement. The current state of practice is to build independently (a.k.a., clean build) a software for a subset of configurations. While incremental build has been studied for software evolution and relatively small changes of the source code, it has surprisingly not been considered for software configurations. In this exploratory study, we examine the benefits and limits of building software configurations incrementally, rather than always building them cleanly. By using five real-life configurable systems as subjects, we explore whether incremental build works, outperforms a sequence of clean builds, is correct w.r.t. clean build, and can be used to find an optimal ordering for building configurations. Our results show that incremental build is feasible in 100% of the times in four subjects and in 78% of the times in one subject. In average, 88.5% of the configurations could be built faster with incremental build while also finding several alternatives faster incremental builds. However, only 60% of faster incremental builds are correct. Still, when considering those correct incremental builds with clean builds, we could always find an optimal order that is faster than just a collection of clean builds with a gain up to 11.76%.","PeriodicalId":346877,"journal":{"name":"Proceedings of the 44th International Conference on Software Engineering","volume":"25 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-05-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 44th International Conference on Software Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3510003.3510190","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3

Abstract

Software projects use build systems to automate the compilation, testing, and continuous deployment of their software products. As software becomes increasingly configurable, the build of multiple configurations is a pressing need, but expensive and challenging to implement. The current state of practice is to build independently (a.k.a., clean build) a software for a subset of configurations. While incremental build has been studied for software evolution and relatively small changes of the source code, it has surprisingly not been considered for software configurations. In this exploratory study, we examine the benefits and limits of building software configurations incrementally, rather than always building them cleanly. By using five real-life configurable systems as subjects, we explore whether incremental build works, outperforms a sequence of clean builds, is correct w.r.t. clean build, and can be used to find an optimal ordering for building configurations. Our results show that incremental build is feasible in 100% of the times in four subjects and in 78% of the times in one subject. In average, 88.5% of the configurations could be built faster with incremental build while also finding several alternatives faster incremental builds. However, only 60% of faster incremental builds are correct. Still, when considering those correct incremental builds with clean builds, we could always find an optimal order that is faster than just a collection of clean builds with a gain up to 11.76%.
关于软件配置增量构建的好处和限制:一项探索性研究
软件项目使用构建系统来自动编译、测试和持续部署软件产品。随着软件的可配置性越来越强,构建多种配置是一种迫切的需求,但实现起来既昂贵又具有挑战性。当前的实践状态是为配置子集独立构建(也就是干净构建)一个软件。虽然增量构建已经被研究用于软件进化和相对较小的源代码更改,但令人惊讶的是,它没有被考虑用于软件配置。在这个探索性的研究中,我们检查了增量地构建软件配置的好处和限制,而不是总是清晰地构建它们。通过使用五个现实生活中的可配置系统作为主题,我们探索增量构建是否有效,优于一系列干净构建,是正确的w.r.t.干净构建,并且可以用于找到构建配置的最佳顺序。我们的结果表明,增量构建在四个科目中是100%可行的,在一个科目中是78%可行的。平均而言,使用增量构建可以更快地构建88.5%的配置,同时还可以找到一些更快的增量构建替代方案。然而,只有60%的快速增量构建是正确的。尽管如此,当考虑那些正确的增量构建和干净构建时,我们总能找到一个最佳顺序,它比仅仅收集干净构建更快,增益高达11.76%。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术官方微信