Abstract
As Code Clones are defined on the notion of similarity in code fragments, it is necessary to first know what a code is meant by in accordance with Code Clones. A Source Code Fragment, which is a sequence of source code lines, is the basic entity that is used to analyze similarity/relation between Code Clones. For analysis, removal, avoidance, and management of Code Clones we have to first detect clones in software systems. There are more than 40 clone detection tools that implement some clone detection techniques to detect clones, but it is not well-defined what could be the appropriate minimum threshold for Clone length and with which unit of estimation. This paper, on the basis of Code Clone literature, presents different Units of Measurement of Clone Size and a comprehensive review of minimum Clone Size based on a particular technique used in Clone Detection and also argues that a unique Unit of Measurement and Minimum Clone Size should be presented.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Baxter, I.D., Yahin, A., Moura, L., Anna, M.S., Bier, L.: Clone detection using abstract syntax tree. In: Proceedings of 14th International Conference on Software Maintenance (ICSM’98), Bethesda, Mayland (1998)
Koschke, R.: Survey of research on software clones. In: Dagstuhl Seminar Proceedings 06301: duplication, Redundancy, and Similarity in Software (Dagstuhl 2007) (2007)
Zibran, M.F., Roy, C.K.: The road to software clone management: a survey (2012)
Walenstein, A.: Similarity in programs. In: Dagstuhl Seminar Proceedings 06301: Duplication, Redundancy, and Similarity in Software (Dagstuhl 2007) (2007)
Roy, C.K., Cordy, J., Koschke, R.: Comparison and evaluation of code clone detection techniques and tools: a quantitative approach. Sci. Comput. Progr. 74(7), 470–495 (2009)
Bellon, S., Koschke, R., Antoniol, G., Krinke, J., Merlo, E.: Comparision and evaluation of clone detection tools. IEEE Trans. Softw. Eng. 33(9), 577–591 (2007)
Roy, C.K., Cordy, J.R.: A survey on software clone detection research. Qween’s University, Kingston (2007)
Giesecke, S.: Generic modelling of code clones. In: Dagstuhl Seminar Proceedings 06301: Duplication, Redundancy, and Similarity in Software (Dagstuhl 2007) (2007)
Juergens, E., Deissenboeck, F., Hummel, B., Wagner, S.: Do code clone matter? In: Proceedings of 31st International Conference on Software Engineering ICSE 2009, Vancouver, BC (2009)
Kamiya, T., Kusumoto, S., Inoue, K.: CCFinder: a multilinguistic token-based code clone detection system for large scale source code. IEEE Trans. Softwa. Eng. 28(7), 654–670 (2002)
Kapser, C.J., Godfrey, M.W.: Supporting the analysis of clones in software systems: a case study. In: IEEE International Conference on Software Maintenance ICSM 2005 (2005)
Kim, M., Murphy, G.: An empirical study of code clone genealogies. In: Proceedings of the 10th European Software Engineering Conference (ESEC) held jointly with 13th ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE-13) ESEC/SIGSOFT FSE 2005 (Lisbon 2005) (2005)
Li, Z., Lu, S., Myagmar, S., Zohu, Y.: CP-Miner: finding copy paste and related bugs in large scale Software Code. IEEE Trans. Softw. Eng. 32(3), 176–192 (2006)
Baker, B.: On finding duplication and near duplication in large software systems. In: Proceedings of the 2nd Working Conference on Reverse Engineering (WCRE’95) (1995)
Jonson, J.: Substring matching for clone detection and change tracking. In: Proceedings of International Conference on Software Maintenance ICSM’94, Victoria, BC (1994)
Komondoor, R., Horwitz, S.: Using slicing to identify duplication in source code. In: Proceedings of 8th International Symposium on Static Analysis SAS 2001, Paris (2001)
Krinke, J.: Identifying similar code with program dependence graphs. In: Proceedings of the 8th Working Conference on Reverse Engineering (WCRE’01), Stuttgart (2001)
Komondoor, R., Horwitz, S.: Effective, automatic procedure extraction. In: Proceedings of the 11th IEEE International Workshop on Program Comprehension IWPC 2003, Portland (2003)
Mayrand, J., Leblane, C., Merlo, E.: Experiment on the automatic detection of function clones in a software systems using metrics. In: Proceedings of International Conference on Software Maintenance (IWSM’96), Monterey (1996)
Lague, B., Proulx, D., Mayrand, J., Merlo, E.M., Hudepohl, J.: Assessing the benefits of incorporating function clone detection in a development process
Jiang, Z.M., Hassan, A.E., Holt, R.C.: Visualizing clone cohesion and coupling. In: XIII Asia Pacific Software Engineering Conference APSEC 2006, Bangalore (2006)
Higo, Y., Kamiya, T., kusumoto, S., Inoue, K.: Method and implementation for investigating code clones in a software system. Inf. Softw. Technol. 49(5), 985–998 (2006)
Gode, N., Hummel, B., Juergens, E.: What clone coverage can tell. In: Proceedings of 6th International Workshop on Software Clones IWSC 2012, Zurich (2012)
Acknowledgements
We would like to thank University Grants Commission, a statutory body of Govt. of India for offering the financial support for this research in the form of Rajiv Gandhi National Senior Research Fellowship to the first author and also would like to thank Guru Nanak Dev University (Department of Computer Science), Amritsar for the scholastic and infrastructural support towards the current research work.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Bharti, S., Singh, H. (2020). Comprehending Code Fragment in Code Clones: A Literature-Based Perspective. In: Singh, P., Kar, A., Singh, Y., Kolekar, M., Tanwar, S. (eds) Proceedings of ICRIC 2019 . Lecture Notes in Electrical Engineering, vol 597. Springer, Cham. https://doi.org/10.1007/978-3-030-29407-6_56
Download citation
DOI: https://doi.org/10.1007/978-3-030-29407-6_56
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-29406-9
Online ISBN: 978-3-030-29407-6
eBook Packages: EngineeringEngineering (R0)