Mining Software Repositories to Infer Software Product Line Migration Strategies

挖掘软件存储库以推断软件产品线迁移策略

基本信息

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

项目摘要

A 'one size fits all' software system is no longer practical; customizations to fit various hardware and user requirements are often necessary. For example, Hewlett-Packard produces over 40 printer models, and the Linux kernel supports 32 computer architectures that are included in devices ranging from mobile devices to enterprise servers. Software is often designed for a specific product in mind, and when new requirements arise, the old product is copied and modified to fit these new requirements. This copying approach is cumbersome, and managing separate related products is error-prone and can lead to redundancy (e.g., applying the same bug fix to different products). Software Product Lines (SPLs) avoid exactly this situation. An SPL is a shared, configurable platform that provides a set of features (units of functionality) that can be combined to create a specific software product, while respecting given feature dependencies documented in a variability model. Advantages of SPLs include an easier approach to produce tailor-made software with reduced cost, improved quality, and reduced time to market. Unfortunately, software systems are often conceived as individual products; only later, after multiple related products have been produced, does it become obvious that they should have been better developed as part of a single coherent SPL. However, migrating a set of related software products into an SPL is costly and requires high manual effort. The long-term goal of my research program is to create methods and respective tools that provide automated support for SPL migration. My overall methodology relies on leveraging code evolution and process knowledge mined from software repositories (e.g., version control systems) along with insights gained from quantitative and qualitative empirical studies involving practitioners. My proposal integrates two research activities, each targeting a set of problems that address the above goal.Re-engineering related products: What re-engineering steps can consolidate related products into a single shared configurable system? Depending on the programming language and initial design of these products, what is the most suitable architecture for supporting variability?Reverse-engineering variability models: Can we automatically determine feature dependencies and explain them to stakeholders? Can we automatically infer dependencies that stem from domain knowledge?The contributions of this research program will enable more systematic reuse of existing software, saving software architects valuable time spent in manual migration and allowing software producers to cope with the increasing demand for software. The HQP trained through this research program will gain experience in designing and conducting quantitative and qualitative empirical studies, mining software repositories, and analyzing source code and other software artifacts.
“一刀切”的软件系统已不再实用;通常需要定制以适应各种硬件和用户要求。例如,Hewlett-Packard生产超过40种打印机型号,而Linux内核支持32种计算机体系结构,这些体系结构包括在从移动的设备到企业服务器的设备中。软件通常是为特定的产品设计的,当新的需求出现时,旧的产品被复制和修改以适应这些新的需求。这种复制方法很麻烦,并且管理单独的相关产品容易出错,并且可能导致冗余(例如,将相同的bug修复应用于不同的产品)。软件产品线(SPL)恰恰避免了这种情况。SPL是一个共享的可配置平台,它提供了一组功能(功能单元),这些功能可以组合起来创建特定的软件产品,同时尊重可变性模型中记录的给定功能依赖性。SPL的优点包括更容易生产定制软件,降低成本,提高质量,缩短上市时间。不幸的是,软件系统通常被认为是独立的产品;只有在多个相关的产品被生产出来之后,才变得明显,它们应该作为一个单一的连贯的SPL的一部分被更好地开发。然而,将一组相关的软件产品迁移到SPL中是昂贵的,并且需要大量的手动工作。我的研究计划的长期目标是创建为SPL迁移提供自动化支持的方法和相应工具。我的总体方法依赖于利用代码演化和从软件存储库中挖掘的过程知识(例如,版本控制系统)沿着从涉及从业者的定量和定性经验研究中获得的见解。我的建议整合了两个研究活动,每一个针对一组问题,解决上述目标。重新设计相关的产品:什么重新设计的步骤可以巩固相关的产品到一个单一的共享可配置的系统?根据这些产品的编程语言和初始设计,什么是最适合支持可变性的架构?逆向工程可变性模型:我们能否自动确定特征依赖性并向利益相关者解释它们?我们能自动推断出源于领域知识的依赖关系吗?这项研究计划的贡献将使现有软件的更系统的重用,节省软件架构师宝贵的时间花在手动迁移,并允许软件生产商,以科普日益增长的需求软件。通过该研究计划培训的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 }}

Nadi, Sarah其他文献

Nadi, Sarah的其他文献

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

{{ truncateString('Nadi, Sarah', 18)}}的其他基金

Canada Research Chair in Software Reuse
加拿大软件重用研究主席
  • 批准号:
    CRC-2017-00235
  • 财政年份:
    2022
  • 资助金额:
    $ 4.08万
  • 项目类别:
    Canada Research Chairs
Software Reuse
软件重用
  • 批准号:
    CRC-2021-00417
  • 财政年份:
    2022
  • 资助金额:
    $ 4.08万
  • 项目类别:
    Canada Research Chairs
Canada Research Chair In Software Reuse
加拿大软件重用研究主席
  • 批准号:
    CRC-2017-00235
  • 财政年份:
    2021
  • 资助金额:
    $ 4.08万
  • 项目类别:
    Canada Research Chairs
