Code similarity detection through control statement and program features

•Methods to identify duplicate codes (code clones) are introduced.•All four types of clones can be identified.•Does not require external lexer or parser to process the code.•Less complex approach compared to AST and PDG based approaches. Software clone detection is an emerging research area in the f...

Full description

Saved in:
Bibliographic Details
Published inExpert systems with applications Vol. 132; pp. 63 - 75
Main Authors Sudhamani, M., Rangarajan, Lalitha
Format Journal Article
LanguageEnglish
Published New York Elsevier Ltd 15.10.2019
Elsevier BV
Subjects
Online AccessGet full text
ISSN0957-4174
1873-6793
DOI10.1016/j.eswa.2019.04.045

Cover

Abstract •Methods to identify duplicate codes (code clones) are introduced.•All four types of clones can be identified.•Does not require external lexer or parser to process the code.•Less complex approach compared to AST and PDG based approaches. Software clone detection is an emerging research area in the field of software engineering. Software systems are subjected to continuous modifications in source code to improve the performance of the software, which may lead to code redundancy. Duplicate code/code clone is a piece of code reworked several times in software programs due to copy paste activity or reusability of existing software. Code clone is a prime subject in software evolution. Detection of software clones at the time of software evolution may improve the performance of software and reduce the maintenance cost and effort. This paper proposes metric based methods to detect code clones, as software clone is a universal problem in large scale programming environment. This paper introduces two metric based approaches to detect code clones by comparing (i) Control Statement Features (ii) Program Features like different types of statements, operators and operands. In order to demonstrate the effectiveness of the proposed approaches, extensive experiments are conducted on two datasets, C projects of Bellon's benchmark dataset and student lab programs (SLP).The methods efficiently identify similar functional clones. Proposed models only find similarity of whole programs but intelligent enough to highlight similar code segments across program files.
AbstractList •Methods to identify duplicate codes (code clones) are introduced.•All four types of clones can be identified.•Does not require external lexer or parser to process the code.•Less complex approach compared to AST and PDG based approaches. Software clone detection is an emerging research area in the field of software engineering. Software systems are subjected to continuous modifications in source code to improve the performance of the software, which may lead to code redundancy. Duplicate code/code clone is a piece of code reworked several times in software programs due to copy paste activity or reusability of existing software. Code clone is a prime subject in software evolution. Detection of software clones at the time of software evolution may improve the performance of software and reduce the maintenance cost and effort. This paper proposes metric based methods to detect code clones, as software clone is a universal problem in large scale programming environment. This paper introduces two metric based approaches to detect code clones by comparing (i) Control Statement Features (ii) Program Features like different types of statements, operators and operands. In order to demonstrate the effectiveness of the proposed approaches, extensive experiments are conducted on two datasets, C projects of Bellon's benchmark dataset and student lab programs (SLP).The methods efficiently identify similar functional clones. Proposed models only find similarity of whole programs but intelligent enough to highlight similar code segments across program files.
Software clone detection is an emerging research area in the field of software engineering. Software systems are subjected to continuous modifications in source code to improve the performance of the software, which may lead to code redundancy. Duplicate code/code clone is a piece of code reworked several times in software programs due to copy paste activity or reusability of existing software. Code clone is a prime subject in software evolution. Detection of software clones at the time of software evolution may improve the performance of software and reduce the maintenance cost and effort. This paper proposes metric based methods to detect code clones, as software clone is a universal problem in large scale programming environment. This paper introduces two metric based approaches to detect code clones by comparing (i) Control Statement Features (ii) Program Features like different types of statements, operators and operands. In order to demonstrate the effectiveness of the proposed approaches, extensive experiments are conducted on two datasets, C projects of Bellon's benchmark dataset and student lab programs (SLP).The methods efficiently identify similar functional clones. Proposed models only find similarity of whole programs but intelligent enough to highlight similar code segments across program files.
Author Sudhamani, M.
Rangarajan, Lalitha
Author_xml – sequence: 1
  givenname: M.
  surname: Sudhamani
  fullname: Sudhamani, M.
  email: Sudhamanimrsh@compsci.uni-mysore.ac.in
– sequence: 2
  givenname: Lalitha
  surname: Rangarajan
  fullname: Rangarajan, Lalitha
  email: lalithar@Compsci.uni-mysore.ac.in
