Refactoring recommendation 2.0

重构建议2.0

基本信息

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

项目摘要

Software plays a critical role in our everyday life as more and more of our activities involve the use of software systems from online bank transactions and e-government services to mobile applications in our phones. Software systems must be constantly updated to address new customer needs, fix errors, improve the performance and response time, and adopt new technologies and infrastructures. The cost of performing these maintenance activities highly depends on the design quality of the software systems. Unfortunately, software developers do not always apply the best design solutions, due to time pressure to deliver new features, inexperience, or unawareness of best practices. Over time, the technical debt accumulated in software, deteriorates its design quality and thus increases maintenance cost.Refactoring is one of the main approaches used for addressing design technical debt. It helps developers to improve the structure of their code without affecting the behavior of the software. However, developers still need to manually find places in the source code that can benefit from refactoring. Finding manually opportunities to apply refactoring is a very challenging task, since it requires the analysis of dependencies between numerous code elements.To help developers in finding opportunities for refactoring, several recommendation systems have been developed, which analyze the source code of a software and detect signs of poor design quality. However, the current recommendations systems report a large number of source code elements as problematic, while they are not perceived as such by the developers. As a result, they have not been widely adopted in the industry, mainly because developers are overwhelmed by numerous recommendations, which are mostly irrelevant to them.To improve the current state-of-the-art in refactoring recommendation, we propose a novel recommender that can learn from the actual refactorings applied by the developers in the history of a project, and recommend similar refactoring operations to the developers of the same project or even different projects sharing similar characteristics. This idea is inspired from the way Amazon recommendation engine works, which recommends products that the customers will more likely need, based on the purchases of customers with a similar profile. We believe this new generation will be more successful and adopted than its predecessors, because developers trust more recommendations coming from humans than machines, and because the recommendations will be personalized.The proposed solution will promote more effectively the practice of refactoring to software engineers and students in Canada and worldwide, by being able to learn best refactoring practices and recommend them back to less experienced developers. Its adoption will improve the design quality of the produced software and reduce the cost of software maintenance.
软件在我们的日常生活中扮演着至关重要的角色,因为我们越来越多的活动涉及使用软件系统,从在线银行交易和电子政务服务到手机中的移动的应用程序。软件系统必须不断更新,以满足新的客户需求,修复错误,提高性能和响应时间,并采用新的技术和基础设施。执行这些维护活动的成本在很大程度上取决于软件系统的设计质量。不幸的是,软件开发人员并不总是应用最佳的设计解决方案,因为交付新功能的时间压力,缺乏经验或不了解最佳实践。随着时间的推移,软件中积累的技术债会降低设计质量,从而增加维护成本,重构是解决设计技术债的主要方法之一。它帮助开发人员改进代码结构,而不影响软件的行为。但是,开发人员仍然需要手动在源代码中找到可以从重构中受益的地方。手动寻找应用重构的机会是一项非常具有挑战性的任务,因为它需要分析大量代码元素之间的依赖关系。为了帮助开发人员找到重构的机会,已经开发了几个推荐系统,该系统分析软件的源代码并检测设计质量差的迹象。然而,当前的推荐系统将大量的源代码元素报告为有问题的,而开发人员并不认为它们是有问题的。因此,它们没有被广泛采用的行业,主要是因为开发人员被大量的推荐,其中大多数是无关紧要的。为了改善目前的国家最先进的重构推荐,我们提出了一种新的推荐,可以从实际的重构应用开发人员在一个项目的历史,并向同一项目甚至具有相似特征的不同项目的开发人员推荐类似的重构操作。这个想法的灵感来自亚马逊推荐引擎的工作方式,它根据具有类似配置文件的客户的购买情况推荐客户更可能需要的产品。我们相信新一代的重构技术会比上一代更成功,因为开发者更信任来自人类的建议,而不是机器,而且这些建议将是个性化的。拟议的解决方案将更有效地向加拿大和世界各地的软件工程师和学生推广重构实践,通过学习最佳重构实践并将其推荐给经验不足的开发者。它的采用将提高所生产软件的设计质量,降低软件维护成本。

项目成果

期刊论文数量(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 }}

Tsantalis, Nikolaos其他文献

Tsantalis, Nikolaos的其他文献

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

{{ truncateString('Tsantalis, Nikolaos', 18)}}的其他基金

Refactoring recommendation 2.0
重构建议2.0
  • 批准号:
    RGPIN-2018-05095
  • 财政年份:
    2021
  • 资助金额:
    $ 2.48万
  • 项目类别:
    Discovery Grants Program - Individual
Refactoring recommendation 2.0
重构建议2.0
  • 批准号:
    RGPIN-2018-05095
  • 财政年份:
    2020
  • 资助金额:
    $ 2.48万
  • 项目类别:
    Discovery Grants Program - Individual
