EBookClubs

Read Books & Download eBooks Full Online

EBookClubs

Read Books & Download eBooks Full Online

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 269 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 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 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 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 Artificial Intelligence  Machine Learning and User Interface Design

Download or read book Artificial Intelligence Machine Learning and User Interface Design written by Abhijit Banubakode and published by Bentham Science Publishers. This book was released on 2024-05-10 with total page 303 pages. Available in PDF, EPUB and Kindle. Book excerpt: Artificial Intelligence, Machine Learning and User Interface Design is a forward-thinking compilation of reviews that explores the intersection of Artificial Intelligence (AI), Machine Learning (ML) and User Interface (UI) design. The book showcases recent advancements, emerging trends and the transformative impact of these technologies on digital experiences and technologies. The editors have compiled 14 multidisciplinary topics contributed by over 40 experts, covering foundational concepts of AI and ML, and progressing through intricate discussions on recent algorithms and models. Case studies and practical applications illuminate theoretical concepts, providing readers with actionable insights. From neural network architectures to intuitive interface prototypes, the book covers the entire spectrum, ensuring a holistic understanding of the interplay between these domains. Use cases of AI and ML highlighted in the book include categorization and management of waste, taste perception of tea, bird species identification, content-based image retrieval, natural language processing, code clone detection, knowledge representation, tourism recommendation systems and solid waste management. Advances in Artificial Intelligence, Machine Learning and User Interface Design aims to inform a diverse readership, including computer science students, AI and ML software engineers, UI/UX designers, researchers, and tech enthusiasts.

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 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 Software Engineering and Formal Methods

Download or read book Software Engineering and Formal Methods written by Alessandro Cimatti and published by Springer. This book was released on 2017-08-24 with total page 410 pages. Available in PDF, EPUB and Kindle. Book excerpt: ​This book constitutes the refereed proceedings of the 15th International Conference on Software Engineering and Formal Methods, SEFM 2017, held in Trento, Italy, in September 2017. The 17 full papers and 6 short papers presented were carefully reviewed and selected from 102 submissions. The papers deal with a large range of topics in the following research areas: new frontiers in software architecture; software verification and testing; software development methods; application and technology transfer; security and safety; and design principles.

Book Empirical Investigation of Causes and Effects of Code Clones

Download or read book Empirical Investigation of Causes and Effects of Code Clones written by Debarshi Chatterji and published by . This book was released on 2014 with total page 201 pages. Available in PDF, EPUB and Kindle. Book excerpt: 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.

Book Software Ecosystems

    Book Details:
  • Author : Tom Mens
  • Publisher : Springer Nature
  • Release : 2023-11-06
  • ISBN : 3031360605
  • Pages : 321 pages

Download or read book Software Ecosystems written by Tom Mens and published by Springer Nature. This book was released on 2023-11-06 with total page 321 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book highlights recent research advances in various domains related to software ecosystems such as library reuse, collaborative development, cloud computing, open science, sentiment analysis and machine learning. A key aspect of software ecosystems is that software products belong to ever more interdependent networks of co-evolving software components. The ever-increasing importance of social coding platforms has made software ecosystems indispensable to software practitioners, in commercial as well as open-source settings. The book starts with an introductory chapter that provides a historical account of the origins of software ecosystems. It provides the necessary context about the domain of software ecosystems by highlighting its different perspectives, definitions, and representations. It also exemplifies the variety of software ecosystems that have emerged during the previous decades. The remaining book is composed of five parts: Part I contains two chapters on software ecosystem representations, Part II two chapters that focus on complementary ways and techniques of analyzing software ecosystems. Next, Part III includes two chapters that focus on aspects related to the evolution within software ecosystems, while Part IV looks at workflow automation and infrastructure-as-code ecosystems. Finally, Part V focuses on ecosystems for software modeling and for data-intensive software. This book is intended for researchers and practitioners interested in data mining, tooling, and empirical analysis of software ecosystems. The reader will appreciate chapters that cover a wide spectrum of social and technical aspects of software ecosystems, each including an overview of the state of the art. Chapter 2 The Software Heritage Open Science Ecosystem is available open access under a Creative Commons Attribution 4.0 International License via link.springer.com.

Book Detection and Analysis of Software Clones