BookMark eNp9kE9LAzEQxYNUsFa_gKcFz7vm72YXvEhRKxS86DmkyWybpd3UJFX67c1STx4KA3N5v5n33jWaDH4AhO4Irggm9UNfQfzRFcWkrTDPIy7QlDSSlbVs2QRNcStkyYnkV-g6xh5jIjGWU7SYewtFdDu31cGlY2EhgUnOD0XaBH9YbwrjhxT8tohJJ9jBkAo92GIf_DroXdGBTocA8QZddnob4fZvz9Dny_PHfFEu31_f5k_L0jDapFIYBpJ1tKuZNkJrbSm2jArQjDOwtVh1NV4xQUA0VkisCeXENsIYzvOrls3Q_eluNvB1gJhU7w9hyC8VpbyVrBZCZFVzUpngYwzQKeOyfTdG0W6rCFZjb6pXY29q7E1hnmdE6T90H9xOh-N56PEEQY7-7SCoaBwMBqwLuU5lvTuH_wKcyopa
CitedBy_id crossref_primary_10_1109_ACCESS_2024_3484995
crossref_primary_10_1016_j_cola_2022_101177
crossref_primary_10_1016_j_jss_2023_111796
crossref_primary_10_1109_TSE_2020_3042553
crossref_primary_10_1108_IJPCC_06_2022_0236
crossref_primary_10_1007_s11219_022_09606_0
Cites_doi 10.1007/3-540-47764-0_3
10.1145/361598.361623
10.1002/spe.4380210706
10.1145/384266.299783
10.1007/BF00126960
10.1016/j.eswa.2013.07.106
10.26808/rs.ca.i8v2.02
10.1016/j.scico.2009.02.007
10.1145/360825.360861
10.7753/IJCATR0410.1003
10.1007/s10664-008-9076-6
10.1016/j.eswa.2017.12.040
10.1109/TSE.2007.70725
10.1109/TSE.2002.1019480
10.1109/TSE.2006.28
10.1007/s10664-011-9195-3
ContentType Journal Article
Copyright 2019 Elsevier Ltd
Copyright Elsevier BV Oct 15, 2019
Copyright_xml – notice: 2019 Elsevier Ltd
– notice: Copyright Elsevier BV Oct 15, 2019
DBID AAYXX
CITATION
7SC
8FD
JQ2
L7M
L~C
L~D
DOI 10.1016/j.eswa.2019.04.045
DatabaseName CrossRef
Computer and Information Systems Abstracts
Technology Research Database
ProQuest Computer Science Collection
Advanced Technologies Database with Aerospace
Computer and Information Systems Abstracts – Academic
Computer and Information Systems Abstracts Professional
DatabaseTitle CrossRef
Computer and Information Systems Abstracts
Technology Research Database
Computer and Information Systems Abstracts – Academic
Advanced Technologies Database with Aerospace
ProQuest Computer Science Collection
Computer and Information Systems Abstracts Professional
DatabaseTitleList
Computer and Information Systems Abstracts
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 1873-6793
EndPage 75
ExternalDocumentID 10_1016_j_eswa_2019_04_045
S0957417419302751
GroupedDBID --K
--M
.DC
.~1
0R~
13V
1B1
1RT
1~.
1~5
4.4
457
4G.
5GY
5VS
7-5
71M
8P~
9JN
9JO
AAAKF
AABNK
AACTN
AAEDT
AAEDW
AAIAV
AAIKJ
AAKOC
AALRI
AAOAW
AAQFI
AARIN
AAXUO
AAYFN
ABBOA
ABFNM
ABMAC
ABMVD
ABUCO
ABYKQ
ACDAQ
ACGFS
ACHRH
ACNTT
ACRLP
ACZNC
ADBBV
ADEZE
ADTZH
AEBSH
AECPX
AEKER
AENEX
AFKWA
AFTJW
AGHFR
AGJBL
AGUBO
AGUMN
AGYEJ
AHHHB
AHJVU
AHZHX
AIALX
AIEXJ
AIKHN
AITUG
AJOXV
ALEQD
ALMA_UNASSIGNED_HOLDINGS
AMFUW
AMRAJ
AOUOD
APLSM
AXJTR
BJAXD
BKOJK
BLXMC
BNSAS
CS3
DU5
EBS
EFJIC
EFLBG
EJD
EO8
EO9
EP2
EP3
F5P
FDB
FIRID
FNPLU
FYGXN
G-Q
GBLVA
GBOLZ
HAMUX
IHE
J1W
JJJVA
KOM
LG9
LY1
LY7
M41
MO0
N9A
O-L
O9-
OAUVE
OZT
P-8
P-9
P2P
PC.
PQQKQ
Q38
RIG
ROL
RPZ
SDF
SDG
SDP
SDS
SES
SPC
SPCBC
SSB
SSD
SSL
SST
SSV
SSZ
T5K
TN5
~G-
29G
AAAKG
AAQXK
AATTM
AAXKI
AAYWO
AAYXX
ABJNI
ABKBG
ABUFD
ABWVN
ABXDB
ACLOT
ACNNM
ACRPL
ACVFH
ADCNI
ADJOM
ADMUD
ADNMO
AEIPS
AEUPX
AFJKZ
AFPUW
AGQPQ
AIGII
AIIUN
AKBMS
AKRWK
AKYEP
ANKPU
APXCP
ASPBG
AVWKF
AZFZN
CITATION
EFKBS
FEDTE
FGOYB
G-2
HLZ
HVGLF
HZ~
R2-
SBC
SET
SEW
WUQ
XPP
ZMT
~HD
7SC
8FD
AFXIZ
AGCQF
AGRNS
JQ2
L7M
L~C
L~D
SSH
ID FETCH-LOGICAL-c328t-5c3e73f2f63ac5aaad20d325ea343ed65bf60b351e58d570a1241d85cc44fea93
IEDL.DBID .~1
ISSN 0957-4174
IngestDate Fri Jul 25 08:24:45 EDT 2025
Sat Oct 25 05:09:18 EDT 2025
Thu Apr 24 23:02:20 EDT 2025
Fri Feb 23 02:24:27 EST 2024
IsPeerReviewed true
IsScholarly true
Keywords Code duplication
and Functional clones
Program features
Control Statement features
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c328t-5c3e73f2f63ac5aaad20d325ea343ed65bf60b351e58d570a1241d85cc44fea93
Notes ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
PQID 2249736555
PQPubID 2045477
PageCount 13
ParticipantIDs proquest_journals_2249736555
crossref_citationtrail_10_1016_j_eswa_2019_04_045
crossref_primary_10_1016_j_eswa_2019_04_045
elsevier_sciencedirect_doi_10_1016_j_eswa_2019_04_045
PublicationCentury 2000
PublicationDate 2019-10-15
PublicationDateYYYYMMDD 2019-10-15
PublicationDate_xml – month: 10
  year: 2019
  text: 2019-10-15
  day: 15
