[PDF] Empirical Research Towards A Relevance Assessment Of Software Clones - eBooks Review

Empirical Research Towards A Relevance Assessment Of Software Clones


Empirical Research Towards A Relevance Assessment Of Software Clones
DOWNLOAD

Download Empirical Research Towards A Relevance Assessment Of Software Clones PDF/ePub or read online books in Mobi eBooks. Click Download or Read Online button to get Empirical Research Towards A Relevance Assessment Of Software Clones book now. This website allows unlimited access to, at the time of writing, more than 1.5 million titles, including hundreds of thousands of titles in various foreign languages. If the content not found or just blank you must refresh this page



Empirical Research Towards A Relevance Assessment Of Software Clones


Empirical Research Towards A Relevance Assessment Of Software Clones
DOWNLOAD
Author : Saman Bazrafshan
language : en
Publisher: Logos Verlag Berlin GmbH
Release Date : 2017-06-30

Empirical Research Towards A Relevance Assessment Of Software Clones written by Saman Bazrafshan and has been published by Logos Verlag Berlin GmbH this book supported file pdf, txt, epub, kindle and other format this book has been release on 2017-06-30 with Computers categories.


Redundancies in program source code - software clones - are a common phenomenon. Although it is often claimed that software clones decrease the maintainability of software systems and need to be managed, research in the last couple of years showed that not all clones can be considered harmful. A sophisticated assessment of the relevance of software clones and a cost-benefit analysis of clone management is needed to gain a better understanding of cloning and whether it is truly a harmful phenomenon. This thesis introduces techniques to model, analyze, and evaluate versatile aspects of software clone evolution within the history of a system. We present a mapping of non-identical clones across multiple versions of a system, that avoids possible ambiguities of previous approaches. Though processing more data to determine the context of each clone to avoid an ambiguous mapping, the approach is shown to be efficient and applicable to large systems for a retrospective analysis of software clone evolution. The approach has been used in several studies to gain insights into the phenomenon of cloning in open-source as well as industrial software systems. Our results show that non-identical clones require more attention regarding clone management compared to identical clones as they are the dominating clone type for the main share of our subject systems. Using the evolution model to investigate costs and benefits of refactorings that remove clones, we conclude that clone removals could not reduce maintenance costs for most systems under study.



Code Clone Analysis


Code Clone Analysis
DOWNLOAD
Author : Katsuro Inoue
language : en
Publisher: Springer Nature
Release Date : 2021-08-03

Code Clone Analysis written by Katsuro Inoue and has been published by Springer Nature this book supported file pdf, txt, epub, kindle and other format this book has been release on 2021-08-03 with Computers categories.


This is the first book organized around code clone analysis. To cover the broad studies of code clone analysis, this book selects past research results that are important to the progress of the field and updates them with new results and future directions. The first chapter provides an introduction for readers who are inexperienced in the foundation of code clone analysis, defines clones and related terms, and discusses the classification of clones. The chapters that follow are categorized into three main parts to present 1) major tools for code clone analysis, 2) fundamental topics such as evaluation benchmarks, clone visualization, code clone searches, and code similarities, and 3) applications to actual problems. Each chapter includes a valuable reference list that will help readers to achieve a comprehensive understanding of this diverse field and to catch up with the latest research results. Code clone analysis relies heavily on computer science theories such as pattern matching algorithms, computer language, and software metrics. Consequently, code clone analysis can be applied to a variety of real-world tasks in software development and maintenance such as bug finding and program refactoring. This book will also be useful in designing an effective curriculum that combines theory and application of code clone analysis in university software engineering courses.



Software Clones Guilty Until Proven Innocent


Software Clones Guilty Until Proven Innocent
DOWNLOAD
Author : Jan Harder
language : de
Publisher: Logos Verlag Berlin GmbH
Release Date : 2017

Software Clones Guilty Until Proven Innocent written by Jan Harder and has been published by Logos Verlag Berlin GmbH this book supported file pdf, txt, epub, kindle and other format this book has been release on 2017 with Computers categories.


