【24h】

Dependency Versioning in the Wild

机译:viplyency版本控制在野外

获取原文

摘要

Many modern software systems are built on top of existing packages (modules, components, libraries). The increasing number and complexity of dependencies has given rise to automated dependency management where package managers resolve symbolic dependencies against a central repository. When declaring dependencies, developers face various choices, such as whether or not to declare a fixed version or a range of versions. The former results in runtime behaviour that is easier to predict, whilst the latter enables flexibility in resolution that can, for example, prevent different versions of the same package being included and facilitates the automated deployment of bug fixes. We study the choices developers make across 17 different package managers, investigating over 70 million dependencies. This is complemented by a survey of 170 developers. We find that many package managers support - and the respective community adapts - flexible versioning practices. This does not always work: developers struggle to find the sweet spot between the predictability of fixed version dependencies, and the agility of flexible ones, and depending on their experience, adjust practices. We see some uptake of semantic versioning in some package managers, supported by tools. However, there is no evidence that projects switch to semantic versioning on a large scale. The results of this study can guide further research into better practices for automated dependency management, and aid the adaptation of semantic versioning.
机译:许多现代软件系统都建立在现有包的顶部(模块,组件,库)。依赖性的越来越多和复杂性已经引起自动依赖管理,其中包管理器解析对中央存储库的符号依赖关系。声明依赖项时,开发人员面临各种选择,例如是否声明固定版本或一系列版本。前者会导致更容易预测的运行时行为,而后者可以在分辨率中实现灵活性,例如,可以防止包括相同包的不同版本,并促进错误修复的自动部署。我们研究选择开发人员在17个不同的封装经理中制作,调查超过7000万卢比。这是对170名开发人员的调查辅成。我们发现许多套餐管理人员支持 - 以及相应的社区适应 - 灵活的版本控制实践。这并不总是有效:开发人员在固定版本依赖关系的可预测性之间找到甜蜜点,以及灵活的敏捷性,并且根据他们的经验,调整实践。我们看到一些包管理器中的语义版本的一些摄取,由工具支持。但是,没有证据表明,将在大规模上切换到语义版本。本研究的结果可以指导进一步研究自动依赖管理的更好实践,并帮助改编语义版本。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号