PublicationDecade 2010
PublicationPlace New York
PublicationPlace_xml – name: New York
PublicationTitle Expert systems with applications
PublicationYear 2019
Publisher Elsevier Ltd
Elsevier BV
Publisher_xml – name: Elsevier Ltd
– name: Elsevier BV
References Kodhai, Perumal, Kanmani (bib0020) 2010; 2
Kamiya, T., Kusumoto, S., & Inoue, K. (2002). Review of CC Finder : A multi-linguistic token-based code clone detection system for large scale source code, 28(7), 3.
Krinke (bib0027) 2008
Bellon, Koschke, Antoniol, Krinke, Merlo (bib0004) 2007; 33
Cordy, J. R., & Dean, T. R. (2004). Practical language-independent detection of near-miss clones.
Rahman, Bird, Devanbu (bib0050) 2012; 17
Fowler, Beck, Brant, Opdyke, Roberts (bib0008) 1999
Rattan, Bhatia, Singh (bib0033) 2013; 55
Sheneamer, Kalita (bib0040) 2015
Suarez-Tangil, Tapiador, Peris-Lopez, Blasco (bib0042) 2014; 41
Sudhamani, Rangarajan (bib0046) 2015; 46
Johnson (bib0013) 1994
Lee, Jeong (bib0028) 2005
Hotta, Yang, Higo, Kusumoto (bib0014) 2014; 63
Raza, Vogel, Plödereder (bib0034) 2006; 71
Baker (bib0001) 1992; 24
Sudhamani, Rangarajan (bib0043) 2016
Wettel, Marinescu (bib0049) 2005; 2005
Baker (bib0002) 1993
Komondoor, R., & Horwitz, S. (2001). Using slicing to identify duplication in source code, 40–56.
Bellon (bib0005) 2002
Hirschberg (bib0012) 1975; 18
Gitchell, Tran (bib0009) 1999; 31
Hummel, Juergens, Heinemann, Conradt (bib0015) 2010
Kapser, Godfrey (bib0018) 2008; 13
Koschke, Falke, Frenzel (bib0023) 2006
Roy, Cordy, Koschke (bib0036) 2009; 74
Ducasse, Rieger, Demeyer (bib0007) 1999
Sudhamani, M., & Rangarajan, L. (2018). Code similarity detection by computing block level feature metrics, 2(8), 11–24.
Kim, Sazawal, Notkin, Murphy (bib0019) 2005
Koschke, Girard, Wurthner (bib0024) 1998
Sajnani, Saini, Lopes (bib0051) 2014
Greenan (bib0010) 2005
Tairas, Gray (bib0047) 2006; 44
Higo, Yasushi, Nishino, Kusumoto (bib0011) 2011
Li, Lu, Myagmar, Zhou (bib0029) 2006; 32
Matthias (bib0030) 2005, June
Kontogiannis, DeMori, Merlo, Galler, Bernstein (bib0053) 1996; 3
Krinke (bib0026) 2001
Mayrand, Leblanc, Merlo (bib0052) 1996; 96
Sudhamani, M., & Rangarajan, L. (2015a). Duplicate code detection using control statements, 4(10), 728–736.
Yang (bib0048) 1991; 21
Komondoor, Horwitz (bib0022) 2003
Sheneamer, Roy, Kalita (bib0039) 2018; 97
Johnson (bib0016) 1993; 1
Baxter, Yahin, Moura, Sant'Anna, Bier (bib0003) 1998; 98
Schleimer, Wilkerson, Aiken (bib0038) 2003
Roy, Cordy (bib0035) 2007; 115
Koschke (bib0025) 2008
Prechelt, Malpohl, Philippsen (bib0032) 2002; 8
Parnas (bib0031) 1972; 15
Rattan (10.1016/j.eswa.2019.04.045_bib0033) 2013; 55
Raza (10.1016/j.eswa.2019.04.045_bib0034) 2006; 71
Sudhamani (10.1016/j.eswa.2019.04.045_bib0043) 2016
Krinke (10.1016/j.eswa.2019.04.045_bib0026) 2001
Schleimer (10.1016/j.eswa.2019.04.045_bib0038) 2003
Gitchell (10.1016/j.eswa.2019.04.045_bib0009) 1999; 31
Ducasse (10.1016/j.eswa.2019.04.045_bib0007) 1999
10.1016/j.eswa.2019.04.045_bib0045
10.1016/j.eswa.2019.04.045_bib0044
Hummel (10.1016/j.eswa.2019.04.045_bib0015) 2010
Sudhamani (10.1016/j.eswa.2019.04.045_bib0046) 2015; 46
Koschke (10.1016/j.eswa.2019.04.045_bib0023) 2006
Krinke (10.1016/j.eswa.2019.04.045_bib0027) 2008
Mayrand (10.1016/j.eswa.2019.04.045_bib0052) 1996; 96
10.1016/j.eswa.2019.04.045_bib0006
Yang (10.1016/j.eswa.2019.04.045_bib0048) 1991; 21
Greenan (10.1016/j.eswa.2019.04.045_bib0010) 2005
Higo (10.1016/j.eswa.2019.04.045_bib0011) 2011
Rahman (10.1016/j.eswa.2019.04.045_bib0050) 2012; 17
Hirschberg (10.1016/j.eswa.2019.04.045_bib0012) 1975; 18
Bellon (10.1016/j.eswa.2019.04.045_bib0005) 2002
Tairas (10.1016/j.eswa.2019.04.045_bib0047) 2006; 44
Johnson (10.1016/j.eswa.2019.04.045_bib0016) 1993; 1
Komondoor (10.1016/j.eswa.2019.04.045_bib0022) 2003
Fowler (10.1016/j.eswa.2019.04.045_bib0008) 1999
Roy (10.1016/j.eswa.2019.04.045_bib0036) 2009; 74
Koschke (10.1016/j.eswa.2019.04.045_bib0024) 1998
Baker (10.1016/j.eswa.2019.04.045_bib0002) 1993
10.1016/j.eswa.2019.04.045_bib0021
Suarez-Tangil (10.1016/j.eswa.2019.04.045_bib0042) 2014; 41
Sajnani (10.1016/j.eswa.2019.04.045_bib0051) 2014
Kodhai (10.1016/j.eswa.2019.04.045_bib0020) 2010; 2
Roy (10.1016/j.eswa.2019.04.045_bib0035) 2007; 115
Kapser (10.1016/j.eswa.2019.04.045_bib0018) 2008; 13
Bellon (10.1016/j.eswa.2019.04.045_bib0004) 2007; 33
Koschke (10.1016/j.eswa.2019.04.045_bib0025) 2008
Li (10.1016/j.eswa.2019.04.045_bib0029) 2006; 32
Sheneamer (10.1016/j.eswa.2019.04.045_bib0040) 2015
Baker (10.1016/j.eswa.2019.04.045_bib0001) 1992; 24
Hotta (10.1016/j.eswa.2019.04.045_bib0014) 2014; 63
Parnas (10.1016/j.eswa.2019.04.045_bib0031) 1972; 15
Wettel (10.1016/j.eswa.2019.04.045_bib0049) 2005; 2005
Kontogiannis (10.1016/j.eswa.2019.04.045_bib0053) 1996; 3
Kim (10.1016/j.eswa.2019.04.045_bib0019) 2005
Matthias (10.1016/j.eswa.2019.04.045_bib0030) 2005
Sheneamer (10.1016/j.eswa.2019.04.045_bib0039) 2018; 97
Johnson (10.1016/j.eswa.2019.04.045_bib0013) 1994
Prechelt (10.1016/j.eswa.2019.04.045_bib0032) 2002; 8
10.1016/j.eswa.2019.04.045_bib0017
Lee (10.1016/j.eswa.2019.04.045_bib0028) 2005
Baxter (10.1016/j.eswa.2019.04.045_bib0003) 1998; 98
References_xml – volume: 32
  start-page: 176
  year: 2006
  end-page: 192
  ident: bib0029
  article-title: CP-miner: Finding copy-paste and related bugs in large-scale software code
  publication-title: IEEE Transactions on Software Engineering
