课题基金 / 基金详情

Change, Similarity and Redundancy in Software

Change, Similarity and Redundancy in Software
软件中的变化、相似性和冗余
批准号:
RGPIN-2015-04396
负责人:
Roy, Chanchal
金额:
$3.13万
依托单位:
依托单位国家:
加拿大
项目类别:
Discovery Grants Program - Individual
财政年份:
2016
资助国家:
加拿大
项目状态:
已结题
起止时间:
2016-01-01 至 2017-12-31

项目摘要

项目成果

Roy, Chanchal的其他基金

相似基金

相关文献

中文摘要
翻译
软件克隆被定义为软件系统中复制的或相似的代码片段。复制代码片段并通过粘贴编辑更改来重用它是软件开发中的一种常见做法。实际上,开发人员经常有意地进行克隆,因为克隆的潜在好处包括更快的开发、通过避免风险来重用经过良好测试的代码,或者为它们分配时间限制。另一方面,在Flower的重构列表中,克隆是代码的头号“臭味儿”。最近对工业软件和开源软件的研究表明,虽然克隆并不总是有害的,而且克隆在很多方面都是有用的,但它们中的许多也可能对软件维护有害。当然,重用包含未知错误的片段可能会导致错误传播,或者克隆片段中的任何更改都可能导致对所有类似片段的更改,这是具有挑战性的,耗时的,并且容易出错。因此,克隆被认为是软件高维护成本的主要贡献者之一,它高达总开发成本的80%。
英文摘要
Software clones are defined to be duplicated or similar fragments of code in a software system. Copying a code fragment and reusing it by pasting with editing changes is a common practice in software development. Developers in fact often intentionally practice cloning because of the underlying benefits such as faster development, reuse of well-tested code by avoiding risks, or time limits assigned to them. On the other hand, clones are the #1 code “bad smell” in Flower’s refactoring list. Recent studies both with industrial and open source software show that while clones are not always harmful and clones can be useful in many ways, many of them can also be detrimental to software maintenance. Of course, reusing a fragment containing unknown bugs may result in fault propagation, or any changes in a cloned fragment may lead to changes to all the similar fragments to it, which is challenging, time consuming, and error-prone. Clones are thus considered to be one of the primary contributors to the high maintenance cost of software, which is up to 80% of the total development cost. Despite advances in IDEs that assist with detection and analysis of clones, there is a marked lack of support for developers in the “safe and efficient practice of cloning” during development or in assisting them in managing existing clones during software maintenance. The lack of support is particularly evident for “near-miss” clones (clones where minor to significant editing changes occur in the copy/pasted fragments). While there has been some recent progress with near-miss clones as well, this is mainly based on past change histories, and/or contexts of the clones. Given the dual role of cloning, it is however important to consider quality (e.g., how safe the cloning result is) and flexibility (e.g., how to efficiently make clones based on the current context) both during cloning practice in software development as well as managing existing clones during software maintenance. These aspects are poorly supported. The long-term objective of this research is to provide better support for developers in “safe and efficient cloning practices”. This will involve making research contributions in two areas: (1) building tools to assist developers in “safe cloning” practices within IDEs and version control systems, and (2) building tools to help developers manage existing clones during maintenance and evolution. All of these activities will be applied to both exact clones and the more difficult problem of near-miss clones with due consideration of quality and flexibility aspects. The products of this research will allow software engineering researchers to better understand clone evolution and developer cloning practices, and will substantially improve support for developers in dealing with clones effectively and efficiently. Better support for safe cloning and management will lead to a substantial improvement in overall software quality.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
Change, Similarity and Redundancy in Software
  • 批准号:
    RGPIN-2015-04396
  • 项目类别:
    Discovery Grants Program - Individual
  • 资助金额:
    $6.27万
  • 财政年份:
    2021
  • 负责人:
    Roy, Chanchal
  • 依托单位:
Change, Similarity and Redundancy in Software
  • 批准号:
    RGPIN-2015-04396
  • 项目类别:
    Discovery Grants Program - Individual
  • 资助金额:
    $3.13万
  • 财政年份:
    2020
  • 负责人:
    Roy, Chanchal
  • 依托单位:
A framework for studying and predicting bug propagation through code cloning for mobile apps
  • 批准号:
    543819-2019
  • 项目类别:
    Engage Grants Program
  • 资助金额:
    $1.82万
  • 财政年份:
    2019
  • 负责人:
    Roy, Chanchal
  • 依托单位:
Change, Similarity and Redundancy in Software
  • 批准号:
    RGPIN-2015-04396
  • 项目类别:
    Discovery Grants Program - Individual
  • 资助金额:
    $3.13万
  • 财政年份:
    2019
  • 负责人:
    Roy, Chanchal
  • 依托单位:
海外基金