arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1901.07142cs.SE
收藏

预测软件变更对建筑活动的影响

Towards Predicting the Impact of Software Changes on Building Activities

Michele Tufano, Hitesh Sajnani, Kim Herzig

摘要:

持续集成实践的普遍采用--无论是在行业还是在开源项目中--已经使软件构建成为全世界成千上万开发人员的日常活动。像微软这样的公司已经投资了内部基础设施,目的是优化构建过程。CloudBuild是由Microsoft内部开发的分布式和缓存构建服务,它在云中并行运行构建过程,并依赖缓存来加速构建。这允许敏捷开发和快速交付软件,甚至一天几次。然而,朝着更快的构建方向发展不仅需要在基础设施方面进行改进,还需要关注开发人员对软件的更改。当然,架构决策和软件更改(例如添加依赖项)可能会导致构建时间显著增加。然而,在处理复杂的、分布式的和缓存的构建系统时,估计这些更改对构建时间的影响可能是一个挑战。在本文中,我们设想了一个预测模型,能够先发制人地提醒开发人员在多大程度上他们的软件更改可能会影响未来的建设活动。特别是,我们描述了一种方法,分析开发人员的变化,并预测(一)是否影响(任何)最长的关键路线;(二)可能会导致构建时间的增加和它的三角洲;和(三)未来的构建可能会受到这种变化的影响的百分比。

英文摘要:

The pervasive adoption of Continuous Integration practices -- both in industry and open source projects -- has led software building to become a daily activity for thousands of developers around the world. Companies such as Microsoft have invested in in-house infrastructures with the goal of optimizing the build process. CloudBuild, a distributed and caching build service developed internally by Microsoft, runs the build process in parallel in the cloud and relies on caching to accelerate builds. This allows for agile development and rapid delivery of software even several times a day. However, moving towards faster builds requires not only improvements on the infrastructure side, but also attention to developers' changes in the software. Surely, architectural decisions and software changes, such as addition of dependencies, can lead to significant build time increase. Yet, estimating the impact of such changes on build time can be challenging when dealing with complex, distributed, and cached build systems. In this paper, we envision a predictive model able to preemptively alert developers on the extent to which their software changes may impact future building activities. In particular, we describe an approach that analyzes the developer's change and predicts (i) whether it impacts (any of) the Longest Critical Path; (ii) may lead to build time increase and its delta; and (iii) the percentage of future builds that might be affected by such change.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