EBookClubs

Read Books & Download eBooks Full Online

EBookClubs

Read Books & Download eBooks Full Online

Book Code Clone Analysis

    Book Details:
  • Author : Katsuro Inoue
  • Publisher : Springer Nature
  • Release : 2021-08-03
  • ISBN : 9811619271
  • Pages : 236 pages

Download or read book Code Clone Analysis written by Katsuro Inoue and published by Springer Nature. This book was released on 2021-08-03 with total page 236 pages. Available in PDF, EPUB and Kindle. Book excerpt: 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.

Book Detection and Analysis of    Detection and Analysis of Near Miss Software Clones

Download or read book Detection and Analysis of Detection and Analysis of Near Miss Software Clones written by and published by . This book was released on 2008 with total page pages. Available in PDF, EPUB and Kindle. Book excerpt: 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.

Book Empirical Research towards a Relevance Assessment of Software Clones

Download or read book Empirical Research towards a Relevance Assessment of Software Clones written by Saman Bazrafshan and published by Logos Verlag Berlin GmbH. This book was released on 2017-06-30 with total page 270 pages. Available in PDF, EPUB and Kindle. Book excerpt: 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.

Book Management Aspects of Software Clone Detection and Analysis

Download or read book Management Aspects of Software Clone Detection and Analysis written by Minhaz Zibran and published by . This book was released on 2014 with total page pages. Available in PDF, EPUB and Kindle. Book excerpt:

Book Software Clones   Guilty Until Proven Innocent

Download or read book Software Clones Guilty Until Proven Innocent written by Jan Harder and published by Logos Verlag Berlin GmbH. This book was released on 2017 with total page 252 pages. Available in PDF, EPUB and Kindle. Book excerpt: 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.

Book Clone Evolution

    Book Details:
  • Author : Nils Göde
  • Publisher : Logos Verlag Berlin GmbH
  • Release : 2011
  • ISBN : 3832529209
  • Pages : 236 pages

Download or read book Clone Evolution written by Nils Göde and published by Logos Verlag Berlin GmbH. This book was released on 2011 with total page 236 pages. Available in PDF, EPUB and Kindle. Book excerpt: Duplicated passages of source code - code clones - are a common property of software systems. While clones are beneficial in some situations, their presence causes various problems for software maintenance. Most of these problems are strongly related to change and include, for example, the need to propagate changes across duplicated code fragments and the risk of inconsistent changes to clones that are meant to evolve identically. Hence, we need a sophisticated analysis of clone evolution to better understand, assess, and manage duplication in practice. This thesis introduces Clone Evolution Graphs as a technique to model clone relations and their evolution within the history of a system. We present our incremental algorithm for efficient and automated extraction of Clone Evolution Graphs from a system's history. The approach is shown to scale even for large systems with long histories making it applicable to retroactive analysis ofclone evolution as well as live tracking of clones during software maintenance.We have used Clone Evolution Graphs in several studies to analyze versatile aspects of clone evolution in open-source as well as industrial systems. Our results show that the characteristics of clone evolution are quite different between systems, highlighting the need for a sophisticated technique like Clone Evolution Graphs to track clones and analyze their evolution on a per-system basis. We have also shown that Clone Evolution Graphs are well-suited to analyze the change behavior of individual clones and can be used to identify problematic clones within a system. In general, the results of our studies provide new insights into how clones evolve, how they are changed, and how they are removed.

Book 2017 IEEE 11th International Workshop on Software Clones  IWSC

Download or read book 2017 IEEE 11th International Workshop on Software Clones IWSC written by IEEE Staff and published by . This book was released on 2017-02-21 with total page pages. Available in PDF, EPUB and Kindle. Book excerpt: The purpose of this workshop is to provide a common forum for this important research area as it continues to grow in application breadth and technical depth The goal is to bring together researchers and practitioners to evaluate the current state of research, discuss common problems and emerging directions (such as clone detection in software models, clone analysis in re engineering for reuse, clone analysis in software evolution, and clone detection in copyright and plagiarism), to exchange ideas and discover new opportunities for collaboration, to explore and envision new applications and areas of research, and to present and discuss new empirical results, new insights and new approaches in clone analysis and detection In particular, we expect the in depth analysis of use cases and experiences of clone management in practice to further shape our research

