Metric level based code clone detection using optimized code manager

  • Authors

    • Gundeep Kaur Chandigarh University
    • Sumit Sharma Chandigarh University
    2018-08-06
    https://doi.org/10.14419/ijet.v7i2.27.13763
  • Clone Detection, SVM, Functional Clones, Fitness Function.
  • Abstract

    Object-oriented programming today, is the main prototype in typical software development. Code Cloning defines generally, all through the designing and development of software systems. Detection can be based on Textual analysis, Lexical analysis, Syntax analysis, Semantic analysis, Hybrid analysis and Metric analysis. The major drawback of the present research is that it focuses more on fragments of copied code and does not focus on the aspect that the fragments of duplicated code are may be part of a larger replicated program structure. In this process, techniques take a lot of time and it creates complexity. In our research, a source code is then scanned for detecting various methods by adopting a “OPTIMIZED SVM ALGORITHM†and the method definitions are extracted and collected by means of a CLONE CODE and saved for further reference. To evaluate the performance parameters we calculate the LOC, the number of repetitions, and maximum and minimum LOC. To enhance the performance metrics precision recall, accuracy and reduce the error rate and time complexity

     

     

  • References

    1. [1] C.K. Roy, J.R. Cordy, A Survey on Software Clone Detection Research, TechnicalReport 2007-541, Queen’s University at Kingston Ontario, Canada, 2007, p. 115.

      [2] G. Kaur, "The Survey of the Code Clone Detection Techniques and Process with Types (I, II, III and IV)", International Journal on Future Revolution in Computer Science & Communication Engineering, vol. 4, no. 2, pp. 392-399, 2018.

      [3] A. Sheneamer and J. Kalita, “Semantic Clone Detection Using Machine Learning,†2016 15th IEEE International Conference on Machine Learning and Applications (ICMLA), 2016.

      [4] B. A. Kitchenham, S. Charters, Guidelines for performing systematic literature reviews in software engineering. Technical Report EBSE- 2007-01, School of Computer Science and Mathematics, KeeleUniversity, Keele and Department of Computer Science, University of Durham, Durham, UK, 2007, p.65.

      [5] T. Kamiya, S. Kusumoto, K. Inoue, CCFinder: A multi linguistic tokenbasedcode clone detection system for Large-scale source code, IEEETransactions on Software Engineering 28 (7) (2002) 654–670.

      [6] BellonS et.al. Comparison and evaluation of clone detection tools. IEEE Transactions on Software Engineering vol33 (9) (2007), pp.577- 591.

      [7] “Software clone detection: A systematic reviewâ€Dhavleesh Rattan, Rajesh Bhatia, Maninder Singh.Information and Software Technology,Volume 55,Issue 7, July 2013, Pages 1165–1199.

      [8] S. Ducasse, M. Rieger, S. Demeyer, A language independent approach for detecting duplicated code, in: Proceedings of the 15th International Conference on Software Maintenance (ICSM’99), Oxford, England, UK, 1999, pp. 109–119.

      [9] G. M. K. Selim, K. C. Foo and Y. Zou. “Enhancing Source-Based CloneDetection Using Intermediate Representationâ€, Proc. WCRE, 2010, pp.227-236.

      [10] S. Lee, I. Jeong, SDD: High performance code clone detection system for large scale source code, in: Proceedings of the Object Oriented Programming Systems Languages and Applications Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications (OOPSLA Companion ’05), San Diego, CA, USA, 2005, pp.140–141.

      [11] Roy CK, Cordy JR, Koschke R. Comparison and evaluation of clonedetection techniques and tools: A qualitative approach. Science ofComputer Programming 2009; 74:470–495.

      [12] Patenaude, J-F, Ettore Merlo, Michel Dagenais, & Bruno Laguë, (1999) "Extending Software Quality Assessment Techniques to Java Systems", 7th International Workshop on Program Comprehension (IWPC'99), pp 49-56

      [13] K. Kontogiannis, R. Demori, E. Merlo, M. Galler, M. Bernstein, Pattern matching for clone and concept detection, Automated Software Engineering 3 (1–2) (1996).pp.77–108.

      [14] Roy CK, Cordy JR. A survey on software clone detection research. TR2007-541, Queen’s School of Computing, 2007; 115.

      [15] K. Kontogiannis, R. Demori, E. Merlo, M. Galler, M. Bernstein, Pattern matching for clone and concept detection, Automated Software Engineering 3 (1–2) (1996).pp.77–108.

      [16] Kodhai, E., &Kanmani, S. (2016). Method-level incremental code clone detection using hybrid approach. International Journal of Computer Applications in Technology, 54(4), 279-289.

      [17] Sn. Göde and R. Koschke, "Incremental Clone Detection", 2009 13th European Conference on Software Maintenance and Reengineering, 2009.

      [18] Jadon, S. (2016, April). Code clones detection using machine-learning technique: Support vector machine. In Computing, Communication and Automation (ICCCA), 2016 International Conference on (pp. 399-303).IEEE.

      [19] A Novel Metrics Based Technique for Code Clone Detection", International Journal of Engineering and Computer Science, 2016.

      [20] Y. Higo and S. Kusumoto, "Code Clone Detection on Specialized PDGs with Heuristics", 2011 15th European Conference on Software Maintenance and Reengineering, 2011.

      [21] K. Rajakumari and T. Jebarajan, "A novelapproach to effective detection and analysis of code clones", Third International Conference on Innovative Computing Technology (INTECH 2013), 2013.

      [22] Yuan, Yang, and Yao Guo. "Boreas: an accurate and scalable token-based approach to code clone detection." In Automated Software Engineering (ASE), 2012 Proceedings of the 27th IEEE/ACM International Conference on, pp. 286-289. IEEE, 2012.

      [23] Yu, D., Wang, J., Wu, Q., Yang, J., Wang, J., Yang, W., & Yan, W. (2017, July). Detecting Java Code Clones with Multi-granularities Based on Bytecode. In Computer Software and Applications Conference (COMPSAC), 2017 IEEE 41st Annual (Vol. 1, pp. 317-326). IEEE.

      [24] Dang, Y., Zhang, D., Ge, S., Huang, R., Chu, C., &Xie, T. (2017, May). Transferring code-clone detection and analysis to practice. In Proceedings of the 39th International Conference on Software Engineering: Software Engineering in Practice Track (pp. 53-62). IEEE Press.

      [25] Sheneamer, Abdullah, and JugalKalita. "Code clone detection using coarse and fine-grained hybrid approaches." In Intelligent Computing and Information Systems (ICICIS), 2015 IEEE SeventhInternationalConferenceon, pp.472- 480. IEEE, 2015.

      [26] Fradkin, D., &Muchnik, I. (2006). Support vector machines for classification. DIMACS Series in Discrete Mathematics and Theoretical Computer Science, 70, 13-20.

      [27] B. Joshi, P. Budhathoki, W. Woon and D. Svetinovic, "Software Clone Detection Using Clustering Approach", Neural Information Processing, pp. 520-527, 2015.

      [28] Ju C, Guo F (2010) a distributed data-mining model based on support vector machines DSVM [J]. 30(10):1855–1863.

      [29] Fuguang Wang, Ketai He, Ying Liu, Li Li and Xiaoguang Hu, "Research on the selection of kernel function in SVM based facial expression recognition", 2013 IEEE 8th Conference on Industrial Electronics and Applications (ICIEA), 2013.

      [30] Zhu S, Zhang R (2008) Research for selection of kernel function used in support vector machine [J]. SciTechnolEng 8(16):4513–4517.

      [31] Karaboga, Dervis, and BahriyeBasturk. "On the performance of artificial bee colony (ABC) algorithm." Applied soft computing eight, no. 1 (2008), pp. 687-697.

      [32] A. Beger, "Precision-Recall Curves", SSRN Electronic Journal, 2016.

      [33] M. Buckland and F. Gey, "The relationship between Recall and Precision", Journal of the American Society for Information Science, vol. 45, no. 1, pp. 12-19, 1994.

  • Downloads

  • How to Cite

    Kaur, G., & Sharma, S. (2018). Metric level based code clone detection using optimized code manager. International Journal of Engineering & Technology, 7(2.27), 144-149. https://doi.org/10.14419/ijet.v7i2.27.13763

    Received date: 2018-06-06

    Accepted date: 2018-06-09

    Published date: 2018-08-06