Change, Similarity and Redundancy in Software
Change, Similarity and Redundancy in Software
批准号:
RGPIN-2015-04396
负责人:
Roy, Chanchal
金额:
$3.13万
依托单位国家:
加拿大
项目类别:
Discovery Grants Program - Individual
财政年份:
2019
资助国家:
加拿大
项目状态:
已结题
起止时间:
2019-01-01 至 2020-12-31
中文摘要
点击翻译按钮获取中文摘要
英文摘要
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万
-
财政年份:2018
-
负责人:Roy, Chanchal
-
依托单位:
Change, Similarity and Redundancy in Software
-
批准号:RGPIN-2015-04396
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$3.13万
-
财政年份:2017
-
负责人:Roy, Chanchal
-
依托单位:
Change, Similarity and Redundancy in Software
-
批准号:RGPIN-2015-04396
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$3.13万
-
财政年份:2016
-
负责人:Roy, Chanchal
-
依托单位:
Change, Similarity and Redundancy in Software
-
批准号:RGPIN-2015-04396
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$3.13万
-
财政年份:2015
-
负责人:Roy, Chanchal
-
依托单位:
海外基金