Refactoring recommendation 2.0
重构建议2.0
  • 批准号:
    RGPIN-2018-05095
  • 财政年份:
    2019
  • 资助金额:
    $ 2.48万
  • 项目类别:
    Discovery Grants Program - Individual
Refactoring recommendation 2.0
重构建议2.0
  • 批准号:
    RGPIN-2018-05095
  • 财政年份:
    2018
  • 资助金额:
    $ 2.48万
  • 项目类别:
    Discovery Grants Program - Individual
A Framework for the Management of Preventive Maintenance
预防性维护管理框架
  • 批准号:
    435480-2013
  • 财政年份:
    2017
  • 资助金额:
    $ 2.48万
  • 项目类别:
    Discovery Grants Program - Individual
A Framework for the Management of Preventive Maintenance
预防性维护管理框架
  • 批准号:
    435480-2013
  • 财政年份:
    2015
  • 资助金额:
    $ 2.48万
  • 项目类别:
    Discovery Grants Program - Individual
A Framework for the Management of Preventive Maintenance
预防性维护管理框架
  • 批准号:
    435480-2013
  • 财政年份:
    2014
  • 资助金额:
    $ 2.48万
  • 项目类别:
    Discovery Grants Program - Individual
A Framework for the Management of Preventive Maintenance
预防性维护管理框架
  • 批准号:
    435480-2013
  • 财政年份:
    2013
  • 资助金额:
    $ 2.48万
  • 项目类别:
    Discovery Grants Program - Individual

相似国自然基金

Data-driven Recommendation System Construction of an Online Medical Platform Based on the Fusion of Information
  • 批准号:
  • 批准年份:
    2024
  • 资助金额:
    万元
  • 项目类别:
    外国青年学者研究基金项目

相似海外基金

Futuros Fuertes 2.0: A primary care-based intervention to prevent obesity in low-income Latino children
Futuros Fuertes 2.0:预防低收入拉丁裔儿童肥胖的初级保健干预措施
  • 批准号:
    10656765
  • 财政年份:
    2023
  • 资助金额:
    $ 2.48万
  • 项目类别:
Collaborative Approach for Asian Americans, Native Hawaiians, and Pacific Islanders Research and Education (CARE) 2.0
亚裔美国人、夏威夷原住民和太平洋岛民研究与教育 (CARE) 2.0 合作方法
  • 批准号:
    10740342
  • 财政年份:
    2023
  • 资助金额:
    $ 2.48万
  • 项目类别:
PCOM2 - The Physician Communication Intervention, Version 2.0
PCOM2 - 医生沟通干预,版本 2.0
  • 批准号:
    10367487
  • 财政年份:
    2022
  • 资助金额:
    $ 2.48万
  • 项目类别:
PCOM2 - The Physician Communication Intervention, Version 2.0
PCOM2 - 医生沟通干预,版本 2.0
  • 批准号:
    10550198
  • 财政年份:
    2022
  • 资助金额:
    $ 2.48万
  • 项目类别:
Refactoring recommendation 2.0
重构建议2.0
  • 批准号:
    RGPIN-2018-05095
  • 财政年份:
    2021
  • 资助金额:
    $ 2.48万
  • 项目类别:
    Discovery Grants Program - Individual
ZIP 2.0 STUDY CHILD COHORT WITH INTERIM ANALYSIS OF AGE 30 MONTHS DATA
ZIP 2.0 研究儿童队列,对 30 个月龄数据进行中期分析
  • 批准号:
    10396161
  • 财政年份:
    2021
  • 资助金额:
    $ 2.48万
  • 项目类别:
Development and evaluation of a multi-media training program for elementary school bullying and abuse prevention: radKIDS 2.0
小学欺凌和虐待预防多媒体培训计划的开发和评估:radKIDS 2.0
  • 批准号:
    10761160
  • 财政年份:
    2020
  • 资助金额:
    $ 2.48万
  • 项目类别:
Refactoring recommendation 2.0
重构建议2.0
  • 批准号:
    RGPIN-2018-05095
  • 财政年份:
    2020
  • 资助金额:
    $ 2.48万
  • 项目类别:
    Discovery Grants Program - Individual
Development and evaluation of a multi-media training program for elementary school bullying and abuse prevention: radKIDS 2.0
小学欺凌和虐待预防多媒体培训计划的开发和评估:radKIDS 2.0
  • 批准号:
    10079289
  • 财政年份:
    2020
  • 资助金额:
    $ 2.48万
  • 项目类别:
Refactoring recommendation 2.0
重构建议2.0
  • 批准号:
    RGPIN-2018-05095
  • 财政年份:
    2019
  • 资助金额:
    $ 2.48万
  • 项目类别:
    Discovery Grants Program - Individual
{{ showInfoDetail.title }}

作者:{{ showInfoDetail.author }}

知道了