Download or read book Detection and Analysis of Software Clones written by Abdullah Mohammad Sheneamer and published by . This book was released on 2017 with total page pages. Available in PDF, EPUB and Kindle. Book excerpt: Effective detection of code clones is important for software maintenance. Code clones introduce difficulty in software maintenance and lead to bug propagation. Detection of duplicated bugs within a piece of software is challenging, especially when duplications are semantic in nature, where textually two pieces of code are different although they perform the same task. Similar issues can also be observed in malware detection or more precisely, obfuscated code detection. In this dissertation, we first conduct a comprehensive study on state-of-the-art clone detection tools and report an empirical comparative analysis of different methods. Next, we propose a new hybrid clone detection technique. It is a two-step process. First, it uses a coarse grained technique to analyze clones effectively to improve precision. Subsequently, it uses a fine-grained detector to obtain additional information about the clones and to improve detection accuracy of Type-I, Type-II and Type-III clones. The task of clone detection is more challenging when clones are semantically similar in nature, but have no textual resemblance to each other. We present a novel machine learn- ing framework for automated detection of all four types of clones using features extracted from Abstract Syntax Trees (ASTs) and Program Dependency Graphs (PDGs), from pairs of code blocks. Majority of publicly available clone data sets are incomplete in nature and lack la- beled samples of Type-IV. It makes difficult for any machine learning framework using such datasets to be useful. In our third contribution, we propose a new scheme for labeling semantic code clones or Type-IV clones. We introduce a new dataset of clone references, which is a set of correct Type-IV clones. This contribution can help researchers evaluate techniques that detect cloned code of Type-IV. Code obfuscation is a technique to alter the original content of the code to confound reverse engineering. Obfuscated code detection is challenging due to the availability of code obfuscation tools. We observe a resemblance between semantic clones and obfuscated code. We apply our clone detection scheme to detect obfuscated code. We propose a framework that can detect both code clones and obfuscated code as our final contribution. Our results are far superior in comparison to state-of-the-art obfuscated code detection methods.

Book Toward an Understanding of Software Code Cloning as a Development Practice

Download or read book Toward an Understanding of Software Code Cloning as a Development Practice written by Cory J. Kapser and published by . This book was released on 2009 with total page 193 pages. Available in PDF, EPUB and Kindle. Book excerpt: Code cloning is the practice of duplicating existing source code for use elsewhere within a software system. Within the research community, conventional wisdom has asserted that code cloning is generally a bad practice, and that code clones should be removed or refactored where possible. While there is significant anecdotal evidence that code cloning can lead to a variety of maintenance headaches -- such as code bloat, duplication of bugs, and inconsistent bug fixing -- there has been little empirical study on the frequency, severity, and costs of code cloning with respect to software maintenance. This dissertation seeks to improve our understanding of code cloning as a common development practice through the study of several widely adopted, medium-sized open source software systems. We have explored the motivations behind the use of code cloning as a development practice by addressing several fundamental questions: For what reasons do developers choose to clone code? Are there distinct identifiable patterns of cloning? What are the possible short- and long-term term risks of cloning? What management strategies are appropriate for the maintenance and evolution of clones? When is the ``cure'' (refactoring) likely to cause more harm than the ``disease'' (cloning)? There are three major research contributions of this dissertation. First, we propose a set of requirements for an effective clone analysis tool based on our experiences in clone analysis of large software systems. These requirements are demonstrated in an example implementation which we used to perform the case studies prior to and included in this thesis. Second, we present an annotated catalogue of common code cloning patterns that we observed in our studies. Third, we present an empirical study of the relative frequencies and likely harmfulness of instances of these cloning patterns as observed in two medium-sized open source software systems, the Apache web server and the Gnumeric spreadsheet application. In summary, it appears that code cloning is often used as a principled engineering technique for a variety of reasons, and that as many as 71% of the clones in our study could be considered to have a positive impact on the maintainability of the software system. These results suggest that the conventional wisdom that code clones are generally harmful to the quality of a software system has been proven wrong.

Book Semantic Web

    Book Details:
  • Author : Gang Wu
  • Publisher : BoD – Books on Demand
  • Release : 2010-01-01
  • ISBN : 9537619540
  • Pages : 320 pages