Book Proceedings of the International Conference on Paradigms of Computing  Communication and Data Sciences

Download or read book Proceedings of the International Conference on Paradigms of Computing Communication and Data Sciences written by Mayank Dave and published by Springer Nature. This book was released on 2021-02-19 with total page 1001 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book presents best selected papers presented at the International Conference on Paradigms of Computing, Communication and Data Sciences (PCCDS 2020), organized by National Institute of Technology, Kurukshetra, India, during 1–3 May 2020. It discusses high-quality and cutting-edge research in the areas of advanced computing, communications and data science techniques. The book is a collection of latest research articles in computation algorithm, communication and data sciences, intertwined with each other for efficiency.

Book 2018 IEEE 12th International Workshop on Software Clones  IWSC

Download or read book 2018 IEEE 12th International Workshop on Software Clones IWSC written by IEEE Staff and published by . This book was released on 2018-03-20 with total page pages. Available in PDF, EPUB and Kindle. Book excerpt: 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

Book 2018 IEEE 12th International Workshop on Software Clones  IWSC

Download or read book 2018 IEEE 12th International Workshop on Software Clones IWSC written by IEEE International Workshop on Software Clones and published by . This book was released on 2018 with total page 63 pages. Available in PDF, EPUB and Kindle. Book excerpt: 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.

Book Detecting Test Clones with Static Analysis

Download or read book Detecting Test Clones with Static Analysis written by Divam Jain and published by . This book was released on 2013 with total page 54 pages. Available in PDF, EPUB and Kindle. Book excerpt: Large-scale software systems often have correspondingly complicated test suites, which are difficult for developers to construct and maintain. As systems evolve, engineers must update their test suite along with changes in the source code. Tests created by duplicating and modifying previously existing tests (clones) can complicate this task. Several testing technologies have been proposed to mitigate cloning in tests, including parametrized unit tests and test theories. However, detecting opportunities to improve existing test suites is labour intensive. This thesis presents a novel technique for etecting similar tests based on type hierarchies and method calls in test code. Using this technique, we can track variable history and detect test clones based on test assertion similarity. The thesis further includes results from our empirical study of 10 benchmark systems using this technique which suggest that test clone detection by our technique will aid test de-duplication eff orts in industrial systems.

Book Integrating Research and Practice in Software Engineering

Download or read book Integrating Research and Practice in Software Engineering written by Stan Jarzabek and published by Springer. This book was released on 2019-08-02 with total page 260 pages. Available in PDF, EPUB and Kindle. Book excerpt: In this book, the authors highlight recent findings that hold the potential to improve software products or development processes; in addition, they help readers understand new concepts and technologies, and to see what it takes to migrate from old to new platforms. Some of the authors have spent most of their careers in industry, working at the frontiers of practice-based innovation, and are at the same time prominent researchers who have made significant academic contributions. Others work together with industry to test, in industrial settings, the methods they’ve developed in the lab. The choice of subject and authors represent the key elements of this book. Its respective chapters cover a wide range of topics, from cloud computing to agile development, applications of data science methods, re-engineering of aging applications into modern ones, and business and requirements engineering. Taken together, they offer a valuable asset for practitioners and researchers alike.

Book The Art and Science of Analyzing Software Data

Download or read book The Art and Science of Analyzing Software Data written by Christian Bird and published by Elsevier. This book was released on 2015-09-02 with total page 673 pages. Available in PDF, EPUB and Kindle. Book excerpt: The Art and Science of Analyzing Software Data provides valuable information on analysis techniques often used to derive insight from software data. This book shares best practices in the field generated by leading data scientists, collected from their experience training software engineering students and practitioners to master data science. The book covers topics such as the analysis of security data, code reviews, app stores, log files, and user telemetry, among others. It covers a wide variety of techniques such as co-change analysis, text analysis, topic analysis, and concept analysis, as well as advanced topics such as release planning and generation of source code comments. It includes stories from the trenches from expert data scientists illustrating how to apply data analysis in industry and open source, present results to stakeholders, and drive decisions. - Presents best practices, hints, and tips to analyze data and apply tools in data science projects - Presents research methods and case studies that have emerged over the past few years to further understanding of software data - Shares stories from the trenches of successful data science initiatives in industry

