A Configuration Management Framework for the Evolution of Multi-component Software Systems

多组件软件系统演化的配置管理框架

基本信息

  • 批准号:
    RGPIN-2021-04000
  • 负责人:
  • 金额:
    $ 1.75万
  • 依托单位:
  • 依托单位国家:
    加拿大
  • 项目类别:
    Discovery Grants Program - Individual
  • 财政年份:
    2022
  • 资助国家:
    加拿大
  • 起止时间:
    2022-01-01 至 2023-12-31
  • 项目状态:
    已结题

项目摘要

Modern software systems are constituted of multiple components (aka., multi-component systems), such as micro-services and distributed systems. These systems tend to have a large amount of settings, which can be categorized into three main types. (1) Runtime settings allow operators to change the behavior of a software system without changing its source code, (2) Dependencies' settings allow the specification of which libraries and versions to use for a component (e.g., NPM dependencies), (3) Infrastructure settings allow the configuration of the infrastructure on top of which a component is deployed (e.g., using IaC tools, Docker, and Kubernetes). When deploying a new version, operators need to configure certain settings according to the changed code in that version. For example, one can increase the amount of memory that a component can use by configuring the "memory_limit" setting. Such configuration is challenging, error-prone, and time-consuming. Each component tends to have hundreds of runtime settings, the configuration of dependencies is complex, and the infrastructure configuration files change frequently. An expert reported in our prior work that it "is . frustrating . to figure out [... a] specific configuration on release day". An incorrect configuration leads to errors that are common and have a severe impact (e.g., security and financial). While a large body of research efforts focused on identifying the appropriate source code locations to change for a given bug report, no research efforts focused on identifying the appropriate settings to configure when deploying or releasing a code change. Therefore, the goal of this proposal is to assist operators on the configuration of multi-component systems through a set of best practices and two recommendation systems. Operators will use a first recommendation system to identify which settings to change among the thousands of available ones. Then, operators will manually change them following our best practices. Finally, our last recommendation system will check the correctness of what the operators changed. In particular, we address the following objectives: 1. Investigating the configuration's state-of-the-practice. 2. Identifying a mapping between a changed source code and each of the three setting types. 3. Identifying the constraints that the settings should respect. 4. Developing a hybrid approach that leverages both white-box and black-box approaches for recommending the appropriate configurations. Configuration is a hot-industrial topic, especially with the fast adoption of DevOps and GitOps principles as well as technologies such as NPM, Docker, and Kubernetes. Therefore, the results of this proposal will have a direct impact on national and international high-tech companies (e.g., Amazon, BlackBerry). In addition to working on hot-industrial topics, the HQP will extensively explore state-of-the-art techniques such as machine learning, and source code analysis techniques.
现代软件系统由多个组件(也称为,多组件系统),如微服务和分布式系统。这些系统往往有大量的设置,可以分为三种主要类型。(1)配置设置允许操作员在不改变其源代码的情况下改变软件系统的行为,(2)配置的设置允许指定哪些库和版本用于组件(例如,NPM依赖性),(3)基础设施设置允许在其上部署组件的基础设施的配置(例如,使用IaC工具、Docker和Kubernetes)。在部署新版本时,运营商需要根据该版本中更改的代码配置某些设置。例如,可以通过配置“memory_limit”设置来增加组件可以使用的内存量。这样的配置是具有挑战性的、容易出错的并且耗时的。每个组件往往有数百个运行时设置,依赖项的配置很复杂,基础设施配置文件经常更改。一位专家在我们以前的工作中报告说,它“是。人灰心.为了弄清楚[... a]发布日的具体配置”。不正确的配置会导致常见的错误并产生严重影响(例如,安全和财务)。虽然大量的研究工作集中在确定适当的源代码位置,以改变一个给定的错误报告,没有研究工作集中在确定适当的设置配置时部署或发布代码更改。因此,本提案的目标是通过一套最佳实践和两个推荐系统,帮助运营商配置多组件系统。运营商将使用第一个推荐系统来确定在数千个可用设置中需要更改哪些设置。然后,运营商将按照我们的最佳实践手动更改它们。最后,我们的最后一个推荐系统将检查操作员更改的正确性。特别是,我们致力于实现以下目标:1。调查配置的实践状态。2.标识更改的源代码与三种设置类型中的每一种之间的映射。3.确定设置应遵守的约束。4.开发一种混合方法,利用白盒和黑盒方法来推荐适当的配置。配置是一个热门的行业话题,特别是随着DevOps和GitOps原则以及NPM、Docker和Kubernetes等技术的快速采用。因此,该提案的结果将对国家和国际高科技公司(例如,Amazon,BlackBerry)。除了研究热门行业主题外,HQP还将广泛探索最先进的技术,如机器学习和源代码分析技术。

项目成果

期刊论文数量(0)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)

数据更新时间:{{ journalArticles.updateTime }}

{{ item.title }}
{{ item.translation_title }}
  • DOI:
    {{ item.doi }}
  • 发表时间:
    {{ item.publish_year }}
  • 期刊:
  • 影响因子:
    {{ item.factor }}
  • 作者:
    {{ item.authors }}
  • 通讯作者:
    {{ item.author }}