Software systems contain redundant code that originated from the use of copy and paste. While such cloning may be beneficial in the short term as it accelerates development, it is frequently despised as a risk to maintainability and quality in the long term. Code clones are said to cause extra change effort, because changes have to be propagated to all copies. They are also suspected to cause bugs when the copied code fragments are changed inconsistently. These accusations may be plausible but are not based on empirical facts. Indeed, they are prejudice. In the recent past, science has started the endeavor to find empirical evidence to support the alleged effects of clones. In this thesis, we analyze the effects of clones from three different perspectives. First, we investigate whether clones do indeed increase the maintenance effort in real and long lived software systems. Second, we analyze potential reasons for the cases where clones do cause bugs. Third, we take a new perspective to the problem by measuring the effects of clones in a controlled experiment. This allows us to gather new insights by observing software developers during their work, whereas previous studies were based on historical data. With our work we aim to empirically find advice for practitioners how to deal with clones and, if necessary, to provide an empirical basis for tools that help developers to manage clones.



2018 Ieee 12th International Workshop On Software Clones Iwsc


2018 Ieee 12th International Workshop On Software Clones Iwsc
DOWNLOAD
Author : IEEE International Workshop on Software Clones
language : en
Publisher:
Release Date : 2018

2018 Ieee 12th International Workshop On Software Clones Iwsc written by IEEE International Workshop on Software Clones and has been published by this book supported file pdf, txt, epub, kindle and other format this book has been release on 2018 with Computer software categories.


Software clones are often a result of copying and pasting as an act of ad hoc reuse by programmers, and can occur at many levels, from simple statement sequences to blocks, methods, classes, source files, subsystems, models, architectures and entire designs, and in all software artifacts (code, models, requirements or architecture documentation, etc) Software clone research is of high relevance for software engineering research and practice today The scope involves detection of clones, analysis of clones, applications of cloning, and forms of clone detection.



An Empirical Study For The Impact Of Maintenance Activities In Clone Evolution


An Empirical Study For The Impact Of Maintenance Activities In Clone Evolution
DOWNLOAD
Author : Lionel Marks
language : en
Publisher:
Release Date : 2009

An Empirical Study For The Impact Of Maintenance Activities In Clone Evolution written by Lionel Marks and has been published by this book supported file pdf, txt, epub, kindle and other format this book has been release on 2009 with categories.


Code clones are duplicated code fragments that are copied to re-use functionality and speed up development. However, due to the duplicate nature of code clones, inconsistent updates can lead to bugs in the software system. Existing research investigates the inconsistent updates through analysis of the updates to code clones and the bug fixes used to fix the inconsistent updates. We extend the work by investigating other factors that affect clone evolution, such as the number of developers. On two levels of analysis, the method and clone class level, we conduct an empirical study on clone evolution. We analyze the factors affecting bug fixes and co-change (i.e. update cloned methods at the same time) using our new metrics. Our metrics are related to the developers, code complexity, and stages of development. We use these metrics to find ways to improve the maintenance of cloned code. We discover that one way to improve maintenance of code clones is the decrease of code complexity. We find that increased code complexity leads to a decrease in co-change, which can lead to bugs in the software. We perform our study on 6 applications. To maximize the number of clones detected, we use two existing code clone detection tools: SimScan and Simian. SimScan was used to find clones in 5 of the applications due to its versatility in finding code clones. Simian was used to detect clones due to its reliability to find code clones regardless of language or compilation problems. To analyze and determine the significance of the metrics, we use the R Statistical Toolkit.



Detection And Analysis Of Detection And Analysis Of Near Miss Software Clones


Detection And Analysis Of Detection And Analysis Of Near Miss Software Clones
DOWNLOAD
Author :
language : en
Publisher:
Release Date : 2008

Detection And Analysis Of Detection And Analysis Of Near Miss Software Clones written by and has been published by this book supported file pdf, txt, epub, kindle and other format this book has been release on 2008 with categories.


Software clones are considered harmful in software maintenance and evolution. However, despite a decade of active research, there is a marked lack of work in the detection and analysis of near-miss software clones, those where minor to extensive modifications have been made to the copied fragments. In this thesis, we advance the state-of-the-art in clone detection and analysis in several ways. First, we develop a hybrid clone detection method, called NICAD, that can detect both exact and near-miss clones with high precision and recall and with reasonable performance. Second, in order to address the decade of vagueness in clone definition, we propose an editing taxonomy for clone creation that models developers' editing activities in the copy/pasted code in a top-down fashion. NICAD is designed to address the different types of clones in the editing taxonomy. Third, we have conducted a scenario-based qualitative comparison and evaluation of all of the currently available clone detection techniques and tools in the context of a unified conceptual framework. Using the results of this study one can more easily choose the right tools to meet the requirements and constraints of any particular application, and can identify opportunities for hybridizing different techniques. The hybrid architecture of NICAD was derived from this study. Fourth, in order to evaluate and compare the available tools in a realistic setting and to avoid the challenges and huge manual effort in validating candidate clones, we have developed a mutation-based framework that automatically and efficiently measures (and compares) the recall and precision of clone detection tools for different fine-grained clone types of the proposed editing taxonomy. We have evaluated NICAD using this framework and found that it is capable of detecting different types of clones with high precision and recall. Finally, we have conducted a large scale empirical study of cloning in open source systems, both to evaluate NI.