Book Scalable Detection of Similar Code

Download or read book Scalable Detection of Similar Code written by Lingxiao Jiang and published by . This book was released on 2009 with total page 362 pages. Available in PDF, EPUB and Kindle. Book excerpt:

Book Improving the Unification of Software Clones Using Tree and Graph Matching Algorithms

Download or read book Improving the Unification of Software Clones Using Tree and Graph Matching Algorithms written by Giri Panamoottil Krishnan and published by . This book was released on 2014 with total page 79 pages. Available in PDF, EPUB and Kindle. Book excerpt: Code duplication is common in all kind of software systems and is one of the most troublesome hurdles in software maintenance and evolution activities. Even though these code clones are created for the reuse of some functionality, they usually go through several modifications after their initial introduction. This has a serious negative impact on the maintainability, comprehensibility, and evolution of software systems. Existing code duplication can be eliminated by extracting the common functionality into a single module. In the past, several techniques have been developed for the detection and management of software clones. However, the unification and refactoring of software clones is still a challenging problem, since the existing tools are mostly focused on clone detection and there is no tool to find particularly refactoring-oriented clones. The programmers need to manually understand the clones returned by the clone detection tools, decide whether they should be refactored, and finally perform their refactoring. This obvious gap between the clone detection tools and the clone analysis tools, makes the refactoring tedious and the programmers reluctant towards refactoring duplicate codes. In this thesis, an approach for the unification and refactoring of software clones that overcomes the limitations of previous approaches is presented. More specifically, the proposed technique is able to detect and parameterize non-trivial differences between the clones. Moreover, it can find a mapping between the statements of the clones that minimizes the number of differences. We have also defined preconditions in order to determine whether the duplicated code can be safely refactored to preserve the behavior of the existing code. We compared the proposed technique with a competitive clone refactoring tool and concluded that our approach is able to find a significantly larger number of refactorable clones.

Book 2015 IEEE 9th International Workshop on Software Clones  IWSC

Download or read book 2015 IEEE 9th International Workshop on Software Clones IWSC written by Chanchal K. Roy and published by . This book was released on 2015 with total page 57 pages. Available in PDF, EPUB and Kindle. Book excerpt:

Book Mining and Analysis of Control Structure Variant Clones

Download or read book Mining and Analysis of Control Structure Variant Clones written by Qiao Guo and published by . This book was released on 2015 with total page 69 pages. Available in PDF, EPUB and Kindle. Book excerpt: Code duplication (software clones) is a very common phenomenon in existing software systems, and is also considered to be an indication of poor software maintainability. In recent years, the detection of clones has drawn considerable attention. The majority of existing clone detection techniques focus on the syntactic similarity of code fragments, and more specifically, they support the detection of Type-1 clones (i.e., identical code fragments except for variations in whitespace, layout, and comments), Type-2 clones (i.e., structurally/syntactically identical fragments except for variations in identifiers, literals, types, layout, and comments), and Type-3 clones (i.e., copied fragments with statements changed, added, or removed in addition to variations in identifiers, literals, types, layout and comments). However, recent studies have shown that when developers implement the same functionalities, their code solutions may differ substantially in terms of their syntactical structure. This is because developers follow different programming styles or language features when implementing, for instance, control structures, such as loops and conditionals. From the perspective of clone management, different strategies are required to detect and refactor these control structure variant clones. Thus, there is a clear need for functionality-aware clone mining approaches, which are capable of distinguishing functional clones from syntactical clones. In this thesis, we are proposing a method for mining control structure variant clones. More specifically, the proposed approach can mine clones which use different, but functionally equivalent control structures to implement functionally similar iterations and conditionals. Our method is evaluated on six open-source systems by manually inspecting the mined clones and computing the precision and recall of our technique. Moreover, we create a publicly available benchmark of control structure variant clones. Based on the clones we found, we also propose some improvements to tackle the limitations of JDeodorant in the refactoring of control structure variant clones.