Leveraging the Build System to Support Modern Software Release Practices
Leveraging the Build System to Support Modern Software Release Practices
批准号:
RGPIN-2016-04350
负责人:
Mcintosh, Shane
金额:
$2.26万
依托单位:
依托单位国家:
加拿大
项目类别:
Discovery Grants Program - Individual
财政年份:
2019
资助国家:
加拿大
项目状态:
已结题
起止时间:
2019-01-01 至 2020-12-31
中文摘要
背景:现代软件开发速度很快。事实上,像Google、LinkedIn和Facebook这样的软件组织每天都会发布几次。为了科普现代软件变化的快速速度,软件组织专门安排人员来开发和维护自动化软件发布过程的工具和基础设施。这种所谓的发布管道,处理软件系统源代码的更改作为输入,通常由三个阶段组成:*(1)集成:评估代码更改的风险,因为风险较高的更改可能会引入缺陷,这些缺陷可能会减缓或停止产品销售,影响组织的声誉,甚至使组织面临潜在的诉讼。有风险的代码更改需要质量保证团队付出额外的努力,然后才能放心地向用户或客户发布。* (2)Build:代码更改由构建系统处理,即,调用软件工具的系统(例如,编译器、解释器)以更新系统可交付物(例如,可执行文件)并测试它们的系统行为回归。* (3)部署:软件系统的正式版本可供用户或客户交互或获取。*总体目标和具体目标:现代软件系统的快速发布周期为软件组织中开发和维护发布管道的团队带来了新的挑战。该研究计划的长期目标是通过从构建系统中收集可操作的见解来提高发布管道的效率和健壮性。通过分析构建系统数据,我们的目标是改进发布过程的三个常见阶段中的每一个。(1)集成:通过分析客户风险,更准确地评估代码更改集成的风险,即,可能受到给定代码更改影响的客户群比例。* (2)构建:通过构建持续时间预测优化专用构建机器的使用。* (3)部署:理解代码的演变,指定如何执行部署阶段,以及它与其他发布管道规范的共同演变。结果和影响:发布工程师增加了软件组织的市场潜力。对发布工程的投资使相对较小的Mozilla组织(Firefox Web浏览器的开发者)能够与微软,谷歌和苹果等软件巨头竞争。该研究计划将通过大规模实证分析和发布工程的实践培训产生10名HQP(2名博士,3名工程硕士,5名工程学士)。HQP将为发布工程领域的研究或私营部门职业生涯做好准备,增加加拿大在软件工程这一高影响力领域的创新潜力。
英文摘要
Context: Modern software is developed at a rapid pace. Indeed, software organizations like Google, LinkedIn, and Facebook release several times daily. To cope with the rapid rate at which modern software changes, software organizations dedicate personnel to the task of developing and maintaining tools and infrastructure that automate the software release process. This so-called release pipeline, which processes changes to the source code of a software system as input, is typically composed of three phases:***(1) Integration: Code changes are assessed for risk, since riskier changes may introduce defects that can slow or halt product sales, impact the reputation of an organization, or even expose an organization to potential litigation. Risky code changes require additional effort from quality assurance teams before they can be confidently released to users or customers. ***(2) Build: Code changes are processed by the build system, i.e., the system that invokes software tools (e.g., compilers, interpreters) in order to update system deliverables (e.g., executables) and test them for regression in system behaviour.***(3) Deployment: Official releases of software systems are made available for users or customers to interact with or acquire.***Overarching goal and specific objectives: The rapid release cycle of modern software systems introduces new challenges for the teams that develop and maintain release pipelines within software organizations. The long term goal of this research program is to improve the efficiency and robustness of release pipelines by gleaning actionable insights from build systems. Through analysis of build system data, we aim to improve each of the three common phases of the release process.***(1) Integration: More accurate assessment of the risk of code change integration through analysis of customer exposure, i.e., the proportion of the customer base that may be impacted by a given code change. ***(2) Build: Optimizing the use of dedicated build machines through build duration forecasts.***(3) Deployment: An understanding of the evolution of the code that specifies how the deployment phase is executed, and its co-evolution with other release pipeline specifications.***Outcomes and impact: Release engineers increase the market potential of software organizations. Investment in release engineering has allowed the relatively small Mozilla organization (the developers of the Firefox web browser) to compete with software giants like Microsoft, Google, and Apple. This research program will produce 10 HQP (2 PhD, 3 MEng, 5 BEng) through hands-on training in large-scale empirical analyses and release engineering. The HQP will be well-equipped for a research or private sector career in the field of release engineering, increasing Canada's innovation potential in this high impact area of software engineering.***
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
Software Build Automation
-
批准号:1000232675-2019
-
项目类别:Canada Research Chairs
-
资助金额:$1.82万
-
财政年份:2020
-
负责人:Mcintosh, Shane
-
依托单位:
Software Build Automation
-
批准号:1000232675-2019
-
项目类别:Canada Research Chairs
-
资助金额:$5.1万
-
财政年份:2019
-
负责人:Mcintosh, Shane
-
依托单位:
国内基金
海外基金
基于“Design-Build-Test”循环策略的新型紫色杆菌素组合生物合成研究
-
批准号:
-
项目类别:省市级项目
-
资助金额:--
-
批准年份:2021
-
负责人:
-
依托单位:
基于"Build-and-Click"法的铂类RNA聚合酶I选择性抑制剂的构建、评价及亚细胞定位研究
-
批准号:21401141
-
项目类别:青年科学基金项目
-
资助金额:23.0万元
-
批准年份:2014
-
负责人:乔鑫
-
依托单位: