Academia.eduAcademia.edu

Clone Detection

582 papers
80 followers
AI Powered
Clone detection is the process of identifying duplicate code segments within software systems. It involves analyzing source code to find similar or identical structures, which can indicate code reuse, potential bugs, or maintenance challenges. This technique is essential for improving software quality and reducing redundancy in programming.
DETECTING AND CORRECTING DUPLICATION IN BEHAVIOUR DRIVEN DEVELOPMENT SPECIFICATIONS Leonard Peter Binamungu A thesis submitted to the University of Manchester for the degree of Doctor of Philosophy, 2020 The Behaviour Driven Development... more
The microbial composition of acid streamers (macroscopic biofilms) in acidic, metal-rich waters in two locations (an abandoned copper mine and a chalybeate spa) in north Wales was studied using cultivationbased and biomolecular... more
This paper presents an implementation of the "form template method" refactoring. This transformation has not been automated yet, but has many similarities with other transformations such as clone detection and removal or method... more
The digital age has transformed how people consume news and interact with media content, but it has also given rise to the widespread dissemination of misinformation and cloned media content on social media platforms. This paper reviews... more
Structure-oriented approaches in clone detection have become popular in both code-based and model-based clone detection. However, existing methods for capturing structural information in software artifacts are either too computationally... more
Code clone analysis is a very active subject of study, and research on inter-project code clones is starting to emerge. In the context of software package repositories specifically, developers are confronted with the choice between... more
The clone detection is made between the various clones of same number of lines of code. The small or sub-clones in the longer programs or functions than the evaluated code chunk are usually neglected and returned with no matching results.... more
The successful generation of human antibodies from large naïve antibody libraries requires iterative selection steps. Here, we describe a new and fast method for the isolation of high affinity antibodies directly from human single chain... more
Code clones are similar code fragments that occur at multiple locations in a software system. Detection of code clones provides useful information for maintenance, reengineering, program understanding and reuse. Several techniques have... more
Software clones are identical or similar pieces of code, design or other artifacts. Clones are known to be closely related to various issues in software engineering, such as software quality, complexity, architecture, refactoring,... more
Software clones are identical or similar pieces of code. They are often a result of copying and pasting as an act of ad-hoc reuse by programmers. Software clones research is of high relevance for industry. Many researchers have reported... more
Code clones are similar program structures recurring in software systems. Clone detectors produce much information and a challenge is to identify useful clones depending on the goals of clone analysis. To do so, further abstraction,... more
In previous work, we introduced the concept of structural clone as recurring configurations of simple clones (ie, similar code fragments). We also described a technique for detection of certain types of structural clones. The premise of... more
Code clone detection tools find sections of code that are similar. Different tools use difference representations of the code and different matching algorithms. This diversity makes clone detection tools attractive for other code matching... more
In a typical client-server scenario, a trusted server provides valuable services to a client, which runs remotely on an untrusted platform. Of the many security vulnerabilities that may arise (such as authentication and authorization),... more
Abstract-Clones have played an important role in increasing the software's maintenance and decreasing the quality. Hence detecting the clones and removing them has been an interesting scenario. Detecting clones not only improves the... more
iii Acknowledgement We feel a great sense of accomplishment to be able to complete this thesis, as part of the requirement for our Master " s degree. We would have not been able to do this on our own without the supports of the... more
As sensor nodes deployed for a variety of applications, cost effective and malicious user may compromise some sensors and acquire their private information. As the duplicated sensors have the same information they can easily participate... more
Structure-oriented approaches in clone detection have become popular in both code-based and model-based clone detection. However, existing methods for capturing structural information in software artifacts are either too computationally... more
Code cloning is a controversial software engineering practice due to contradictory claims regarding its effect on software maintenance. Code stability is a recently introduced measurement technique that has been used to determine the... more
We have constructed a genetic linkage map of peach [Prunus persica (L.) Batsch] consisting of RFLP, RAPD and morphological markers, based on 71 F 2 individuals derived from the self-fertilization of four F 1 individuals of a cross between... more
Software maintenance is an important and challenging phase of the software development life cycle because changes during this phase without proper awareness of dependencies among program modules can introduce faults in the software... more
Software systems in this big data era are growing larger and becoming more intricate. Tracking and managing code clones in such evolving software systems are challenging tasks. To understand how clone fragments are evolving, the... more
If two or more code fragments in the code-base of a software system are exactly or nearly similar to one another, we call them code clones. It is often important that updates (i.e., changes) in one clone fragment should be propagated to... more
Code reuse by copying and pasting from one place to another place in a codebase is a very common scenario in software development which is also one of the most typical reasons for introducing code clones. There is a huge availability of... more
Code cloning has both positive and negative impacts on software maintenance and evolution. Focusing on the issues related to code cloning, researchers suggest to manage code clones through refactoring and tracking. However, it is... more
Currently, the impacts of clones in software maintenance activities are being investigated by different researchers in different ways. Comparative stability analysis of cloned and non-cloned regions of a subject system is a well-known way... more
Code cloning is a controversial software engineering practice due to contradictory claims regarding its effect on software maintenance. Code stability is a recently introduced measurement technique that has been used to determine the... more
The impacts of clones on software maintenance is a long-lived debate on whether clones are beneficial or not. Some researchers argue that clones lead to additional changes during the maintenance phase and thus increase the overall... more
The Envision project aims to develop an integrated development environment (IDE) for object-oriented languages that features a visual structured code editor and is used for large-scale software development. To achieve this goal Envision... more
The number of applications available in mobile marketplaces is increasing rapidly. It's very easy to become overwhelmed by the sheer size of their codebase. We propose to use code clone analysis to help manage existing applications and... more
Cloned code is considered harmful for two reasons: (1) multiple, possibly unnecessary, duplicates of code increase maintenance costs and, (2) inconsistent changes to cloned code can create faults and, hence, lead to incorrect program... more
Code cloning is not only assumed to inflate maintenance costs but also considered defect-prone as inconsistent changes to code duplicates can lead to unexpected behavior. Consequently, the identification of duplicated code, clone... more
Existing software systems contain a significant amount of duplicated code. Such redundancy can negatively impact program correctness, since inconsistent updates to duplicated code fragments are prone to introduce subtle bugs. This paper... more
Due to their pivotal role in software engineering, considerable effort is spent on the quality assurance of software requirements specifications. As they are mainly described in natural language, relatively few means of automated quality... more
Classic clone detection approaches are hardly capable of finding redundant code that has been developed independently, i. e., is not the result of copy&paste. To automatically detect such functionally similar code of independent origin,... more
Structure-oriented approaches in clone detection have become popular in both code-based and model-based clone detection. However, existing methods for capturing structural information in software artifacts are either too computationally... more
Recent research results show several benefits of the management of code clones. In this paper, we introduce Clever, a novel clone-aware software configuration management (SCM) system. In addition to traditional SCM functionality, Clever... more
Model-Driven Engineering (MDE) has become an important development framework for many large-scale software. Previous research has reported that as in traditional code-based development, cloning also occurs in MDE. However, there has been... more
Structure-oriented approaches in clone detection have become popular in both code-based and model-based clone detection. However, existing methods for capturing structural information in software artifacts are either too computationally... more
Recent research results show several benefits of the management of code clones. In this paper, we introduce Clever, a novel clone-aware software configuration management (SCM) system. In addition to traditional SCM functionality, Clever... more
Model-Driven Engineering (MDE) has become an important development framework for many large-scale software. Previous research has reported that as in traditional code-based development, cloning also occurs in MDE. However, there has been... more
Recent research results have shown more benefits of the management of code clones, rather than detecting and removing them. However, existing management approaches for code clone group evolution are still ad hoc, unsatisfactory, and... more
Syntax Trees (ASTs) are intermediate representations widely used by compiler frameworks. One of their strengths is that they can be used to determine the similarity among a collection of programs. In this paper we propose a novel... more
In chronic lymphocytic leukemia (CLL), spontaneous regressions are an exceptional phenomenon, whose biologic features are unknown. We describe 9 CLL patients who underwent a spontaneous clinical regression over an 11-year followup,... more
In this study, the composition of the metabolically active fraction of the microbial community occurring in Gulf of Mexico marine sediments (water depth, 550 to 575 m) with overlying filamentous bacterial mats was determined. The mats... more
In this study, the composition of the metabolically active fraction of the microbial community occurring in Gulf of Mexico marine sediments (water depth, 550 to 575 m) with overlying filamentous bacterial mats was determined. The mats... more
Pre-processing and transformation are the first two common processes that occur in a code clone detection process. The purpose of these two processes is to transform the source codes into a more representable form that can be used later... more
A model clone is a set of similar or identical fragments in a model of the system. Understanding and Identifying model clones are important aspects in software evolution. During the Evolution of the Software product Cloning is often a... more
Programmers copy and paste code for many reasons. Regardless of the specific reasons, similar code fragments (clones) are introduced into software systems. Like other software artifacts, clones may require attention and effort from... more