课题基金 / 基金详情

Refactoring recommendation 2.0

Refactoring recommendation 2.0
重构建议2.0
批准号:
RGPIN-2018-05095
负责人:
Tsantalis, Nikolaos
金额:
$2.48万
依托单位:
依托单位国家:
加拿大
项目类别:
Discovery Grants Program - Individual
财政年份:
2019
资助国家:
加拿大
项目状态:
已结题
起止时间:
2019-01-01 至 2020-12-31

项目摘要

项目成果

Tsantalis, Nikolaos的其他基金

相似基金

相关文献

中文摘要
翻译
软件在我们的日常生活中扮演着重要的角色,因为我们越来越多的活动涉及使用软件系统,从网上银行交易和电子政务服务到手机中的移动应用程序。软件系统必须不断更新,以满足新的客户需求、修复错误、改进性能和响应时间,并采用新技术和基础设施。执行这些维护活动的成本在很大程度上取决于软件系统的设计质量。不幸的是,由于交付新功能的时间压力、缺乏经验或不了解最佳实践,软件开发人员并不总是应用最佳设计解决方案。随着时间的推移,软件中积累的技术债务会恶化其设计质量,从而增加维护成本。*重构是解决设计技术债务的主要方法之一。它帮助开发人员改进他们的代码结构,而不影响软件的行为。然而,开发人员仍然需要在源代码中手动查找可以从重构中受益的位置。手动寻找应用重构的机会是一项非常具有挑战性的任务,因为它需要分析大量代码元素之间的依赖关系。*为了帮助开发人员找到重构的机会,已经开发了几个推荐系统,它们分析软件的源代码并检测设计质量较差的迹象。然而,当前的推荐系统报告大量源代码元素是有问题的,而开发人员并不认为它们是有问题的。因此,它们并没有被业界广泛采用,主要是因为开发者被众多的推荐淹没了,而这些推荐大多与他们无关。*为了改进现有的重构推荐,我们提出了一种新颖的推荐器,可以学习开发人员在项目历史上进行的实际重构,并向具有相似特征的同一项目甚至不同项目的开发人员推荐类似的重构操作。这个想法的灵感来自亚马逊推荐引擎的工作方式,该引擎根据拥有相似个人资料的客户的购买情况,推荐客户更有可能需要的产品。我们相信,新一代将比上一代更成功和更被采用,因为开发人员更信任来自人类的推荐,而不是机器,而且推荐将是个性化的。*拟议的解决方案将通过能够学习最佳重构实践并将其推荐给经验较少的开发人员,更有效地向加拿大和世界各地的软件工程师和学生推广重构实践。它的采用将提高所生产软件的设计质量,降低软件维护成本。
英文摘要
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)
会议论文
Refactoring recommendation 2.0
  • 批准号:
    RGPIN-2018-05095
  • 项目类别:
    Discovery Grants Program - Individual
  • 资助金额:
    $2.48万
  • 财政年份:
    2022
  • 负责人:
    Tsantalis, Nikolaos
  • 依托单位:
Refactoring recommendation 2.0
  • 批准号:
    RGPIN-2018-05095
  • 项目类别:
    Discovery Grants Program - Individual
  • 资助金额:
    $2.48万
  • 财政年份:
    2021
  • 负责人:
    Tsantalis, Nikolaos
  • 依托单位:
Refactoring recommendation 2.0
  • 批准号:
    RGPIN-2018-05095
  • 项目类别:
    Discovery Grants Program - Individual
  • 资助金额:
    $2.48万
  • 财政年份:
    2020
  • 负责人:
    Tsantalis, Nikolaos
  • 依托单位:
Refactoring recommendation 2.0
  • 批准号:
    RGPIN-2018-05095
  • 项目类别:
    Discovery Grants Program - Individual
  • 资助金额:
    $2.48万
  • 财政年份:
    2018
  • 负责人:
    Tsantalis, Nikolaos
  • 依托单位:
国内基金
海外基金
Data-driven Recommendation System Construction of an Online Medical Platform Based on the Fusion of Information