CFP last date
22 April 2024
Reseach Article

Literature Survey of Software Clones

by Vishwachi, Sonam Gupta
International Journal of Computer Applications
Foundation of Computer Science (FCS), NY, USA
Volume 153 - Number 4
Year of Publication: 2016
Authors: Vishwachi, Sonam Gupta
10.5120/ijca2016911996

Vishwachi, Sonam Gupta . Literature Survey of Software Clones. International Journal of Computer Applications. 153, 4 ( Nov 2016), 1-7. DOI=10.5120/ijca2016911996

@article{ 10.5120/ijca2016911996,
author = { Vishwachi, Sonam Gupta },
title = { Literature Survey of Software Clones },
journal = { International Journal of Computer Applications },
issue_date = { Nov 2016 },
volume = { 153 },
number = { 4 },
month = { Nov },
year = { 2016 },
issn = { 0975-8887 },
pages = { 1-7 },
numpages = {9},
url = { https://ijcaonline.org/archives/volume153/number4/26388-2016911996/ },
doi = { 10.5120/ijca2016911996 },
publisher = {Foundation of Computer Science (FCS), NY, USA},
address = {New York, USA}
}
%0 Journal Article
%1 2024-02-06T23:58:12.296299+05:30
%A Vishwachi
%A Sonam Gupta
%T Literature Survey of Software Clones
%J International Journal of Computer Applications
%@ 0975-8887
%V 153
%N 4
%P 1-7
%D 2016
%I Foundation of Computer Science (FCS), NY, USA
Abstract

Code cloning is the procedure where the developers reuse the code fragments implementing the paste option. They may or may not make the modification in the source code. The code thus developed after copying is known as clone. It is the synonym of duplicate. In the year 2002, Ira Baxter coined the term clones as the segments of code that are similar according to some definition of similarity. The similarity can be based on text, syntactic or semantic. Studies have revealed that almost 10-15% of the source code in large software are part of single or more clones[1]. Clones have adverse impact on the software maintenance, thus identification of clones is beneficial. In the past decade many tools have been developed to detect the clones but none was able to correctly identify all types of clones. In this paper the literature survey of all the clone detection techniques has been done. Along with this it also propose an approach which will use a combination of tree and token based approach in order to detect the code clones.

References
  1. Kodhai, Egambaram, and SelvaduraiKanmani. "Method-level code clone detection through LWH (Light Weight Hybrid) approach." Journal of Software Engineering Research and Development 2.1 (2014): 1.
  2. Sonam Gupta, Dr. P.C Gupta, Clones: A Survey, International Journal of Computer Science and Technology 2012
  3. Koschke, Rainer. "Survey of research on software clones." Dagstuhl Seminar Proceedings.SchlossDagstuhl-Leibniz-ZentrumfürInformatik, 2007.
  4. Singh, Gurvinder, and Jahid Ali. "A Novel Composite Approach for Software Clone Detection." International Journal of Computer Applications 126.7 (2015).
  5. Singh, Manu, and Vidushi Sharma. "Detection of File Level Clone for High Level Cloning." Procedia Computer Science 57 (2015): 915-922.
  6. Tairas, Robert, and Jeff Gray. "Increasing clone maintenance support by unifying clone detection and refactoring activities." Information and Software Technology 54.12 (2012): 1297-1307.
  7. Rattan, Dhavleesh, Rajesh Bhatia, and Maninder Singh. "Software clone detection: A systematic review." Information and Software Technology 55.7 (2013): 1165-1199.
  8. Basit, Hamid Abdul, and Stan Jarzabek. "A data mining approach for detecting higher-level clones in software." IEEE Transactions on Software engineering 35.4 (2009): 497-514.
  9. Al-Omari, Farouq, et al. "Detecting clones across microsoft. net programming languages." 2012 19th Working Conference on Reverse Engineering.IEEE, 2012.
  10. Gupta, Sonam, and P. C. Gupta. "Algorithm to Detect Non-Contiguous Clones with High Precision." International Journal of Innovations in Engineering and Technology, Vol 5 Issue 1, February 2015.
  11. Gupta, Sonam, and P. C. Gupta. "A Novel Approach to Detect Duplicate Code Blocks to Reduce Maintenance Effort." International Journal of Advanced Computer Science & Applications 1.7 (2016): 311-314.
  12. Gupta, Sonam, and P. C. Gupta. "International Journal of Software and Web Sciences (IJSWS) www.iasir. net." International Journal of Software and Web Sciences (2015): 65.
  13. Chatterji, Debarshi, Jeffrey C. Carver, and Nicholas A. Kraft. "Code clones and developer behavior: results of two surveys of the clone research community." Empirical Software Engineering (2015): 1-33.
  14. Kanagalakshmi, K., and R. Suguna. "Software Refactoring Technique for Code Clone Detection of Static and Dynamic Website.”
  15. Kapser, Cory J., and Michael W. Godfrey. "Supporting the analysis of clones in software systems." Journal of Software Maintenance and Evolution: Research and Practice 18.2 (2006): 61-82.
  16. Kapser, Cory, and Michael W. Godfrey. "" Cloning considered harmful" considered harmful." 2006 13th Working Conference on Reverse Engineering.IEEE, 2006.
  17. Wettel, Richard, and RaduMarinescu. "Archeology of code duplication: Recovering duplication chains from small duplication fragments." Seventh International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC'05). IEEE, 2005.
  18. Lee, Seunghak, and IryoungJeong. "SDD: high performance code clone detection system for large scale source code." Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications.ACM, 2005.
  19. Kamiya, Toshihiro, Shinji Kusumoto, and Katsuro Inoue. "CCFinder: a multilinguistic token-based code clone detection system for large scale source code." IEEE Transactions on Software Engineering 28.7 (2002): 654-670.
  20. Basit, Hamid Abdul, Damith C. Rajapakse, and Stan Jarzabek. "Beyond templates: a study of clones in the STL and some general implications."Proceedings of the 27th international conference on Software engineering.ACM, 2005.
  21. Mayrand, Jean, Claude Leblanc, and Ettore M. Merlo. "Experiment on the automatic detection of function clones in a software system using metrics."Software Maintenance 1996, Proceedings., International Conference on. IEEE, 1996.
  22. Patenaude, J-F., et al. "Extending software quality assessment techniques to java systems." Program Comprehension, 1999.Proceedings.Seventh International Workshop on.IEEE, 1999.
  23. Nguyen, Tung Thanh, et al. "Scalable and incremental clone detection for evolving software." Software Maintenance, 2009.ICSM 2009.IEEE International Conference on.IEEE, 2009.
  24. Komondoor, Raghavan, and Susan Horwitz. "Using slicing to identify duplication in source code." International Static Analysis Symposium.Springer Berlin Heidelberg, 2001.
  25. Higo, Yoshiki, and Shinji Kusumoto. "Code clone detection on specialized PDGs with heuristics." Software Maintenance and Reengineering (CSMR), 2011 15th European Conference on. IEEE, 2011.
  26. Baxter, Ira D., et al. "Clone detection using abstract syntax trees." Software Maintenance, 1998.Proceedings., International Conference on. IEEE, 1998.
  27. Tool SimScanhttp://www.blue-edge.bg/download.html
  28. Project Bauhaus http://www.bauhuas-struggart.de
  29. Koschke, Rainer, RaimarFalke, and Pierre Frenzel. "Clone detection using abstract syntax suffix trees." 2006 13th Working Conference on Reverse Engineering.IEEE, 2006.
  30. Roy, Chanchal K., and James R. Cordy. "NICAD: Accurate detection of near-miss intentional clones using flexible pretty-printing and code normalization."Program Comprehension, 2008.ICPC 2008.The 16th IEEE International Conference on.IEEE, 2008.
  31. Roy, Chanchal K. "Detection and analysis of near-miss software clones."Software Maintenance, 2009.ICSM 2009.IEEE International Conference on.IEEE, 2009.
  32. Barbour, Liliane, Hao Yuan, and Ying Zou. "A technique for just-in-time clone detection in large scale systems." Program Comprehension (ICPC), 2010 IEEE 18th International Conference on.IEEE, 2010.
  33. Roy, Chanchal K., and James R. Cordy. "Are scripting languages really different?." Proceedings of the 4th International Workshop on Software Clones. ACM, 2010.
  34. Martin, Douglas, and James R. Cordy. "Analyzing web service similarity using contextual clones." Proceedings of the 5th International Workshop on Software Clones. ACM, 2011.
  35. Gupta, Sonam, and P. C. Gupta. "Literature survey of clone detection techniques." International Journal of Computer Applications 99.3 (2014): 41-44.
  36. Brenda S. Baker. A Program for Identifying Duplicated Code. In Proceedings of Computing Science and Statistics: 24th Symposium on the Interface, Vol. 24:4957, March 1992.
  37. Brenda S. Baker. Parameterized diff.In Proceedings of the 10th ACM-SIAM Symposium on Discrete Algorithms (SODA’99), pp. 854-855, Baltimore, Maryland, USA, January 1999.
  38. Brenda S. Baker. On Finding Duplication in Strings and Software.Journal of Algorithms, 1993.
  39. Cordy, James R., Thomas R. Dean, and Nikita Synytskyy. "Practical language-independent detection of near-miss clones." Proceedings of the 2004 conference of the Centre for Advanced Studies on Collaborative research. IBM Press, 2004.
  40. Monden, Akito, et al. "Software quality analysis by code clones in industrial legacy software." Software Metrics, 2002.Proceedings.Eighth IEEE Symposium on.IEEE, 2002.
  41. Nguyen, Tung Thanh, et al. "Scalable and incremental clone detection for evolving software." Software Maintenance, 2009.ICSM 2009.IEEE International Conference on.IEEE, 2009.
  42. Kawaguchi, Shinji, et al. "Shinobi: A tool for automatic code clone detection in the ide." 2009 16th Working Conference on Reverse Engineering.IEEE, 2009.
  43. Perumal, A., Kanmani, S., &Kodhai, E. (2010, September). Extracting the similarity in detected software clones using metrics. In Computer and Communication Technology (ICCCT), 2010 International Conference on (pp. 575-579). IEEE.
  44. Li, Z. O., & Sun, J. (2010, April). A metric space based software clone detection approach. In Information Management and Engineering (ICIME), 2010 The 2nd IEEE International Conference on (pp. 393-397). IEEE.
  45. Lavoie, T., Eilers-Smith, M., & Merlo, E. (2010, May). Challenging cloning related problems with GPU-based algorithms.In Proceedings of the 4th International Workshop on Software Clones (pp. 25-32).ACM.
  46. Jiang, L., Misherghi, G., Su, Z., &Glondu, S. (2007, May). Deckard: Scalable and accurate tree-based detection of code clones. In Proceedings of the 29th international conference on Software Engineering (pp. 96-105).IEEE Computer Society.
  47. Tairas, R., & Gray, J. (2010, March). Sub-clone refactoring in open source software artifacts. In Proceedings of the 2010 ACM Symposium on Applied Computing (pp. 2373-2374).ACM.
  48. Evans, W. S., Fraser, C. W., & Ma, F. (2009). Clone detection via structural abstraction. Software Quality Journal, 17(4), 309-330.
  49. Duala-Ekoko, E., &Robillard, M. P. (2008, May). Clonetracker: tool support for code clone management. In Proceedings of the 30th international conference on Software engineering (pp. 843-846).ACM.
  50. Maeda, K. (2009). Syntax sensitive and language independent detection of code clones. World Academy of Science, Engineering and Technology, 60, 350-354.
  51. Chilowicz, M., Duris, É.,&Roussel, G. (2009). Finding similarities in source code through factorization. Electronic Notes in Theoretical Computer Science, 238(5), 47-62.
Index Terms

Computer Science
Information Sciences

Keywords

Clones textual comparison LWH approach token based approach PDG approach metric comparison AST approach.