Download or read book Semantic Web written by Gang Wu and published by BoD – Books on Demand. This book was released on 2010-01-01 with total page 320 pages. Available in PDF, EPUB and Kindle. Book excerpt: Having lived with the World Wide Web for twenty years, surfing the Web becomes a way of our life that cannot be separated. From latest news, photo sharing, social activities, to research collaborations and even commercial activities and government affairs, almost all kinds of information are available and processible via the Web. While people are appreciating the great invention, the father of the Web, Sir Tim Berners-Lee, has started the plan for the next generation of the Web, the Semantic Web. Unlike the Web that was originally designed for reading, the Semantic Web aims at a more intelligent Web severing machines as well as people. The idea behind it is simple: machines can automatically process or “understand” the information, if explicit meanings are given to it. In this way, it facilitates sharing and reuse of data across applications, enterprises, and communities. According to the organisation of the book, the intended readers may come from two groups, i.e. those whose interests include Semantic Web and want to catch on the state-of-the-art research progress in this field; and those who urgently need or just intend to seek help from the Semantic Web. In this sense, readers are not limited to the computer science. Everyone is welcome to find their possible intersection of the Semantic Web.

Book Evolving Software Systems

    Book Details:
  • Author : Tom Mens
  • Publisher : Springer Science & Business Media
  • Release : 2014-01-08
  • ISBN : 3642453988
  • Pages : 418 pages

Download or read book Evolving Software Systems written by Tom Mens and published by Springer Science & Business Media. This book was released on 2014-01-08 with total page 418 pages. Available in PDF, EPUB and Kindle. Book excerpt: During the last few years, software evolution research has explored new domains such as the study of socio-technical aspects and collaboration between different individuals contributing to a software system, the use of search-based techniques and meta-heuristics, the mining of unstructured software repositories, the evolution of software requirements, and the dynamic adaptation of software systems at runtime. Also more and more attention is being paid to the evolution of collections of inter-related and inter-dependent software projects, be it in the form of web systems, software product families, software ecosystems or systems of systems. With this book, the editors present insightful contributions on these and other domains currently being intensively explored, written by renowned researchers in the respective fields of software evolution. Each chapter presents the state of the art in a particular topic, as well as the current research, available tool support and remaining challenges. The book is complemented by a glossary of important terms used in the community, a reference list of nearly 1,000 papers and books and tips on additional resources that may be useful to the reader (reference books, journals, standards and major scientific events in the domain of software evolution and datasets). This book is intended for all those interested in software engineering, and more particularly, software maintenance and evolution. Researchers and software practitioners alike will find in the contributed chapters an overview of the most recent findings, covering a broad spectrum of software evolution topics. In addition, it can also serve as the basis of graduate or postgraduate courses on e.g., software evolution, requirements engineering, model-driven software development or social informatics.

Book Mastering Scale and Complexity in Software Reuse

Download or read book Mastering Scale and Complexity in Software Reuse written by Goetz Botterweck and published by Springer. This book was released on 2017-05-08 with total page 225 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book constitutes the refereed proceedings of the 16th International Conference on Software Reuse, ICSR 2017, held in Salvador, Brazil, in May 2017. The 8 revised full papers presented together with 3 short papers and 2 keynote presentations were carefully reviewed and selected from 34 submissions. The papers are grouped in topical sections on documentation reuse and repositories; software product lines; variability management and model variants; verification and refactoring for reuse; tools demonstrations; doctorial symposium; tutorials; and workshop.

Book On the Relationship of Inconsistent Software Clones and Faults

Download or read book On the Relationship of Inconsistent Software Clones and Faults written by and published by . This book was released on 2016 with total page pages. Available in PDF, EPUB and Kindle. Book excerpt:

Book Toward Improved Understanding and Management of Software Clones

Download or read book Toward Improved Understanding and Management of Software Clones written by Wei Wang and published by . This book was released on 2012 with total page 85 pages. Available in PDF, EPUB and Kindle. Book excerpt: 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.

Book International Conference on Innovative Computing and Communications

Download or read book International Conference on Innovative Computing and Communications written by Ashish Khanna and published by Springer Nature. This book was released on 2021-08-17 with total page 872 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book includes high-quality research papers presented at the Fourth International Conference on Innovative Computing and Communication (ICICC 2021), which is held at the Shaheed Sukhdev College of Business Studies, University of Delhi, Delhi, India, on February 20–21, 2021. Introducing the innovative works of scientists, professors, research scholars, students and industrial experts in the field of computing and communication, the book promotes the transformation of fundamental research into institutional and industrialized research and the conversion of applied exploration into real-time applications.