– volume: 33
  start-page: 577
  year: 2007
  end-page: 591
  ident: bib0004
  article-title: Comparison and evaluation of clone detection tools
  publication-title: IEEE Transactions on Software Engineering
– start-page: 140
  year: 2005
  end-page: 141
  ident: bib0028
  article-title: SDD: High performance code clone detection system for large scale source code
– start-page: 1
  year: 2005
  end-page: 17.
  ident: bib0010
  article-title: Method-level code clone detection on transformed abstract syntax trees using sequence matching algorithms
  publication-title: Transformation
– volume: 3
  start-page: 77
  year: 1996
  end-page: 108
  ident: bib0053
  article-title: Pattern matching for clone and concept detection
  publication-title: Automated Software Engineering
– volume: 17
  start-page: 503
  year: 2012
  end-page: 530
  ident: bib0050
  article-title: Clones: What is that smell?
  publication-title: Empirical Software Engineering
– volume: 31
  start-page: 266
  year: 1999
  end-page: 270
  ident: bib0009
  article-title: Sim: A utility for detecting similarity in computer programs
  publication-title: SIGCSE Bulletin
– start-page: 15
  year: 2008
  end-page: 36
  ident: bib0025
  article-title: Identifying and removing software clones
  publication-title: Software evolution
– volume: 74
  start-page: 470
  year: 2009
  end-page: 495
  ident: bib0036
  article-title: Comparison and evaluation of code clone detection techniques and tools: A qualitative approach
– year: 1999
  ident: bib0008
  article-title: Refactoring: improving the design of existingcode
– start-page: 120
  year: 1994
  end-page: 126
  ident: bib0013
  article-title: Substring matching for clone detection and change tracking
  publication-title: Proceedings international conference on software maintenance ICSM-94
– start-page: 21
  year: 2014
  end-page: 30
  ident: bib0051
  article-title: A comparative study of bug patterns in java cloned and non-cloned code
  publication-title: 2014 IEEE 14th International Working Conference on Source Code Analysis and Manipulation
– volume: 97
  start-page: 405
  year: 2018
  end-page: 420
  ident: bib0039
  article-title: A detection framework for semantic code clones and obfuscated code
  publication-title: Expert Systems with Applications
– volume: 41
  start-page: 1104
  year: 2014
  end-page: 1117
  ident: bib0042
  article-title: Dendroid: A text mining approach to analyzing and classifying code structures in Android malware families
  publication-title: Expert Systems with Applications
– start-page: 76
  year: 2003
  end-page: 85
  ident: bib0038
  article-title: Winnowing: Local algorithms for document fingerprinting
  publication-title: Proceedings of the 2003 ACM SIGMOD international conference on management of data - SIGMOD ’03
– volume: 46
  year: 2015
  ident: bib0046
  article-title: Structural similarity detection using structure of control statements
  publication-title: Procedia computer science
– year: 2002
  ident: bib0005
– volume: 55
  year: 2013
  ident: bib0033
  publication-title: Software clone detection: a systematic review. Information and software technology
– start-page: 71
  year: 1993
  end-page: 80
  ident: bib0002
  article-title: A theory of parameterized pattern matching: Algorithms and applications
  publication-title: Stoc