数据更新时间:{{ journalArticles.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ monograph.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ sciAawards.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ conferencePapers.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ patent.updateTime }}

Sayagh, Mohammed其他文献

A study of how Docker Compose is used to compose multi-component systems
  • DOI:
    10.1007/s10664-021-10025-1
  • 发表时间:
    2021-11-01
  • 期刊:
  • 影响因子:
    4.1
  • 作者:
    Ibrahim, Md Hasan;Sayagh, Mohammed;Hassan, Ahmed E.
  • 通讯作者:
    Hassan, Ahmed E.

Sayagh, Mohammed的其他文献

{{ item.title }}
{{ item.translation_title }}
  • DOI:
    {{ item.doi }}
  • 发表时间:
    {{ item.publish_year }}
  • 期刊:
  • 影响因子:
    {{ item.factor }}
  • 作者:
    {{ item.authors }}
  • 通讯作者:
    {{ item.author }}

{{ truncateString('Sayagh, Mohammed', 18)}}的其他基金

A Configuration Management Framework for the Evolution of Multi-component Software Systems
多组件软件系统演化的配置管理框架
  • 批准号:
    DGECR-2021-00336
  • 财政年份:
    2021
  • 资助金额:
    $ 1.75万
  • 项目类别:
    Discovery Launch Supplement
A Configuration Management Framework for the Evolution of Multi-component Software Systems
多组件软件系统演化的配置管理框架
  • 批准号:
    RGPIN-2021-04000
  • 财政年份:
    2021
  • 资助金额:
    $ 1.75万
  • 项目类别:
    Discovery Grants Program - Individual

相似海外基金

NESP MaC Project 4.5– Developing an Integrated Pest Management Framework for Feral Pigs in Coastal Environments 2024-2026 (NAILSMA)
NESP MaC 项目 4.5 — 为 2024-2026 年沿海环境中的野猪制定综合害虫管理框架 (NAILSMA)
  • 批准号:
    global : ba1e00f0-9953-4c17-b990-ba7aed84ce07
  • 财政年份:
    2024
  • 资助金额:
    $ 1.75万
  • 项目类别:
Enhancing Indonesia's Disaster Preparedness Through an Innovative Multi-Risk Management Framework with ICT ecosystems
通过创新的多风险管理框架和 ICT 生态系统加强印度尼西亚的备灾能力
  • 批准号:
    EP/Y003284/1
  • 财政年份:
    2024
  • 资助金额:
    $ 1.75万
  • 项目类别:
    Research Grant
NSF-JST: An Inclusive Human-Centered Risk Management Modeling Framework for Flood Resilience
NSF-JST:以人为本的包容性防洪风险管理模型框架
  • 批准号:
    2342842
  • 财政年份:
    2024
  • 资助金额:
    $ 1.75万
  • 项目类别:
    Standard Grant
Development of a national framework for the investigation and management of familial leukaemia
制定国家家族性白血病调查和管理框架
  • 批准号:
    MR/V037242/1
  • 财政年份:
    2023
  • 资助金额:
    $ 1.75万
  • 项目类别:
    Research Grant
GOALI: A System Theoretical Framework for Modeling, Analysis and Closed-loop Management of Supply Chains of Perishable Products
GOALI:易腐产品供应链建模、分析和闭环管理的系统理论框架
  • 批准号:
    2232412
  • 财政年份:
    2023
  • 资助金额:
    $ 1.75万
  • 项目类别:
    Standard Grant
CAREER: A Networking and Learning Co-Design Framework for Data-Efficient Resource Management
职业:用于数据高效资源管理的网络和学习协同设计框架
  • 批准号:
    2239458
  • 财政年份:
    2023
  • 资助金额:
    $ 1.75万
  • 项目类别:
    Continuing Grant
A System Dynamics Framework for the Risk Assessment and Management of Hydrogen Handling Facilities
氢气处理设施风险评估和管理的系统动力学框架
  • 批准号:
    2908861
  • 财政年份:
    2023
  • 资助金额:
    $ 1.75万
  • 项目类别:
    Studentship
NHLBI CYBERSECURITY RISK MANAGEMENT FRAMEWORK SERVICES TASKS 1, 3 AND 4
NHLBI 网络安全风险管理框架服务任务 1、3 和 4
  • 批准号:
    10953833
  • 财政年份:
    2023
  • 资助金额:
    $ 1.75万
  • 项目类别:
Artificial Intelligence controller able to manage Air traffic Control (ATC) and Air Traffic Flow Management (ATFM) within a single framework
人工智能控制器能够在单一框架内管理空中交通管制(ATC)和空中交通流量管理(ATFM)
  • 批准号:
    10075687
  • 财政年份:
    2023
  • 资助金额:
    $ 1.75万
  • 项目类别:
    EU-Funded
SBIR Phase I: Mission Planning Methods and Simulated Crisis Management Framework to teach STEM to Underserved Youth
SBIR 第一阶段:向服务不足的青少年教授 STEM 的任务规划方法和模拟危机管理框架
  • 批准号:
    2302195
  • 财政年份:
    2023
  • 资助金额:
    $ 1.75万
  • 项目类别:
    Standard Grant
{{ showInfoDetail.title }}

作者:{{ showInfoDetail.author }}

知道了