Proceedings Article10.1109/ICODSE.2014.7062689
Case study on semantic clone detection based on code behavior
Bayu Priyambadha,Siti Rochimah +1 more
- 01 Nov 2014
- pp 1-6
6
TL;DR: It can be concluded that semantic clone detection using the methods behavior approach is sound very promising on detecting the presence of cloning.
read more
Abstract: The activities of copy and paste fragments of code from a source code into the other source code, with or without modification, are known as the code cloning. The process is often done by software developers because it's easier than generate code manually. In the other hand, this behavior leads to the increasing of effort to maintenance the code. Research on detecting the presence of cloning has been done. Detection of cloned semantically is a detection method that still needs a deepening. One of the detection methods of semantic cloning is based on the behavior of the code. The code behavior detected by looking at input, output and the effects of the method. Methods with the same input, output and effect will show that the function of the method is the same. However, the detection method based on input, output and effect could not be used in a void method and method without parameters. There is no explanations about input, output and effect in that kind of methods. In this case, the solution is needed to find the input, output and the effects of the method. This research is a concern on how to find an input, output and effect in void and non-parameterized method. Detection of input, output and effects done using PDG (Program Dependence Graph). The result is used to reconstruct void and non-parameterizes method. Trial is performed on each method (without exception) using random input data to get the behavior methods. Trial is done using small size source code from jDraw. From the result of the trial process, can be concluded that semantic clone detection using the methods behavior approach is sound very promising. This method can also detect type 1, type 2 and type 3 clone beside the semantic clone itself with an accuracy about 89%.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
To enhance the code clone detection algorithm by using hybrid approach for detection of code clones
Roopam,Gurpreet Singh +1 more
- 01 Jun 2017
TL;DR: The enhancement in code clone detection algorithm has been proposed which detects code clones by HYBRID approach that is combination of program dependency graph and Metric based clone detection techniques.
18
•Posted Content
A Survey on the Evaluation of Clone Detection Performance and Benchmarking.
TL;DR: This paper begins by surveying the clone detection benchmarks, and performing a multi-faceted evaluation and comparison of their features and capabilities, and finds that evaluation is poor amongst the authors.
10
Behavioral Analysis for Detecting Code Clones
Bayu Priyambadha,Siti Rochimah +1 more
TL;DR: The activities of copy and paste fragments of code from a source code into the other source code is often done by software developers because it's easier than generate code manually and this behavior leads to the increase of effort to maintain the code.
1
An empirical study on how project context impacts on code cloning
TL;DR: The main conclusion obtained from the study is that, while the number of commits and committers and the system size do not significantly affect cloning, larger commits lead to a higher cloning ratio, thus enabling a software quality improvement.
References
•Book
Refactoring: Improving the Design of Existing Code
Martin Fowler
- 01 Jan 1999
TL;DR: Almost every expert in Object-Oriented Development stresses the importance of iterative development, but how do you add function to the existing code base while still preserving its design integrity?
The program dependence graph and its use in optimization
TL;DR: An intermediate program representation, called the program dependence graph (PDG), that makes explicit both the data and control dependences for each operation in a program, allowing transformations to be triggered by one another and applied only to affected dependences.
The program Dependence Graph and its Use in Optimization
Jeanne Ferrante,Karl J. Ottenstein,Joe D. Warren +2 more
- 17 Apr 1984
TL;DR: An intermediate program representation, called a program dependence graph or PDG, which summarizes not only the data dependences of each operation but also summarizes the control dependence of the operations, which allows transformations such as vectorization to be performed in a manner which is uniform for both data and control dependence.
Software clone detection: A systematic review
TL;DR: An extensive systematic literature review of software clones in general and software clone detection in particular calls for an increased awareness of the potential benefits of software clone management, and identifies the need to develop semantic and model clone detection techniques.
446
Quantifying the Effect of Code Smells on Maintenance Effort
TL;DR: To reduce maintenance effort, a focus on reducing code size and the work practices that limit the number of changes may be more beneficial than refactoring code smells.
363