– volume: 1
  start-page: 171
  year: 1993
  end-page: 183
  ident: bib0016
  article-title: Identifying redundancy in source code using fingerprints
  publication-title: Proceedings of the 1993 conference of the centre for advanced studies on collaborative research: Software engineering
– start-page: 40
  year: 2003
  end-page: 56
  ident: bib0022
  article-title: Effective automatic procedure extraction
  publication-title: Proceedings of the international workshop on program comprehension
– start-page: 59
  year: 2016
  end-page: 64
  ident: bib0043
  article-title: Code clone detection based on order and content of control statements
  publication-title: Contemporary computing and informatics (IC3I), 2016 2nd international conference on
– reference: Sudhamani, M., & Rangarajan, L. (2018). Code similarity detection by computing block level feature metrics, 2(8), 11–24.
– volume: 63
  start-page: 1
  year: 2014
  end-page: 18
  ident: bib0014
  article-title: How accurate is coarsegrainedclone detection?: Comparision with fine-grained detectors
  publication-title: Electronic Communications of the Eighth International Workshop on Software Clones
– volume: 2
  start-page: 976
  year: 2010
  end-page: 1349
  ident: bib0020
  article-title: Clone detection using textual and metric analysis to figure out all types of clones
  publication-title: International Journal of Computer Communication and Information System
– volume: 13
  start-page: 645
  year: 2008
  end-page: 692
  ident: bib0018
  article-title: Cloning considered harmful” considered harmful: Patterns of cloning insoftware
– start-page: 253
  year: 2006
  end-page: 262
  ident: bib0023
  article-title: Clone detection using abstract syntax suffix trees
  publication-title: Proceedings - working conference on reverse engineering
– start-page: 301
  year: 2001
  end-page: 309
  ident: bib0026
  article-title: Identifying similar code with program dependence graphs
  publication-title: Proceedings eighth working conference on reverse engineering
– start-page: 109
  year: 1999
  ident: bib0007
  article-title: A language independent approach for detecting duplicated code
  publication-title: Proceedings of the IEEE international conference on software maintenance. IEEE computer society
– start-page: 1
  year: 2010
  end-page: 9
  ident: bib0015
  article-title: Index-basedcode clone detection: Incremental, distributed, scalable
  publication-title: 2010 IEEE international conference on software maintenance (ICSM)
– year: 2008
  ident: bib0027
  article-title: Is cloned code more stable than non-cloned code?
  publication-title: Proceedings- IEEE international working conference on source code analysisand manipulation 2008
– reference: Kamiya, T., Kusumoto, S., & Inoue, K. (2002). Review of CC Finder : A multi-linguistic token-based code clone detection system for large scale source code, 28(7), 3.
– volume: 96
  start-page: 244
  year: 1996
  ident: bib0052
  article-title: Experiment on the Automatic Detection of Function Clones in a Software System Using Metrics
  publication-title: In
– start-page: 3
  year: 2011
  end-page: 12
  ident: bib0011
  article-title: Incremental codeclone detection: A pdg-based approach
  publication-title: 2011 18th working conference on reverse engineering (WCRE)
– reference: Sudhamani, M., & Rangarajan, L. (2015a). Duplicate code detection using control statements, 4(10), 728–736.
– volume: 15
  start-page: 1053
  year: 1972
  end-page: 1058
  ident: bib0031
  article-title: On the criteria to be used in decomposing systems into modules
– volume: 8
  start-page: 1016
  year: 2002
  end-page: 1038
  ident: bib0032
  article-title: Finding plagiarisms among a set of programs with JPlag
  publication-title: Journal Of Universal Computer Science
– reference: Komondoor, R., & Horwitz, S. (2001). Using slicing to identify duplication in source code, 40–56.
– start-page: 241
  year: 1998
  end-page: 250
  ident: bib0024
  article-title: An intermediate representation for integrating reverse engineering\nanalyses
  publication-title: Proceedings fifth working conference on reverse engineering (Cat. No.98TB100261)
– volume: 44
  start-page: 679
  year: 2006
  ident: bib0047
  article-title: Phoenix-based clone detection using suffix trees
  publication-title: -
– year: 2005, June
  ident: bib0030
  article-title: Effective Clone Detection Without Language Barriers
– volume: 2005
  start-page: 63
  year: 2005
  end-page: 70
  ident: bib0049
  article-title: Archeology of code duplication: Recovering duplication chains from small duplication fragments
  publication-title: Proceedings - seventh international symposium on symbolic and numeric algorithms for scientific computing
– start-page: 472
  year: 2015
  end-page: 480
  ident: bib0040
  article-title: Code clone detection using coarse and finegrainedhybrid approaches
  publication-title: 2015 IEEE seventh international conference on intelligent computing and information systems (ICICIS)
– year: 2005
  ident: bib0019
  article-title: An empirical study of code clone genealogies
  publication-title: Proceedings of FSE
– volume: 21
  start-page: 739
  year: 1991
  end-page: 755
  ident: bib0048
  article-title: Identifying syntatic differences between two programs
  publication-title: Software - Practice and Experience
– volume: 98
  start-page: 368
  year: 1998
  end-page: 377
  ident: bib0003
  article-title: Clone detection using abstract syntax trees
  publication-title: Proceedings international conference on software maintenance cat No 98CB36272
– reference: Cordy, J. R., & Dean, T. R. (2004). Practical language-independent detection of near-miss clones.
– volume: 18
  start-page: 341
  year: 1975
  end-page: 343
  ident: bib0012
  article-title: A linear space algorithm for computing maximal common subsequences
  publication-title: Communications of the ACM
– volume: 24
  start-page: 49
  year: 1992
  end-page: 57
  ident: bib0001
  article-title: A program for identifying duplicated code
  publication-title: Computing Science and Statistics
– volume: 71
  year: 2006
  ident: bib0034
  article-title: Bauhaus – A tool suite for program analysis and reverse engineering
  publication-title: ,
– volume: 115
  start-page: 115.
  year: 2007
  ident: bib0035
  article-title: A survey on software clone detection research
  publication-title: Queen's School of Computing TR
– start-page: 40
  year: 2003
  ident: 10.1016/j.eswa.2019.04.045_bib0022
  article-title: Effective automatic procedure extraction
– volume: 46
  year: 2015
  ident: 10.1016/j.eswa.2019.04.045_bib0046
  article-title: Structural similarity detection using structure of control statements
– start-page: 1
  year: 2005
  ident: 10.1016/j.eswa.2019.04.045_bib0010
  article-title: Method-level code clone detection on transformed abstract syntax trees using sequence matching algorithms
  publication-title: Transformation
– start-page: 140
  year: 2005
  ident: 10.1016/j.eswa.2019.04.045_bib0028
  article-title: SDD: High performance code clone detection system for large scale source code
– ident: 10.1016/j.eswa.2019.04.045_bib0021
  doi: 10.1007/3-540-47764-0_3
– volume: 55
  year: 2013
  ident: 10.1016/j.eswa.2019.04.045_bib0033
– volume: 2
  start-page: 976
  year: 2010
  ident: 10.1016/j.eswa.2019.04.045_bib0020
  article-title: Clone detection using textual and metric analysis to figure out all types of clones
  publication-title: International Journal of Computer Communication and Information System
– volume: 15
  start-page: 1053
  issue: 12
  year: 1972
  ident: 10.1016/j.eswa.2019.04.045_bib0031
  article-title: On the criteria to be used in decomposing systems into modules
  publication-title: Communications ACM
  doi: 10.1145/361598.361623
– volume: 21
  start-page: 739
  issue: January
  year: 1991
  ident: 10.1016/j.eswa.2019.04.045_bib0048
  article-title: Identifying syntatic differences between two programs
  publication-title: Software - Practice and Experience
  doi: 10.1002/spe.4380210706
– start-page: 120
  year: 1994
  ident: 10.1016/j.eswa.2019.04.045_bib0013
  article-title: Substring matching for clone detection and change tracking
– year: 2002
  ident: 10.1016/j.eswa.2019.04.045_bib0005
– volume: 31
  start-page: 266
  issue: 1
  year: 1999
  ident: 10.1016/j.eswa.2019.04.045_bib0009
  article-title: Sim: A utility for detecting similarity in computer programs
  publication-title: SIGCSE Bulletin
  doi: 10.1145/384266.299783
– volume: 8
  start-page: 1016
  issue: 11
  year: 2002
  ident: 10.1016/j.eswa.2019.04.045_bib0032
  article-title: Finding plagiarisms among a set of programs with JPlag
  publication-title: Journal Of Universal Computer Science
– volume: 3
  start-page: 77
  issue: 1-2
  year: 1996
  ident: 10.1016/j.eswa.2019.04.045_bib0053
  article-title: Pattern matching for clone and concept detection
  publication-title: Automated Software Engineering
  doi: 10.1007/BF00126960
– volume: 98
  start-page: 368
  year: 1998
  ident: 10.1016/j.eswa.2019.04.045_bib0003
  article-title: Clone detection using abstract syntax trees
– start-page: 1
  year: 2010
  ident: 10.1016/j.eswa.2019.04.045_bib0015
  article-title: Index-basedcode clone detection: Incremental, distributed, scalable
– start-page: 109
  year: 1999
  ident: 10.1016/j.eswa.2019.04.045_bib0007
  article-title: A language independent approach for detecting duplicated code
– volume: 41
  start-page: 1104
  issue: 4 PART 1
  year: 2014
  ident: 10.1016/j.eswa.2019.04.045_bib0042
  article-title: Dendroid: A text mining approach to analyzing and classifying code structures in Android malware families
  publication-title: Expert Systems with Applications
  doi: 10.1016/j.eswa.2013.07.106
– volume: 24
  start-page: 49
  year: 1992
  ident: 10.1016/j.eswa.2019.04.045_bib0001
  article-title: A program for identifying duplicated code
  publication-title: Computing Science and Statistics
– start-page: 301
  year: 2001
  ident: 10.1016/j.eswa.2019.04.045_bib0026
  article-title: Identifying similar code with program dependence graphs
– volume: 63
  start-page: 1
  year: 2014
  ident: 10.1016/j.eswa.2019.04.045_bib0014
  article-title: How accurate is coarsegrainedclone detection?: Comparision with fine-grained detectors
  publication-title: Electronic Communications of the Eighth International Workshop on Software Clones
– volume: 1
  start-page: 171
  year: 1993
  ident: 10.1016/j.eswa.2019.04.045_bib0016
  article-title: Identifying redundancy in source code using fingerprints
– start-page: 253
  year: 2006
  ident: 10.1016/j.eswa.2019.04.045_bib0023
  article-title: Clone detection using abstract syntax suffix trees
– start-page: 472
  year: 2015
  ident: 10.1016/j.eswa.2019.04.045_bib0040
  article-title: Code clone detection using coarse and finegrainedhybrid approaches
– volume: 2005
  start-page: 63
  year: 2005
  ident: 10.1016/j.eswa.2019.04.045_bib0049
  article-title: Archeology of code duplication: Recovering duplication chains from small duplication fragments
– ident: 10.1016/j.eswa.2019.04.045_bib0045
  doi: 10.26808/rs.ca.i8v2.02
– start-page: 15
  year: 2008
  ident: 10.1016/j.eswa.2019.04.045_bib0025
  article-title: Identifying and removing software clones
– start-page: 71
  year: 1993
  ident: 10.1016/j.eswa.2019.04.045_bib0002
  article-title: A theory of parameterized pattern matching: Algorithms and applications
  publication-title: Stoc
– volume: 74
  start-page: 470
  issue: 7
  year: 2009
  ident: 10.1016/j.eswa.2019.04.045_bib0036
  article-title: Comparison and evaluation of code clone detection techniques and tools: A qualitative approach
  publication-title: Science of Computer Programming
  doi: 10.1016/j.scico.2009.02.007
– start-page: 241
  year: 1998
  ident: 10.1016/j.eswa.2019.04.045_bib0024
  article-title: An intermediate representation for integrating reverse engineering\nanalyses
– volume: 18
  start-page: 341
  issue: 6
  year: 1975
  ident: 10.1016/j.eswa.2019.04.045_bib0012
  article-title: A linear space algorithm for computing maximal common subsequences
  publication-title: Communications of the ACM
  doi: 10.1145/360825.360861
– start-page: 59
  year: 2016
  ident: 10.1016/j.eswa.2019.04.045_bib0043
  article-title: Code clone detection based on order and content of control statements
– ident: 10.1016/j.eswa.2019.04.045_bib0044
  doi: 10.7753/IJCATR0410.1003
– volume: 71
  year: 2006
  ident: 10.1016/j.eswa.2019.04.045_bib0034
  article-title: Bauhaus – A tool suite for program analysis and reverse engineering
– year: 2005
  ident: 10.1016/j.eswa.2019.04.045_bib0019
  article-title: An empirical study of code clone genealogies
– start-page: 21
  year: 2014
  ident: 10.1016/j.eswa.2019.04.045_bib0051
  article-title: A comparative study of bug patterns in java cloned and non-cloned code
– volume: 13
  start-page: 645
  issue: 6
  year: 2008
  ident: 10.1016/j.eswa.2019.04.045_bib0018
  article-title: Cloning considered harmful” considered harmful: Patterns of cloning insoftware
  publication-title: Empirical Software Engineering
  doi: 10.1007/s10664-008-9076-6
– volume: 97
  start-page: 405
  year: 2018
  ident: 10.1016/j.eswa.2019.04.045_bib0039
  article-title: A detection framework for semantic code clones and obfuscated code
  publication-title: Expert Systems with Applications
  doi: 10.1016/j.eswa.2017.12.040
– volume: 44
  start-page: 679
  year: 2006
  ident: 10.1016/j.eswa.2019.04.045_bib0047
  article-title: Phoenix-based clone detection using suffix trees
– volume: 33
  start-page: 577
  issue: 9
  year: 2007
  ident: 10.1016/j.eswa.2019.04.045_bib0004
  article-title: Comparison and evaluation of clone detection tools
  publication-title: IEEE Transactions on Software Engineering
  doi: 10.1109/TSE.2007.70725
– start-page: 3
  year: 2011
  ident: 10.1016/j.eswa.2019.04.045_bib0011
  article-title: Incremental codeclone detection: A pdg-based approach
– ident: 10.1016/j.eswa.2019.04.045_bib0017
  doi: 10.1109/TSE.2002.1019480
– volume: 96
  start-page: 244
  year: 1996
  ident: 10.1016/j.eswa.2019.04.045_bib0052
  article-title: Experiment on the Automatic Detection of Function Clones in a Software System Using Metrics
  publication-title: In icsm
– year: 1999
  ident: 10.1016/j.eswa.2019.04.045_bib0008
– year: 2005
  ident: 10.1016/j.eswa.2019.04.045_bib0030
– ident: 10.1016/j.eswa.2019.04.045_bib0006
– volume: 115
  start-page: 115.
  year: 2007
  ident: 10.1016/j.eswa.2019.04.045_bib0035
  article-title: A survey on software clone detection research
  publication-title: Queen's School of Computing TR
– start-page: 76
  year: 2003
  ident: 10.1016/j.eswa.2019.04.045_bib0038
  article-title: Winnowing: Local algorithms for document fingerprinting
– volume: 32
  start-page: 176
  issue: 3
  year: 2006
  ident: 10.1016/j.eswa.2019.04.045_bib0029
  article-title: CP-miner: Finding copy-paste and related bugs in large-scale software code
  publication-title: IEEE Transactions on Software Engineering
  doi: 10.1109/TSE.2006.28
– year: 2008
  ident: 10.1016/j.eswa.2019.04.045_bib0027
  article-title: Is cloned code more stable than non-cloned code?
– volume: 17
  start-page: 503
  issue: 4-5
  year: 2012
  ident: 10.1016/j.eswa.2019.04.045_bib0050
  article-title: Clones: What is that smell?
  publication-title: Empirical Software Engineering
  doi: 10.1007/s10664-011-9195-3
SSID ssj0017007
Score 2.3645034
Snippet •Methods to identify duplicate codes (code clones) are introduced.•All four types of clones can be identified.•Does not require external lexer or parser to...
Software clone detection is an emerging research area in the field of software engineering. Software systems are subjected to continuous modifications in...
SourceID proquest
crossref
elsevier
SourceType Aggregation Database
Enrichment Source
Index Database
Publisher
StartPage 63
SubjectTerms and Functional clones
Cloning
Code duplication
Control Statement features
Datasets
Evolution
Identification methods
Maintenance costs
Performance enhancement
Program features
Programming environments
Redundancy
Similarity
Software
Software engineering
Software reuse
Source code
Title Code similarity detection through control statement and program features
URI https://dx.doi.org/10.1016/j.eswa.2019.04.045
https://www.proquest.com/docview/2249736555
Volume 132
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVESC
  databaseName: Baden-Württemberg Complete Freedom Collection (Elsevier)
  customDbUrl:
  eissn: 1873-6793
  dateEnd: 99991231
  omitProxy: true
  ssIdentifier: ssj0017007
  issn: 0957-4174
  databaseCode: GBLVA
  dateStart: 20110101
  isFulltext: true
  titleUrlDefault: https://www.sciencedirect.com
  providerName: Elsevier
– providerCode: PRVESC
  databaseName: Elsevier SD Complete Freedom Collection [SCCMFC]
  customDbUrl:
  eissn: 1873-6793
  dateEnd: 99991231
  omitProxy: true
  ssIdentifier: ssj0017007
  issn: 0957-4174
  databaseCode: ACRLP
  dateStart: 19950101
  isFulltext: true
  titleUrlDefault: https://www.sciencedirect.com
  providerName: Elsevier
– providerCode: PRVESC
  databaseName: Elsevier SD Freedom Collection Journals [SCFCJ]
  customDbUrl:
  eissn: 1873-6793
  dateEnd: 99991231
  omitProxy: true
  ssIdentifier: ssj0017007
  issn: 0957-4174
  databaseCode: AIKHN
  dateStart: 19950101
  isFulltext: true
  titleUrlDefault: https://www.sciencedirect.com
  providerName: Elsevier
– providerCode: PRVESC
  databaseName: ScienceDirect (Elsevier)
  customDbUrl:
  eissn: 1873-6793
  dateEnd: 99991231
  omitProxy: true
  ssIdentifier: ssj0017007
  issn: 0957-4174
  databaseCode: .~1
  dateStart: 19950101
  isFulltext: true
  titleUrlDefault: https://www.sciencedirect.com
  providerName: Elsevier
– providerCode: PRVLSH
  databaseName: Elsevier Journals
  customDbUrl:
  mediaType: online
  eissn: 1873-6793
  dateEnd: 99991231
  omitProxy: true
  ssIdentifier: ssj0017007
  issn: 0957-4174
  databaseCode: AKRWK
  dateStart: 19900101
  isFulltext: true
  providerName: Library Specific Holdings
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV3PS8MwFA5jXrz4W5zOkYM3qWvzo2mPYziq4i462C2kSQoV7YatePNvN0nTgSI7CLm0JKG8Ju97Tb_3PQCuRJ6GgiU6KJgKA4JUFOQGlwIdSswwigSVNnf4cR5nC3K_pMsemHa5MJZW6X1_69Odt_Z3xt6a43VZjp9McGDg0LTU_XtzGeyE2SoGN18bmoeVn2Ot3h4LbG-fONNyvHT9abWHotTJndqUpr_B6ZebdtgzOwB7PmiEk_a5DkFPV0dgvyvIAP3-PAbZdKU0rMu30nyvmvAaKt04qlUFfT0e6Knp0CUS2ZNBKCoFPUsLFtrpfNYnYDG7fZ5mgS-VEEiMkiagEmuGC1TEWEgqhFAoVBhRLTDBWsU0L-IwxzTSNFGUhcLAeqQSKiUhZuoUn4J-tar0GYCIxbqQyIBWSAgSKMlTYna9TM08WKB8AKLORlx6HXFbzuKVd4SxF27tyq1deUhMowNwvRmzblU0tvamnen5j7XAjZvfOm7YvSfud2LNTYiSMhxTSs__Oe0F2LVXFrAiOgT95v1DX5pIpMlHbqmNwM7k7iGbfwMLKd3d
linkProvider Elsevier
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV3PS8MwFA5jHvTib3E6NQdvUtcmeU17lOGYuu3iBruFNElhot1wE2_-7SZtOlBkByGnNgnlNXnfS_u97yF0LbM0lDwxQc51GDCioyCzuBSYUFFOSSRBudzh4SjuT9jjFKYN1K1zYRyt0vv-yqeX3tpf6XhrdhazWefZBgcWDm1Ly39v9gi0xYBwdwK7_VrzPJz-HK8E93jguvvMmYrkZZafTnwoSku9U5fT9Dc6_fLTJfj09tGujxrxXfVgB6hhikO0V1dkwH6DHqF-d64NXs7eZvbAauNrrM2q5FoV2BfkwZ6bjstMIvdpEMtCY0_TwrkphT6Xx2jSux93-4GvlRAoSpJVAIoaTnOSx1QqkFJqEmpKwEjKqNExZHkcZhQiA4kGHkqL65FOQCnG7NQpPUHNYl6YU4QJj02uiEWtkDEiSZKlzG57ldp5qCRZC0W1jYTyQuKunsWrqBljL8LZVTi7ipDZBi10sx6zqGQ0NvaG2vTix2IQ1s9vHNeu35PwW3EpbIySchoDwNk_p71C2_3xcCAGD6Onc7Tj7jj0iqCNmqv3D3Nhw5JVdlkuu29KP99y
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Code+similarity+detection+through+control+statement+and+program+features&rft.jtitle=Expert+systems+with+applications&rft.au=Sudhamani%2C+M.&rft.au=Rangarajan%2C+Lalitha&rft.date=2019-10-15&rft.pub=Elsevier+Ltd&rft.issn=0957-4174&rft.eissn=1873-6793&rft.volume=132&rft.spage=63&rft.epage=75&rft_id=info:doi/10.1016%2Fj.eswa.2019.04.045&rft.externalDocID=S0957417419302751
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0957-4174&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0957-4174&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0957-4174&client=summon