Mining Software Repositories to Infer Software Product Line Migration Strategies
挖掘软件存储库以推断软件产品线迁移策略
  • 批准号:
    RGPIN-2017-04289
  • 财政年份:
    2021
  • 资助金额:
    $ 4.08万
  • 项目类别:
    Discovery Grants Program - Individual
Canada Research Chair in Software Reuse
加拿大软件重用研究主席
  • 批准号:
    1000231688-2017
  • 财政年份:
    2020
  • 资助金额:
    $ 4.08万
  • 项目类别:
    Canada Research Chairs
Mining Software Repositories to Infer Software Product Line Migration Strategies
挖掘软件存储库以推断软件产品线迁移策略
  • 批准号:
    RGPIN-2017-04289
  • 财政年份:
    2020
  • 资助金额:
    $ 4.08万
  • 项目类别:
    Discovery Grants Program - Individual
Canada Research Chair in Software Reuse
加拿大软件重用研究主席
  • 批准号:
    1000231688-2017
  • 财政年份:
    2019
  • 资助金额:
    $ 4.08万
  • 项目类别:
    Canada Research Chairs
Mining Software Repositories to Infer Software Product Line Migration Strategies
挖掘软件存储库以推断软件产品线迁移策略
  • 批准号:
    RGPIN-2017-04289
  • 财政年份:
    2019
  • 资助金额:
    $ 4.08万
  • 项目类别:
    Discovery Grants Program - Individual
Mining Software Repositories to Infer Software Product Line Migration Strategies
挖掘软件存储库以推断软件产品线迁移策略
  • 批准号:
    RGPIN-2017-04289
  • 财政年份:
    2018
  • 资助金额:
    $ 4.08万
  • 项目类别:
    Discovery Grants Program - Individual
Canada Research Chair in Software Reuse
加拿大软件重用研究主席
  • 批准号:
    1000231688-2017
  • 财政年份:
    2018
  • 资助金额:
    $ 4.08万
  • 项目类别:
    Canada Research Chairs

相似海外基金

Mining Software Repositories to Improve Software Quality
挖掘软件存储库以提高软件质量
  • 批准号:
    575133-2022
  • 财政年份:
    2022
  • 资助金额:
    $ 4.08万
  • 项目类别:
    University Undergraduate Student Research Awards
Mining Software Repositories and Information Visualization for Empirically Robust Testing of Variable Software
挖掘软件存储库和信息可视化,以对可变软件进行实证稳健测试
  • 批准号:
    RGPIN-2017-05421
  • 财政年份:
    2022
  • 资助金额:
    $ 4.08万
  • 项目类别:
    Discovery Grants Program - Individual
Mining Software Repositories to Infer Software Product Line Migration Strategies
挖掘软件存储库以推断软件产品线迁移策略
  • 批准号:
    RGPIN-2017-04289
  • 财政年份:
    2021
  • 资助金额:
    $ 4.08万
  • 项目类别:
    Discovery Grants Program - Individual
Mining Software Repositories and Information Visualization for Empirically Robust Testing of Variable Software
挖掘软件存储库和信息可视化,以对可变软件进行实证稳健测试
  • 批准号:
    RGPIN-2017-05421
  • 财政年份:
    2021
  • 资助金额:
    $ 4.08万
  • 项目类别:
    Discovery Grants Program - Individual
Mining Software Repositories to Improve Software Quality
挖掘软件存储库以提高软件质量
  • 批准号:
    551740-2020
  • 财政年份:
    2020
  • 资助金额:
    $ 4.08万
  • 项目类别:
    University Undergraduate Student Research Awards
Applying Machine Learning Algorithms in Mining Software Repositories
在挖掘软件存储库中应用机器学习算法
  • 批准号:
    551232-2020
  • 财政年份:
    2020
  • 资助金额:
    $ 4.08万
  • 项目类别:
    University Undergraduate Student Research Awards
Mining Software Repositories and Information Visualization for Empirically Robust Testing of Variable Software
挖掘软件存储库和信息可视化,以对可变软件进行实证稳健测试
  • 批准号:
    RGPIN-2017-05421
  • 财政年份:
    2020
  • 资助金额:
    $ 4.08万
  • 项目类别:
    Discovery Grants Program - Individual
Mining Software Repositories to Infer Software Product Line Migration Strategies
挖掘软件存储库以推断软件产品线迁移策略
  • 批准号:
    RGPIN-2017-04289
  • 财政年份:
    2020
  • 资助金额:
    $ 4.08万
  • 项目类别:
    Discovery Grants Program - Individual
Mining Software Repositories and Information Visualization for Empirically Robust Testing of Variable Software
挖掘软件存储库和信息可视化,以对可变软件进行实证稳健测试
  • 批准号:
    RGPIN-2017-05421
  • 财政年份:
    2019
  • 资助金额:
    $ 4.08万
  • 项目类别:
    Discovery Grants Program - Individual
Mining Software Repositories to Improve Software Quality
挖掘软件存储库以提高软件质量
  • 批准号:
    541628-2019
  • 财政年份:
    2019
  • 资助金额:
    $ 4.08万
  • 项目类别:
    University Undergraduate Student Research Awards
{{ showInfoDetail.title }}

作者:{{ showInfoDetail.author }}

知道了