Empirical Investigation Of Causes And Effects Of Code Clones


Empirical Investigation Of Causes And Effects Of Code Clones
DOWNLOAD
Author : Debarshi Chatterji
language : en
Publisher:
Release Date : 2014

Empirical Investigation Of Causes And Effects Of Code Clones written by Debarshi Chatterji and has been published by this book supported file pdf, txt, epub, kindle and other format this book has been release on 2014 with Electronic dissertations categories.


Code Clones, also known as Software Clones are similar code fragments mostly formed due to reuse of code. The literature is abundant with ambiguous and vague fundamental definitions of code clones. Over the years, researchers have shown increasing interest in code clones. However, most of the research lacks empirical validation. There is a dearth of empirical studies especially in the area of cause and effect. Often researchers have associated code clones with a negative connotation. However, there is little evidence to prove that code clones negatively affect the system. Although the research community unanimously agrees that it is critical to keep track of code clones, the available research is void of substantial efforts on maintenance related issues. Most efforts go into the software life-cycle process of maintenance. It is yet unknown how exactly code clones can affect the process of maintenance and this dissertation is a step in that direction. Good and bad coding practices, together give rise to code clones. Educating and providing assistance to developers in clone maintenance scenarios can save effort. A primary objective of this dissertation is to investigate developer behavior and ascertain ways to help developers during clone maintenance. Before reaching this goal, a major milestone to cross is, understanding the fundamentals of code clones. This dissertation proposes a `four pillar architecture' with each pillar, namely - consistent definitions, causes and effects of clones, clone awareness, and clone management, focusing on questions closely related to the issues. For the purpose of answering the questions related to each pillar, this dissertation explains five research studies with respective empirical methods: systematic literature review, community survey, developer observation and qualitative interview. Results highlight a degree of ambiguity in the literature and difference of opinion in the research community. The results also show that cloned code requires more effort to maintain, and given proper training and clone aware information, developers can be assisted. This dissertation also proposes a code clone categorization based on cloning intent with a classification of harmful and helpful clones.



On The Stability Of Software Clones


On The Stability Of Software Clones
DOWNLOAD
Author : Manishankar Mondal
language : en
Publisher:
Release Date : 2013

On The Stability Of Software Clones written by Manishankar Mondal and has been published by this book supported file pdf, txt, epub, kindle and other format this book has been release on 2013 with categories.




On The Relationship Of Inconsistent Software Clones And Faults


On The Relationship Of Inconsistent Software Clones And Faults
DOWNLOAD
Author :
language : en
Publisher:
Release Date : 2016

On The Relationship Of Inconsistent Software Clones And Faults written by and has been published by this book supported file pdf, txt, epub, kindle and other format this book has been release on 2016 with categories.




Toward Improved Understanding And Management Of Software Clones


Toward Improved Understanding And Management Of Software Clones
DOWNLOAD
Author : Wei Wang
language : en
Publisher:
Release Date : 2012

Toward Improved Understanding And Management Of Software Clones written by Wei Wang and has been published by this book supported file pdf, txt, epub, kindle and other format this book has been release on 2012 with categories.


The cloning of code is controversial as a development practice. Empirical studies on the long-term effects of cloning on software quality and maintainability have produced mixed results. Some studies have found that cloning has a negative impact on code readability, bug propagation, and the presence of cloning may indicate wider problems in software design and management. At the same time, other studies have found that cloned code is less likely to have defects, and thus is arguably more stable, better designed, and better maintained. These results suggest that the effect of cloning on software quality and maintainability may be determinable only on a case-by-case basis, and this only aggravates the challenge of establishing a principled framework of clone management and understanding. This thesis aims to improve the understanding and management of clones within software systems.