Refactoring recommendation 2.0
重构建议2.0
基本信息
- 批准号:RGPIN-2018-05095
- 负责人:
- 金额:$ 2.48万
- 依托单位:
- 依托单位国家:加拿大
- 项目类别:Discovery Grants Program - Individual
- 财政年份:2018
- 资助国家:加拿大
- 起止时间:2018-01-01 至 2019-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 - 财政年份:2022
- 资助金额:
$ 2.48万 - 项目类别:
Discovery Grants Program - Individual
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
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万 - 项目类别:
Refactoring recommendation 2.0
重构建议2.0
- 批准号:
RGPIN-2018-05095 - 财政年份:2022
- 资助金额:
$ 2.48万 - 项目类别:
Discovery Grants Program - Individual
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万 - 项目类别: