Skip to main content

Part of the book series: Algorithms for Intelligent Systems ((AIS))

  • 704 Accesses

Abstract

Code clones are defined as identical or similar program structures that are created by copy-paste or modifying existing codes. They are acquainted with software systems due to the lack of programming skills, time restrictions, and other different constraints on the system as well as on the programming languages. Detection of code clones has many benefits in software development such as decreased maintenance cost, improved software quality, and simple settlements of new changes. In this paper, we have explored different code clone detection techniques and figure out their pros and cons. It assists in understanding the clone detection process and choosing appropriate techniques for detecting possible types of clones whose detection can help in the refactoring and maintenance processes.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 169.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 219.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 219.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Nurmuliani N, Zowghi D, Powell S (2004) Analysis of requirements volatility during software development life cycle. In: 2004 Australian software engineering conference. IEEE, pp 28–37. https://doi.org/10.1109/ASWEC.2004.1290455

  2. Roy CK, Cordy JR (2007) A survey on software clone detection research, vol 541, issue no. 115. Technical Report 541, Queen’s University at Kingston, pp 64–68

    Google Scholar 

  3. Rattan D, Bhatia R, Singh M (2013) Software clone detection: a systematic review. Inf Softw Technol 55(7):1165–1199

    Article  Google Scholar 

  4. Kodhai E, Kanmani S (2014) Method-level code clone detection through LWH (Light Weight Hybrid) approach. J Softw Eng Res Dev 2(1):1–29. https://doi.org/10.1186/s40411-014-0012-8

    Article  Google Scholar 

  5. Tsantalis N, Krishnan GP (2013) Refactoring clones: a new perspective. In: 7th international workshop on software clones. IEEE, pp 12–13. https://doi.org/10.1109/IWSC.2013.6613035

  6. Kamiya T, Kusumoto S, Inoue K (2002) CCFinder: a multilinguistic token-based code clone detection system for large scale source code. IEEE Trans Softw Eng 28(7):654–670. https://doi.org/10.1109/TSE.2002.1019480

    Article  Google Scholar 

  7. Li Z, Lu S, Myagmar S, Zhou Y (2006) CP-Miner: finding copy-paste and related bugs in large-scale software code. IEEE Trans Softw Eng 32(3):176–192. https://doi.org/10.1109/TSE.2006.28

    Article  Google Scholar 

  8. Lingxiao J, Misherghi G, Zhendong S, Glondu S (2007) DECKARD: scalable and accurate tree-based detection of code clones. In: 29th international conference on software engineering (ICSE), pp 96–105. https://doi.org/10.1109/ICSE.2007.30

  9. Roy CK, Cordy JR (2009) Near-miss function clones in open source software: an empirical study. J Softw Maintenance Evolu Res Pract 22(3):165–189. https://doi.org/10.1002/smr.416

    Article  Google Scholar 

  10. Sajnani H, Saini V, Svajlenko J, Roy CK, Lopes CV (2016) SourcererCC: scaling code clone detection to big-code. In: Proceedings of the 38th international conference on software engineering. ACM Press, New York, New York, USA, pp 1157–1168. https://doi.org/10.1145/2884781.2884877

  11. Li L, Feng H, Zhuang W, Meng N, Ryder B (2017) CCLearner: a deep learning-based clone detection approach. In: 2017 IEEE international conference on software maintenance and evolution (ICSME). IEEE, pp 249–260. https://doi.org/10.1109/ICSME.2017.46

  12. Yang Y, Ren Z, Chen X, Jiang H (2018) Structural function based code clone detection using a new hybrid technique. In: 42nd Annual computer software and applications conference, vol 1. IEEE, pp 286–291. https://doi.org/10.1109/COMPSAC.2018.00045

  13. Wang P, Svajlenko J, Wu Y, Xu Y, Roy CK (2018) CCAligner. In: Proceedings of the 40th international conference on software engineering. ACM Press, New York, New York, USA, pp 1066–1077. https://doi.org/10.1145/3180155.3180179

  14. Luan S, Yang D, Barnaby C, Sen K, Chandra S (2019) Aroma: code recommendation via structural code search. Proc ACM Program Lang 3:1–28. https://doi.org/10.1145/3360578

    Article  Google Scholar 

  15. Singh MK, Kumar K (2020) Scalable and accurate detection of function clones in software using multithreading. In: Jarzabek S, Poniszewska-Marańda A, Madeyski L (eds) Integrating research and practice in software engineering. Springer International Publishing, Cham, pp 31–41. https://doi.org/10.1007/978-3-030-26574-8_3

  16. Mayrand J, Leblanc C, Merlo E (1996) Experiment on the automatic detection of function clones in a software system using metrics. In: International conference on software maintenance, vol 96. IEEE, pp 244–253. https://doi.org/10.1109/ICSM.1996.565012

  17. Basit HA, Jarzabek S (2009) A data mining approach for detecting higher-level clones in software. IEEE Trans Softw Eng 35(4):497–514. https://doi.org/10.1109/tse.2009.16

    Article  Google Scholar 

  18. Marcus A, Maletic JI (2001) Identification of high-level concept clones in source code. In: Proceedings of 16th annual international conference on automated software engineering. IEEE, pp 107–114. https://doi.org/10.1109/ASE.2001.989796

  19. Kapser CJ, Godfrey MW (2006) Supporting the analysis of clones in software systems. J Softw Maintenance Evol Res Pract 18(2):61–82. https://doi.org/10.1002/smr.327

    Article  Google Scholar 

  20. Bellon S, Koschke R, Antoniol G, Krinke J, Merlo E (2007) Comparison and evaluation of clone detection tools. IEEE Trans Softw Eng 33(9):577–591. https://doi.org/10.1109/TSE.2007.70725

    Article  Google Scholar 

  21. Koschke R (2007) Survey of research on software clones, Internat. Begegnungs-und Forschungszentrum für Informatik

    Google Scholar 

  22. Pati J, Kumar B, Manjhi D, Shukla KK (2017) A comparison among ARIMA, BP-NN, and Moga-NN for software clone evolution prediction. IEEE Access 5:11841–11851. https://doi.org/10.1109/ACCESS.2017.2707539

    Article  Google Scholar 

  23. Kim M, Sazawal V, Notkin D (2005) An empirical study of code clone genealogies. In: European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering (ESEC/FSE-13). ACM, pp 187–196. https://doi.org/10.1145/1081706.1081737

  24. Thummalapenta S, Cerulo L, Aversano L, Di Penta M (2010) An empirical study on the maintenance of source code clones. Empirical Softw Eng 15(1):1–34. https://doi.org/10.1007/s10664-009-9108-x

    Article  Google Scholar 

  25. Bakota T, Ferenc R, Gyimóthy T (2007) Clone smells in software evolution. In: IEEE international conference on software maintenance (ICSM). IEEE, pp 24–33. https://doi.org/10.1109/ICSM.2007.4362615

Download references

Acknowledgements

This work has been supported by a research grant from the Science and Engineering Research Board (SERB), Department of Science and Technology, Government of India under the Early Career Research Award Scheme.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Utkarsh Singh .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd.

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Singh, U., Kumar, K., Gupta, D. (2021). A Study of Code Clone Detection Techniques in Software Systems. In: Dave, M., Garg, R., Dua, M., Hussien, J. (eds) Proceedings of the International Conference on Paradigms of Computing, Communication and Data Sciences. Algorithms for Intelligent Systems. Springer, Singapore. https://doi.org/10.1007/978-981-15-7533-4_27

Download citation

  • DOI: https://doi.org/10.1007/978-981-15-7533-4_27

  • Published:

  • Publisher Name: Springer, Singapore

  • Print ISBN: 978-981-15-7532-7

  • Online ISBN: 978-981-15-7533-4

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics