Behavioral Analysis for Detecting Code Clones

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. This behavior leads to the increase of effort to maintain the code. One of the detection methods of semantic cloning is based on the behavior of the code. The code behavior detected by observing at an input, output and the effects of the method. Methods with the same value of input, output, and effect will indicate that semantically the same. However, the detection method based on the input, output, and effect could not be used in a void method or method without parameters, another side comprehensively detection is required. The challenge is how to detect which variable in a method that acts as input, output, and effect. Detection of the variable input, output, and effects in a void method done using Program Dependence Graph. The use of clone detection methods semantically based on behavior can increase the agreement value.

[1]  Iman Keivanloo,et al.  Semantic-Enabled Clone Detection , 2013, 2013 IEEE 37th Annual Computer Software and Applications Conference.

[2]  Audris Mockus,et al.  Quantifying the Effect of Code Smells on Maintenance Effort , 2013, IEEE Transactions on Software Engineering.

[3]  Mohsen Rahmani,et al.  Recommender System Based on Semantic Similarity , 2013 .

[4]  Ying Zou,et al.  An Empirical Study on Inconsistent Changes to Code Clones at Release Level , 2009, 2009 16th Working Conference on Reverse Engineering.

[5]  Bayu Priyambadha,et al.  Case study on semantic clone detection based on code behavior , 2014, 2014 International Conference on Data and Software Engineering (ICODSE).

[6]  Mauricio A. Saca Refactoring improving the design of existing code , 2017, 2017 IEEE 37th Central America and Panama Convention (CONCAPAN XXXVII).

[7]  J. Sim,et al.  The kappa statistic in reliability studies: use, interpretation, and sample size requirements. , 2005, Physical therapy.

[8]  Michel Wermelinger,et al.  Assessing the effect of clones on changeability , 2008, 2008 IEEE International Conference on Software Maintenance.

[9]  Zhendong Su,et al.  Scalable detection of semantic clones , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[10]  Gary T. Leavens,et al.  JSCTracker : A Semantic Clone Detection Tool for Java Code , 2012 .

[11]  Zhendong Su,et al.  Automatic mining of functionally equivalent code fragments via random testing , 2009, ISSTA.

[12]  Rochelle Elva,et al.  Detecting Semantic Method Clones In Java Code Using Method Ioe-behavior , 2013 .

[13]  Zhendong Su,et al.  Context-based detection of clone-related bugs , 2007, ESEC-FSE '07.

[14]  Heng Xu,et al.  Design and Implementation for Ontology Modeling of Design Knowledge Based on UML Class Diagram , 2016 .

[15]  Maninder Singh,et al.  Software clone detection: A systematic review , 2013, Inf. Softw. Technol..

[16]  J. R. Landis,et al.  The measurement of observer agreement for categorical data. , 1977, Biometrics.

[17]  Gary T. Leavens,et al.  Semantic clone detection using method IOE-behavior , 2012, 2012 6th International Workshop on Software Clones (IWSC).