TY - GEN
T1 - Detecting code clones with gaps by function applications
AU - Matsushita, Tsubasa
AU - Sasano, Isao
N1 - Copyright:
Copyright 2017 Elsevier B.V., All rights reserved.
PY - 2017/1/2
Y1 - 2017/1/2
N2 - Code clones are pairs or groups of code segments which are identical or similar to each other. Generally the existence of code clones is considered to make it cumbersome to maintain the source code, so that various kinds of code clone detection tools have been developed. Simple ones divide the source code into a sequence of lines or tokens and find identical or similar sub-sequences. Differences among code clones, called gaps, may prevent clones from being detected or may make clones to be detected with being fragmented. In order to cope with gaps, various tools have been developed by using abstract syntax trees, comparing some metrics, or using program dependency graphs. In this paper we present a novel algorithm for detecting clones by focusing on gaps by function applications. Based on the algorithm we have implemented a tool for detecting code clones on programs written in Standard ML. Copyright is held by the owner/author(s).
AB - Code clones are pairs or groups of code segments which are identical or similar to each other. Generally the existence of code clones is considered to make it cumbersome to maintain the source code, so that various kinds of code clone detection tools have been developed. Simple ones divide the source code into a sequence of lines or tokens and find identical or similar sub-sequences. Differences among code clones, called gaps, may prevent clones from being detected or may make clones to be detected with being fragmented. In order to cope with gaps, various tools have been developed by using abstract syntax trees, comparing some metrics, or using program dependency graphs. In this paper we present a novel algorithm for detecting clones by focusing on gaps by function applications. Based on the algorithm we have implemented a tool for detecting code clones on programs written in Standard ML. Copyright is held by the owner/author(s).
KW - Abstract syntax tree
KW - Code clone
KW - Function application
KW - Gap
UR - http://www.scopus.com/inward/record.url?scp=85010280653&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85010280653&partnerID=8YFLogxK
U2 - 10.1145/3018882.3018892
DO - 10.1145/3018882.3018892
M3 - Conference contribution
AN - SCOPUS:85010280653
T3 - PEPM 2017 - Proceedings of the 2017 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, co-located with POPL 2017
SP - 12
EP - 22
BT - PEPM 2017 - Proceedings of the 2017 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, co-located with POPL 2017
A2 - Schultz, Ulrik Pagh
A2 - Yallop, Jeremy
PB - Association for Computing Machinery, Inc
T2 - 2017 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, PEPM 2017
Y2 - 16 January 2017 through 17 January 2017
ER -