课题基金 / 基金详情

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

A Configuration Management Framework for the Evolution of Multi-component Software Systems
多组件软件系统演化的配置管理框架
批准号:
RGPIN-2021-04000
负责人:
Sayagh, Mohammed
金额:
$1.75万
依托单位国家:
加拿大
项目类别:
Discovery Grants Program - Individual
财政年份:
2022
资助国家:
加拿大
项目状态:
已结题
起止时间:
2022-01-01 至 2023-12-31

项目摘要

项目成果

Sayagh, Mohammed的其他基金

相似基金

相关文献

中文摘要
翻译
点击翻译按钮获取中文摘要
英文摘要
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.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
A Configuration Management Framework for the Evolution of Multi-component Software Systems
  • 批准号:
    DGECR-2021-00336
  • 项目类别:
    Discovery Launch Supplement
  • 资助金额:
    $0.91万
  • 财政年份:
    2021
  • 负责人:
    Sayagh, Mohammed
  • 依托单位:
A Configuration Management Framework for the Evolution of Multi-component Software Systems
  • 批准号:
    RGPIN-2021-04000
  • 项目类别:
    Discovery Grants Program - Individual
  • 资助金额:
    $1.75万
  • 财政年份:
    2021
  • 负责人:
    Sayagh, Mohammed
  • 依托单位:
海外基金