摘要 :
An important measure of clone detection performance is precision. However, there has been a marked lack of research into methods for efficiently and accurately measuring the precision of a clone detection tool. Instead, tool autho...
展开
An important measure of clone detection performance is precision. However, there has been a marked lack of research into methods for efficiently and accurately measuring the precision of a clone detection tool. Instead, tool authors simply validate a small random sample of the clones their tools detected in a subject software system. Since there could be many thousands of clones reported by the tool, such a small random sample cannot guarantee an accurate and generalized measure of the tool's precision for all the varieties of clones that can occur in any arbitrary software system. In this paper, we propose a machine-learning-based approach that can cluster similar clones together, and which can be used to maximize the variety of clones examined when measuring precision, while significantly reducing the biases a specific subject system has on the generality of the precision measured. Our technique reduces the efforts in measuring precision, while doubling the variety of clones validated and reducing biases that harm the generality of the measure by up to an order of magnitude. Our case study with the NiCad clone detector and the Java class library shows that our approach is effective in efficiently measuring an accurate and generalized precision of a subject clone detection tool.
收起
摘要 :
Code clones, identical or nearly similar code fragments in a software system's code-base, have mixed impacts on software evolution and maintenance. Focusing on the issues of clones researchers suggest managing them through refacto...
展开
Code clones, identical or nearly similar code fragments in a software system's code-base, have mixed impacts on software evolution and maintenance. Focusing on the issues of clones researchers suggest managing them through refactoring, and tracking. In this paper we present a survey on the state-of-the-art of clone refactoring and tracking techniques, and identify future research possibilities in these areas. We define the quality assessment features for the clone refactoring and tracking tools, and make a comparison among these tools considering these features. To the best of our knowledge, our survey is the first comprehensive study on clone refactoring and tracking. According to our survey on clone refactoring we realize that automatic refactoring cannot eradicate the necessity of manual effort regarding finding refactoring opportunities, and post refactoring testing of system behaviour. Post refactoring testing can require a significant amount of time and effort from the quality assurance engineers. There is a marked lack of research on the effect of clone refactoring on system performance. Future investigations in this direction will add much value to clone refactoring research. We also feel the necessity of future research towards real-time detection, and tracking of code clones in a big-data environment. (C) 2019 Published by Elsevier Inc.
收起
摘要 :
Recent research results suggest a need for code clone management. In this paper, we introduce JSync, a novel clone management tool. JSync provides two main functions to support developers in being aware of the clone relation among...
展开
Recent research results suggest a need for code clone management. In this paper, we introduce JSync, a novel clone management tool. JSync provides two main functions to support developers in being aware of the clone relation among code fragments as software systems evolve and in making consistent changes as they create or modify cloned code. JSync represents source code and clones as (sub)trees in Abstract Syntax Trees, measures code similarity based on structural characteristic vectors, and describes code changes as tree editing scripts. The key techniques of JSync include the algorithms to compute tree editing scripts, to detect and update code clones and their groups, to analyze the changes of cloned code to validate their consistency, and to recommend relevant clone synchronization and merging. Our empirical study on several real-world systems shows that JSync is efficient and accurate in clone detection and updating, and provides the correct detection of the defects resulting from inconsistent changes to clones and the correct recommendations for change propagation across cloned code.
收起
摘要 :
Code reuse through copying and pasting leads to so-called software clones. These clones can be roughly categorized into identical fragments (type-1 clones), fragments with parameter substitution (type-2 clones), and similar fragme...
展开
Code reuse through copying and pasting leads to so-called software clones. These clones can be roughly categorized into identical fragments (type-1 clones), fragments with parameter substitution (type-2 clones), and similar fragments that differ through modified, deleted, or added statements (type-3 clones). Although there has been extensive research on detecting clones, detection of type-3 clones is still an open research issue due to the inherent vagueness in their definition. In this paper, we analyze type-3 clones detected by state-of-the-art tools and investigate type-3 clones in terms of their syntactic differences. Then, we derive their underlying semantic abstractions from their syntactic differences. Finally, we investigate whether there are code characteristics that indicate that a tool-suggested clone candidate is a real type-3 clone from a human's perspective. Our findings can help developers of clone detectors and clone refactoring tools to improve their tools.
收起
摘要 :
The following two problems are addressed in this paper. Let k ≥ 2 k be a k-element set and M be a family of maximal partial clones with trivial intersection over k. What is the smallest possible cardinality of M? Dually, if F is ...
展开
The following two problems are addressed in this paper. Let k ≥ 2 k be a k-element set and M be a family of maximal partial clones with trivial intersection over k. What is the smallest possible cardinality of M? Dually, if F is a family of minimal partial clones whose join is the set of all partial functions on k, then what is the smallest possible cardinality of F? We show that the answer to these two problems is three.
收起
摘要 :
This article reports on the current results obtained worldwide by applying assisted reproductive technology such as animal somatic cloning used in livestock animals such as cattle, sheep and goats, the limitations and other potent...
展开
This article reports on the current results obtained worldwide by applying assisted reproductive technology such as animal somatic cloning used in livestock animals such as cattle, sheep and goats, the limitations and other potential applications of this technology was also discussed..
收起
摘要 :
In vivo cloning of rice was studied using periodic cloning, restricted cloning and stubble cloning. The comparative efficacy of these methods was assessed in terms of clonal plant productivity index, clonal tiller productivity ind...
展开
In vivo cloning of rice was studied using periodic cloning, restricted cloning and stubble cloning. The comparative efficacy of these methods was assessed in terms of clonal plant productivity index, clonal tiller productivity index and other morphometric characters in varieties Cherumodan, IR 36, Ponni and Chitteni. The study revealed the genotypic variability in respect of clonal plant productivity index and other morphometric characters.
收起
摘要 :
We study the problem of universal quantum cloning taking several identical copies of a pure but unknown quantum state and producing further copies. While it is well known that it is impossible to perfectly reproduce the state, how...
展开
We study the problem of universal quantum cloning taking several identical copies of a pure but unknown quantum state and producing further copies. While it is well known that it is impossible to perfectly reproduce the state, how well the copies can be cloned can be quantified using the fidelity. We examine how individual fidelities can be traded against each other, and how different fidelity measures can be incorporated. The broadly applicable formalism into which we transform the cloning problem is described as a series of quadratic constraints which are amenable to mathematical and computational scrutiny. As such, we reproduce all known results on optimal universal cloning, and push the recent results on asymmetric cloning much further, giving new trade-off relations between fidelities for broad classes of optimal cloning machines. We also provide substantial evidence that motivates why other parameter ranges (number of input copies) have not, and will not, yield to similar analysis.
收起
摘要 :
Context: Reusing software by means of copy and paste is a frequent activity in software development. The duplicated code is known as a software clone and the activity is known as code cloning. Software clones may lead to bug propa...
展开
Context: Reusing software by means of copy and paste is a frequent activity in software development. The duplicated code is known as a software clone and the activity is known as code cloning. Software clones may lead to bug propagation and serious maintenance problems. Objective: This study reports an extensive systematic literature review of software clones in general and software clone detection in particular. Method: We used the standard systematic literature review method based on a comprehensive set of 213 articles from a total of 2039 articles published in 11 leading journals and 37 premier conferences and workshops. Results: Existing literature about software clones is classified broadly into different categories. The importance of semantic clone detection and model based clone detection led to different classifications. Empirical evaluation of clone detection tools/techniques is presented. Clone management, its benefits and cross cutting nature is reported. Number of studies pertaining to nine different types of clones is reported. Thirteen intermediate representations and 24 match detection techniques are reported. Conclusion: We call for an increased awareness of the potential benefits of software clone management, and identify the need to develop semantic and model clone detection techniques. Recommendations are given for future research.
收起
摘要 :
C-clones are polymorphism sets of so-called clausal relations, a special type of relations on a finite domain, which first appeared in connection with constraint satisfaction problems in work by Creignou et al. from 2008. We compl...
展开
C-clones are polymorphism sets of so-called clausal relations, a special type of relations on a finite domain, which first appeared in connection with constraint satisfaction problems in work by Creignou et al. from 2008. We completely describe the relationship regarding set inclusion between maximal C-clones and maximal clones. As a main result we obtain that for every maximal C-clone there exists exactly one maximal clone in which it is contained. A precise description of this unique maximal clone, as well as a corresponding completeness criterion for C-clones is given.
收起