课题基金 / 基金详情

Refactoring recommendation 2.0

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