Int ern at i onal  Journ al of Ele ctrical  an d  Co mput er  En gin eeri ng   (IJ E C E)   Vo l.   9 , No .   5 Octo ber   201 9 , pp.  3804 ~3 812   IS S N: 20 88 - 8708 DOI: 10 .11 591/ ijece . v9 i 5 . pp 3804 - 38 12          3804       Journ al h om e page http: // ia es core .c om/ journa ls /i ndex. ph p/IJECE   Enh ancing code  clone det ec ti on us ing cont ro l  flow  graphs       Dong Kw an K im   Depa rtment  o C om pute Engi n e eri ng,   Mokpo N at ion al   Mar it ime   Univer sit y ,   Kor ea       Art ic le  In f o     ABSTR A CT    Art ic le   hist or y:   Re cei ved   Ma r   6 , 2 01 9   Re vised  A pr   7 ,  201 9   Accepte Apr   19 , 201 9     Code  cl ones  ar e   sy n tactica l l y   or   sem ant ic all y   eq uiva l ent   code   fr agments  of  source   code.  C op y - and - paste   p rogra m m ing  al l ows   software   deve lop ers  to   improve  develop m ent   produc t ivi t y ,   but   it   coul pr oduce   code   cl on es  tha t   c an   int roduc non - tr ivi al   d iffi cu lt i es  in  softw are   m ai nt ena nc e.   In  t his  pape r ,   code   cl one  d etec t ion  fra m ework  is  pre sente w it fe at ur ext r ac tor  and  a   cl one  class ifi er  using  dee le arn ing.   The   cl on c la ss ifi er  is  tra in e with  true   and  fal se  cl on e and  the is  t este with  tes dat ase to  e val ua te   the  per form anc of   the   proposed  appr oac to  c lo ne  det e ct ion .   In   par ti cu la r ,   the   proposed  ap proa ch  to  cl one  det e ct ion  uses  C ontrol   Flow  Graphs  (CFGs)  to  ext r act  fe at ur es  of  a   give n   co de  snippet.  The   sele c te f eature s   are  used  t o   compute  sim il ar ity   sco res  for  c om par ing  two  code   fra gm ent s.  The   cl on cl assifi er  is  tr ai n ed  and  te sted   wi th  sim il arit y   sco res  tha t   quantif the   d egr e of  how  si m il ar  two  code   fra gm ent are .   The   exp eri m ent a result s   demons tra te  tha using  CF fea tur es  is  via bl m et hodolog y   i te rm of  the   ef fec t ive ness   of  cl on d et e ct i o for  both   s y ntac ti c   and   sem ant ic  cl ones.   Ke yw or d s :   Cl on detect io n   Cl on e ty pes   Con tr ol  flo w g raph   Deep l ear ning   Copyright   ©   201 9   Instit ut o f Ad vanc ed   Engi n ee r ing  and  S cienc e   Al l   rights re serv ed .   Corres pond in Aut h or :   Don g Kw a n Ki m   Dep a rtm ent o f C om pu te E ng i neer i ng,   Mokpo Nati onal  Marit i m e U niv e rsity ,   91, Haey an gd a ehak - r o, Mo kp o - si,  Je ollanam - do,  Kor ea .   Em a il do ngkw an@gm ai l.co m       1.   INTROD U CTION     So ft war e   re us e   ref e rs   to  a   se ries  of  act i viti es  of  us in ex ist ing   c od e   f or   de velo ping  ne s of t war e   pro du ct s.  Software  reu s has   po sit ive  as pec ts  of   im pr ov i ng  de velo pm ent  producti vity   and   qual it y,  bu t   si m ple  cop y - an d - paste   reu se  ca pr oduce  re dunda nt  an duplic at cod (als known  as  c ode  cl ones)  ac r os pro gr am Cod e   cl on es  ca be   def i ned   as  synta ct ic al ly   or   se m antic al ly   eq uiv al ent  c ode  fr a gm ents  of   s ource   cod e The  pres ence  of  the  co de  cl on ca hi nd e the  co ns ist ency  of   an  a pp li cat io in  so ft war m ai nte nan c e   su c as  bug  fixes,   sec ur it updates an co de  re factor i ng.   Su c co de  ch ang e can  be  involve in  unde sirabl e   conseq ue nces  du t the  co de   cl on e.  If   on ly   par of  the  c ode  cl one  is  m o dified  with ou cov e rin the  w ho le   of   the  co de  cl on e pote ntial   pr oble m can  be  i ntr oduce during  the  li fecyc l o s of t ware  syst e m Therefo re ,   for  bette s of t war e   m ai ntenan ce,  l ocati ng  a nd  kee pi ng  tra ck  of  co de   cl ones  a re  a   cr uci al   par w hen  m od i fyi ng  cod of   a exi sti ng   pro gram .   In   this  pa pe r,  novel  appr oa ch  to  cl one  de te ct ion   is  pr e sented  with  feature   extracto a nd  cl one  cl assif ie usi ng  deep  le arn i ng.  T he   featu re  e xtra ct or   c onstr ucts   featu re  vect ors  t char act e rize  giv c ode  fr a gm ent  for  cl one   detect ion.  T he   cl o ne   cl assif ie is  base on   super vised   le arn i ng  wh ic pro du ce deep   le arn i ng   m od el   through  trai ning  da ta   con sist ing   of   in pu vect ors  and   desi red   ou t put   values Theref or e the  cl on cl assifi er  is  trai ned   with  kn own  tr ue  cl on es   and   false  cl ones  in  trai nin g   ph ase.   In   te sti ng   ph ase,  the  cl on cl assifi er  pr e di ct wh et he or  no two  m et h od   p ai rs  ha ve  cl on relat io ns hi p.   The  pro pose appro ac to  cl on detect io extracts  in put  featur e fr om   the  CFGs  of   co de  f ra gm ent .   The  in pu featur es  a re  use to  com pu te   s im il arity  scor es   for  com par in tw co de  f r agm ents.  The  cl on e   cl assifi er  is  trai ned   a nd   te ste with  the  sim il arit scor es  that  quantify   th degree  of  ho sim il ar  two  code   fr a gm ents are.     Evaluation Warning : The document was created with Spire.PDF for Python.
In t J  Elec  &  C om En g     IS S N: 20 88 - 8708       En hancin c od e clon e  d et ect i on u si ng c on tr ol fl ow  gr ap hs   ( Do ng Kw an K im )   3805   The  pro po se cl on detect ion  fr am ewo r re pr ese nts  c ode  fr a gm ent  as  c on t ro flo gr aphs  to  cat c sem antic a ll si m il ar  cl on es.  co ntr ol  fl ow  gr a ph  is  di r ect ed  grap t ha represents  t he  co ntr ol  fl ow  of  cod e fr a gm ent  (e. g. f unct io ns  and   m et ho ds).   The  CFG  c on s ist of   set   of  n odes  (als kn own  as  ve rtic es)  an edg e s.  no de  r ep rese nts  the  b asi sta te m ent  of  the  c ode fragm ent  su ch   as   ex pr es sio ns i f - sta tem ents,  an for - sta tem ents.  An  edg of  the  CFG  co nnect one  node  with  ano t her   a nd   m eans  pro gr a m   con trol  flo from   betwee the   two  no des.   The   node   co uld  be   co nn ect e to   m ul ti ple  nodes   if  it   is  invol ve in   co ntr olli ng  m or than  one  pr ogr a m   con tr ol.  T he   CFG  has  sing le   e ntry  node   w her co nt ro flo sta rts  and  sin gle  e xi node  wh e re  c ontr ol  flo e nds.   Ther e   can   be   m ul ti ple  con tr ol  flo ws   bet we en  the   ent ry  node   an t he  e xi node.   path  in  CF is  sequ enc of   directe edg e in  wh ic al no des  are  di sti nct.  Fo exa m ple,  3_ Path  in  this   pap e m eans  any  three  disti nct  nodes  are  c onnected  i CFG - base r epr ese ntati on.  The  pat re presents   structu ral  featur es  in  co de  f rag m ents   and   it le ng th  is  var io us   in  CFG - base re presentat ion.  Th cod e   fr a gm ents are c har act e rized  by  the len gth an the  o cc urre nc e co un ts  of th e CFG pat h.     The  first  ste of  cl one  detect ion  is  to   dete r m ine  the  sc ope   of  a   co de  frag m ent  w hich  is   co ntin uous  se gm ent  of   source  c ode.  S om cl on dete ct ion   to ols  ta ke   functi on  or   m e tho a s   the  co de  f ragm ent.   In  so m cases portio of  the  f unct ion  c an  be  c onside r ed  as   the  c od fr a gm ent.  T he  c od e   f ra gme nt  is   identifie with   three   el em ent su c as   s ource   file a   sta rting  li ne  num ber an a end i ng  li ne  num ber .   If   w hole   m e t hod  is  co ns ide r ed  as  the  co de  fr a gm ent,  the  sta rting   li ne  nu m ber   and   the  e nd i ng   li ne  nu m ber   of  the  c od e   f rag m ent  will  b t he  sam as  tho se o f   the  m et hod.  Th e pro posed  clon e   detect io ap proac ta ke each   m et ho in  Jav so urce  file as  the  cod f ra gm ent.  Cod cl on es  are  pai of   c od f ra gm ents  of   sourc cod e   that  are   synta c ti cal ly   or   sem a ntica ll equ iva le nt.  T her e   are   f our  ty pes   of  cod e   cl ones:   T ype - ( T1 ),  Ty pe - (T2),  Ty pe - ( T3),  an Ty pe - ( T4 ).   Ty pe - cl on e are  s ynta ct ic al ly  identic al   cod f r agm ents,  excep for  diff e re nces  in   wh it sp ace,   la yout  and   c omm ents  [1 ] .   Ty pe - cl ones  are  synta ct ic al ly   identic al   cod e   fr a gm ents,  exc ept  f or  di ff e re nces  i ide ntif ie nam es,  li te ral  val ues,   w hite  sp ace ,   la yout   and  com m ents  [1 ] .   Ty pe - cl on es   are  synta ct ic al ly   si m il ar  code  fr a gm ents  th at   dif fer   at   the   sta tem ent  le ve l.  Fr a gm ents  have   sta tem ents  add ed m od ifie and / or   rem ov ed  with  res pe ct   to  each  ot he [ 1].  Finall y,  Ty pe - cl on es  are  synta ct ic al ly   di ssi m il ar  cod f rag m ents  that  im ple m ent  the  sam fu nctiona li ty   [2 ] The  propose a pproa ch  t cl on detect io use Bi gCl on eB e nc [ 3]  wh ic is  one  of   t he  pop ular  ben c hm ark of   c ode  c lon es .   The  Bi gClo ne Be nch   data  ar cat egorized  by  sepa rati ng   Ty pe - an T ype4  cl one  pai rs  into  f our  ca te gories   base on  thei r   synta ct ic al   si m il arity:   Ver y - Str ongly  Ty pe - (VST 3)   cl on e with  a   sim il arity  in  range  90 %   (inclusi ve)   t 100% Str ongl Ty pe - ( ST 3) 70 - 90 % Mod e ratel Ty pe - (MT 3) :   50 - 70%,  a nd  W ea kly  Ty pe - 3 or Ty pe - 4 ( WT 3/4 ):  0 - 50%  [ 4].           Figure  1 The   deep ne ural  n et work arc hitec ture       Deep   le a rn i ng  is  sp eci fic  kind  of  m achine  le ar ning  an al lows  com pu ta ti onal   m od el that  are   com po sed  of  m ulti ple  pr oc essing  la ye rs   to  le arn   re pr ese ntati ons  of   data  with   m ulti ple  le vels  of   abst racti on  [ 5].   Deep   le ar ni ng  al go rit hm hav bee a pp li e to  s olv pro bl e m of   arti fici al   intel li gen ce  fiel ds   and   hav pro duced  prom isi n res ults  for  som sp eci fic  ta s ks   su c as  nat ur al   la ngua ge  processi ng,  co m pu te visio n,   an im age  proces sin [6 ] These  a d va nced   le ar ning  al gorithm can   al so   con tri bu t to  so lvin software   eng i neer i ng  pr ob le m that  ar the  a nalo gous  ones  i a rtific ia intel li gen ce.  Fig ure  s hows   t he   dee neural   netw ork  arc hitec ture  that  co ns ist of   th ree   la ye rs - input  la ye r,   hidden  l ay er,  and   ou t put  la ye r.   The  input   featur e (e. g. si m il arity  scor es)  are  giv e to  input  nodes  in  the  input  la yer The  no des  in  the  diff e re nt  la ye rs   are  co nnect ed  with  co nnect io wei gh ts  a nd  biases.  T he  de ep  le ar ning  ne twork  m od el   c an  posse ss  m ulti ple   hidden  la ye rs  so   to  im pr ove   the  pe rfor m ance  of  the  c ode  cl one  cl ass ifie r.   I the  cl on cl assi fier  m od el ,   the  Re ct ifie L inear  Un it   (Re LU)  is  an  act i vation  f un ct i on  f or  the  hidde la ye rs  a nd  th softm ax  fu nc ti on   is   us e as  act ivat ion   functi on  f or  the  ou t pu la ye r.   As   tw o   no des  re side  in   th ou t put  la ye r,   the  predict io resu lt   of the cl on e  classi fier is eit he r “ Cl on e”  or “N on - Cl one”  on the  giv e m et ho d pai rs.     Evaluation Warning : The document was created with Spire.PDF for Python.
                          IS S N :   2088 - 8708   In t J  Elec  &  C om En g,   V ol.  9 , N o.   5 Oct ober  20 19  :   3 8 0 4   -   3 8 1 2   3806   The  rest  of  thi pap e is  orga nized  as  f ollo ws.   Sect io ov e rall   descr i be the  pro po se ap proac to   detect   co de  cl on e us i ng  co ntr ol  flo gr a ph s Sect io pr es ents  e xpe rim ental   resu lt to  dem on st r at the   eff ect ive ness  of  the  CF G - bas ed  cl one  de te ct ion Sect i on   su m m arizes   relat ed   stud ie s   and   Sect ion  5   finall rem ark s conclu sion s  and  f utu r resea rch   dir e ct ion s.         2.   APP ROAC H   Figure  il lust r at es  the  overall   w orkf l ow  of   t he  pro po se co de  cl on e   detect ion   fram ewo rk.  T he  cl one   detect ion   syst em   has  the  train in an te sti ng   phase.  T he  so li arro ws  show  the  fl ow   of  the  trai ning  ph a s e   wh ic pro duce trai ned   cl one  cl assifi er   from   a   li st   of   featur es.  T he  cl one  cl assifi er  de te rm ines  if  pairw ise   m et ho ds are cl on e s to  each  o t her in t he  te sti ng phase  whic is s how t he das hed ar rows i Fig ure  2.           Figure  2 The   ov e rall  f lo w o f  the  pro po se c od e  clo ne dete ct ion   fr am ewo r k       The  c lo ne  dete ct ion   syst e m   us ed  Bi gClo ne Be nch   w hic is  on of  the  popula be nc hma rk of   co de  cl on es  a nd   has   been   use f or  cl on e - relat ed  stud ie s.  T he  Bi gClon eB e nc data  are  sepa ra te into  the  tra ining  and   te st  datase ts.  The  cl one  c la ssifie m od el   in  the  detect io syst em   is  trai ned   a nd   opti m iz ed  by  the  trai ning  dataset   and   t he is  evaluate by  the  te st  da ta set The  fir st  ste of   the  t rainin phase  i to  identify   m et ho m od ules  from   the  giv e Jav a   so urce  file thr ough  le xical   analy sis  and   synta ct ic   analy sis.  Pairwi se  m et ho m od ules  are  c on st ru ct e f rom   the  separ at e   m et ho ds The  pair wise  m e tho ds   a re  use t trai or   te st  the  dee le arn in m od e l.  The  pro pos ed  cl one  dete ct ion   syst em   extracts  synta ct ic   and   sem antic   featu res  of   c ode  fr a gm ents  fr om   CFGs  of   t he   identifie m et hods CF is  ge ner at e for  each  m eth od.  CF featur es  a re   gen e rated   f rom   the  CFG T he  CF featu r set are   re pr esented   by  fea ture  vecto rs  t ha co uld   be  c om pu te eff ect ively   in   the  deep  le ar nin m od el Sim il arit scor es  a re  us ed   to  qua ntify  the  de gr e o how  sim ilar  t w m et ho ds   are The  si m il arity  s cor of  the  pai rw ise   m et ho is  cal culat ed  and   is  giv en  to  the  input  la ye of   th e   cl on cl assifi e r.   T he  ra ng of  sim il arit sc or is  [ 0,   1]  thr ough  the  norm alizat ion   ste p.   T he  trai ne cl on e   cl assifi er  can  be   pr od uce after  the  trai ning  ph a se.  I the  te sti ng   phase,  t he  sim il arit s cor es  of   the  pa irwis e   m et ho ds   a re  cr eat ed  from   the   te st  dataset The  ste ps   f or  ge ner at in the  si m il arity  scor are  the  sam a tho se   of   the  t rainin ph a se.  T he  cl one  cl assifi er  ca te ll   wh et he the  gi ven   m et ho pairs  a re  cl on e or  not  us i ng   t he   si m il arity sco r es.   The  pro po se cl on detect io f ram ewo r i base on   a   deep  le arn i ng  netw ork  m od e wh ic is  a   cl on e   cl assifi er  a nd  dete rm in es  the  sem antic  sim il arit of   the  m et ho usi ng  it co rr e s pondin c ontr ol  f l ow   gr a ph.  CF is  directed  graph   a nd   re pres ents  al po ssibl execu ti on  pat hs   of  m et ho d.  It  al so   encode the  beh a vior  of   th m et ho at   higher  le vel  of  abstracti on.  A   set   of   feat ur es   are  extracte f ro m   the  con tr ol   flo w   gr a phs.  Su c a   featu re  set   inc lud es   no de  i nfor m at ion   an pa th  in form at io of  the   co ntr ol   flo gr a ph.  F or  the   com par ison  of   two  m et ho ds,   the  pair wise  featur e   set ar us e to  c ompu te   t he  sim i l arit scor e.  Figure  sh ows  a ex a m ple  of   Java  s ource  c od a nd  it corres pondi ng  co ntr ol  fl ow   gr a ph.  In   t his  exam ple,  the  cl ass   Sam ple  has  on ly   on m et hod  m a in  an t he  con t ro flo grap of  the  m ai m et ho is  presente on  th rig ht  side  of   Fi gure  3.   T he  node  of  the  CFG  is  known  as  basic   blo ck  a nd   represents  e xpress ion s if - sta te m e nts,   for - sta te m ents,  et c.  The   ed ge  of   t he  CF re pr ese nts  poss ible  co ntr ol  flo f r om   the  end   of   one  bl oc to  th e   beg i nn i ng of t he  o the r. As  see in  Fig ure  3,   CFGs als o ha ve  a sin gle e ntry  and a  sin gle e xit p oin t.   Evaluation Warning : The document was created with Spire.PDF for Python.
In t J  Elec  &  C om En g     IS S N: 20 88 - 8708       En hancin c od e clon e  d et ect i on u si ng c on tr ol fl ow  gr ap hs   ( Do ng Kw an K im )   3807   p u b lic class Sa m p l e {     p u b lic static Str in g  VE RS ION  = " 2 .0. 0 ";   p u b lic static vo id  m a in (St ring [ args {   Sy ste m .ou t.prin tf (" PROG EX  (Pr o g ra m   G raph   Extractor)    [  ver.   %s  ] \ n ",   VERS IO N);   Sy ste m .ou t.prin tln (" Visit p roject web site @   h ttp s://g ith u b .co m / g h affarian /p rog ex \ n ") ;         if  ( args .leng th  ==  0 {   CLI. p rintHelp (nu ll );   n ew GUI() .sh o w() ;   } else {   n ew CLI () .pa rse(a r g s).execu te() ;   }       }   }       Figure  3 Exa m ple o co ntr ol  f lo w gr a ph       path   in  C FG   is   se que nce  of  directed  e dges  wh ic co nnec se qu e nce   of  disti nct  no des .   Fo e xam ple,  2_Path  m eans  any  two  disti nc nodes  are  c onnected  i th con tr ol  fl ow  gr a ph.  T he  pr opos e cl on detect io f ram ewo r consi ders  1_P at h,   2_Pat h,   3_Path an 4_ Path  to  c om par pai rw ise   m et hods .   Table  li sts  the  featur pat hs  wh ic are  e xtracted  f ro m   th con tr ol  flo gr a ph   show in  Fig ur 3.  Th first   colum shows  the  ty pe  of  paths  a nd   t he  sec ond  c olu m is  the  total   fr e que ncy  of  eac pa th  ty pe  in  th c on t ro l   flo gr a ph.  The  la st  colu m sh ow th disti nct  instances  of  each   path  ty pe  and   their  fr e qu e ncy.   The  s umm a tio of  the  frequ e ncy  of   e ach  pa th  inst ance  s hould   be  eq ual  to  the  total   num ber   i n   the sec ond  c ol um n.       Table  1 . E xam ple of  featu re  pa ths e xtracted  fro m  a contro l  fl ow   grap h   Ty p e   Total   Path /Frequ en cy   1 _ Path   8   [ startMetho d /1 ],  [ State m en tExp ressio n Co n tex t/5 ],  [ If Sta te m en tCo n tex t/1 ],   [ en d i f /1 ]   2 _ Path   8   [ startMetho d -   Stat e m en tExp ressio n Co n tex t/1 ],     [ State m en tExp ress io n Co n tex t -   Statem e n tExp ressio n Co n tex t/2 ],  [ State m en tExp ressio n Co n tex   If State m en tCo n tex t/1 ],     [ If State m en tCo n tex t - State m en t Exp re ss io n Contex t/2 ],     [ State m en tExp ress io n Co n tex t -   en d i f / 2 ]   3 _ Path   7   [ startMetho d   - Stat e m en tExp ressio n Co n tex t - State m en tE x p ressio n Contex t/ 1 ], [ State m en t Exp ressio n Co n te x t - State m en t Exp ressio n Co n te x t - If Statem e n tCo n tex t/1 ], [ State m en tExp ressio n Co n tex t - If State m en tCo n tex t - State m en t Exp ressio n Co n te x t/2 ], [ If State m en tCo n tex t - St ate m en tExp ressio n Co n tex t - State m en t Exp ressio n Co n te x t/1 ], [ If State m en tCo n tex t - St ate m en tExp ressio n Co n tex t - en d if / 1 ],    [ State m en tExp ress io n Co n tex t - State m en tExp ressio n Co n t ex t - en d if /1 ]   4 _ Path   6   [ startMetho d   - Stat e m en tExp r ess io n Co n tex t - State m en tE x p ressio n Contex t - If State m en tCo n tex t/1 ],  [ State m en tExp ress io n Co n tex t - State m en tExp ressio n Co n t ex t - If State m en tCo n tex t - State m en t Exp ressio n Co n te x t/2 ], [ State m en tExp ressio n Co n tex t - If State m en t Co n tex t - State m en t Exp ressio n Co n te x t - State m en tExp r ess io n Co n t ex t/1 ], [ State m en t Exp ressio n Co n tex t - If State m en tCo n tex t - State m en tExp res sio n Co n te x t - en d if / 1 ], [ If State m en tCo n tex t - State m en t Exp ressio n Co n tex t - State m en t Exp ressio n Co n te x t - en d if /1 ]       3.   EVAL UA TI O N   set   of  feature can   im pact  serio us ly   the   pe rfor m ance  of  the  cl one  cl ass ifie r.   T he refore e xtracti ng   the  m eaningfu l   featur es  of  dataset   is  on of   the  key  ste ps   to  de velo an  acce ptable  deep   le ar ning  m od el Figure  s how the  CF feat ur e   extracti on  al gor it hm   to  identify   set   of  CFG  featu res  f ro m   giv e m et hod Su c CFG  feat ur es  of   each  m et hod  will   be  use to  com pu te   the  si m il arit scor f or   the  m et ho com par iso n.  Give ta rg et   m et ho in  program the  pro po s ed  cl one  de te ct ion   syst e m   extracts  set   of  C FG   featu res   from   the  corres pond ing   co ntr ol  flo gr a ph  of  th m et ho d.   A ft er  creati ng   th e   cor re spo nd i ng  CFG  of  the   inp ut   m et ho d,  the  de te ct ion   syst em   find al pa ths  on  t he  c on t ro flo gr aph.  T he  nex t   ste is  to   co un t he   Evaluation Warning : The document was created with Spire.PDF for Python.
                          IS S N :   2088 - 8708   In t J  Elec  &  C om En g,   V ol.  9 , N o.   5 Oct ober  20 19  :   3 8 0 4   -   3 8 1 2   3808   fr e qu e ncy  of  the  CF featu r es.  I t he  la be of  CF node   on  a   CF pa th  is   f ound  in  t he  featur e   set ,   the  fr e quency  of   the  C FG   fe at ur node  inc r eases  by  one.  I the  CF node   is  found  ne w ly it   is  add ed  to  the  featur set T he   fr eq ue ncy  of   the  new ly   ad de featu re  node  is  on e.  T he  co un ti ng  of  the  frequ e ncy  of  the  CFG  featur e   no des  is  perform ed  un ti al CFG   paths   are   co ns ide red.  Fi na ll y,  throu gh   t he  fe at ur e   ext racti on   al gorithm , th e CFG feat ure se t i s p r oduce t hat hold s a  pair  of the  f eat ure  node  ty pe  and i ts fr e quency.       Inp u t: L et  ME D   b e  a  t arget   m e th o d  in a pro g ra m .   Ou tp u t: L et  Featu r eS et   b e a  set  of  CFG f eatu res.  Featu reS et  = {(f 1 f eq 1 ),  ·  ·  · (f n f eq n )}   1 a CFG     g en er ateCFG( M ED )    //C reating  CFGs b y  c allin g  CFG gen erat o o n   MED   2 a llPath s     f in d AllPath s( a CFG )    // Fin d in g  all  p ath s o n   th e con trol f lo w graph   3 forea ch   p a th f ro m   a llPath s   do   4 :          forea ch   node f ro m   p a th i   do   5 :                  if   node   Featu reS et  then   //Getting  the f requ ency  to  which   node j   is  m ap p ed  in  Fe a tu reS et   6:                             f eq j     g etFeq u en cy ( F ea tu reS et,  n o d e j )     7 :                             f eq j     feq j   + 1   //  Inc reas e the f requ en cy  by   o n e   8 :                  else    // Ad d in g   n o d e j   to   Featu reS et   if   node is n ew   9 :                            Featu reS et   Featu reS et     {( node j 1  // Ass ig n in g  o n e to fr eq u en cy  of   node j   10:                  en dIf   1 1 :         endForea c h   1 2 endForea ch   1 3 return   Featu reS et     Figure  4. Ext ra ct ing   CF featur es  fro m  p ai r wise m et ho ds  t ide ntify c od e  clon e s       The  pro po se cl on detect ion  syst e m   need to  trai bin a r y - cl ass  cl assifi er  f or   c ode  cl one  de te ct io wh ic us es  tra ining   a nd  te st  dataset   for  bot true  cl on pa irs  an false  cl on pairs.   F or   the  trai ning   of   the   cl assifi er,  the  si m il arity  scor es  of   each  fea ture  vect or   an it la bel  are  pr ov i ded   f r om   the  trai nin dataset .   The  true  cl on e are  la belle to  ‘1’  w hile  the  false  cl one are  la belle to  ‘0’.   Ke ras  [ 7] an  op e s ource   m achine  le ar ni ng  li br a ry  for  deep  le ar ning   is  us e to   t rain  a   cl one  cl assifi er.   F our  i nput  nodes   a nd  tw ou t pu nodes  a re  co nf i gure f or   the  i nput  la ye and   t he  ou tpu la ye res pe ct ively Since  th pro posed  cl one   detect ion   a ppr oach  co ns i der s   fou feat ur es   of   t he  c on t ro f low  gr a ph,  t he   input  la ye holds  f our  node wh ic ind e pende ntly   ta ke  in   f our  fe at ur value s.  T he  ou t pu t   la ye c on ta in tw node becaus the  cl on e   det ect ion  pro blem   is   the  bin a ry  c la ssific at ion   ta sk   to  ch eck  w hether   t wo   m et ho ds   ar cl on es  or   no t The  pro posed   cl on e   detect ion   syst e m   con figures  t he  deep   le a rn i ng   m od el   to   in cl ud ei gh t   hidden   la ye rs  an to  r un  2 00  it er at ion s   for  trai ning.    Table  li sts  t he  node  ty pes   of   the  co ntr ol   fl ow   grap that  sh ould  be  consi der e to  detect   cod e   cl on es T he  no de  ty pe  is  the   const ru ct   of  Ja va  program su ch   as  e xpress ion s co ntr ol  c on st ru ct s co nd it ion al  const ru ct s an excep ti on  ha ndli ng   c onstruc ts.  The  Ja va  synta of  the  no de  ty pe  is  rep r esented  in   the   la st  colum and   fol lows   BN F - sty le   conven ti ons [ex pr]   m eans  zero   or   one  oc currence of  expr,  {e xpr}  m eans  zero  or  m or occurre nces   of   ex pr ,   an ( |   y)  de note one  of  ei ther   or  y.  T he  pro posed  cl on e   dete ct ion  syst e m   will   e xtract  no de  ty pes  f ro m   m eth ods  a nd   t hen  gen e rate  ed ge s   and   path wh ic are  m ade  up  of   the no des.   Table  s ho ws  the  datase ts  of   trai ni ng  and   te sti ng  for  the  cl one   cl assifi er.  F old e #4  in  Bi gClon eB e nc is  use as   th trai ning  dataset   since  it   has   the  la rg e st  nu m ber   of   tr ue  a nd   false  cl one  pairs.  The  true  cl on e   pairs  in  the  tr ai nin dataset   include  T 1,   T 2,  VS T 3,   a nd   S T3  cl ones  an the  total   nu m ber   of  true  cl ones  is   13, 399  wh ic is  e qu al   t the  total   num ber   of  false  c lon es MT3   a nd  W T 3/4  cl ones  a re   intenti onal ly   exclu ded   from   t he  trai ni ng   dat aset   becau s they   co uld   c onta in  noisy   data  wh ic m ay   pr oduce   false al arm s o n detec ti ng c od e  clon e s.    Fo t he  te sti ng  of   the  cl one  cl assifi er,  the  te st  dataset   is   m ade   from   Ja va  sourc file in  the  four   fo l der of  Bi gC lon eB enc h   s uc as  #2,  #3,  #7,  an d   #10 Th so urce  file in  the  fo l der   #4  are  excluded  be cause   they   are  us e a the  trai ning  da ta set Un li ke  the  trai ni ng  dat aset the  te st  da ta set   con ta ins   on ly   tr ue  cl one   pair s   without  false  cl on pairs T he  sim i la rity   s cor es  on  the  pa irwise  m et ho ds   are   co m pu t ed  th rou gh   t he   sam e   proce dures  as   the  trai ning  ph a se.  T hese  proc edures  i nclu de   the  CF c ons tructi on,  t he  C FG   path   ge ne r at ion ,   the CF feat ure extracti on,  and the  sim i la rity score c om pu ta ti on .             Evaluation Warning : The document was created with Spire.PDF for Python.
In t J  Elec  &  C om En g     IS S N: 20 88 - 8708       En hancin c od e clon e  d et ect i on u si ng c on tr ol fl ow  gr ap hs   ( Do ng Kw an K im )   3809   Table  2 . A  li st  of  CFG   no des   No   No d e T y p e   Jav a Sy n tax   1   State m en t Exp ressio n Co n te x t   State m en t Exp ressio n ;   2   LocalVari ab leDecl aration Co n tex t   {Variable Mod if ier}  Ty p e  Vari ab leDe clara to rs;   3   If State m en tCo n tex t   if   P arE x p ressio n   S tate m en [ else  S tat e m en t ]   4   Fo rState m en tCo n tex t   f o F o rCo n trol )  S tate m en t   5   W h ileState m en tCo n tex t   wh ile  P ar Exp ressio n   S tate m en t   6   Do W h ileState m en t Co n tex t   do  S tate m en t whil P ar Exp ressio n ;   7   Switch State m en tCo n tex t   switch   P ar Exp ressio n  {  S witch Blo ck State m en tG rou p s }   Switch Blo ck Statem e n tGrou p s: { Sw itch Blo ck State m en tGrou p  }   Switch Blo ck Statem e n tGrou p : Switc h Labels  Blo ck State m en ts   Switch Labels :   S wi tch Label { Sw itch Label }   Switch Label: c ase  Exp ressio n  :   case  Enu m Co n stan tNa m e  :   d ef au lt :   8   LabelState m en tCo n tex t   Iden tif ier  S tate m en t   9   Retu rnState m en tC o n tex t   return  [E x p ressio n ;   10   BreakS tate m en tCo n tex t   b reak  [ Iden tif ier ]   ;   11   Co n tin u eState m en t Co n tex t   co n tin u [ Iden ti f ie r ;   12   Sy n ch Blo ck State m en tCo n tex t   synch ron ized   P arEx p ressio n   B lo ck   13   Tr y State m en tCo n tex t   try   B lo ck   ( C atch Cl au se   |   [C atch Clau se ] F in all y Blo ck )   14   Tr y W ith Res o u rce State m en tCo n tex t   try   R eso u rceSpecif icatio n   B lo ck   [C atch Clau se ]   [F in ally Blo ck ]   R eso u rceSpecif icatio n  :   (   R eso u rces  [ ; ] )   R eso u rces :    R eso u rce  { ;     R eso u rce }   R eso u rce   :    {V ari ab leMod if ier }   C lass OrI n terface Ty p e   V ariable Decla ratorId =  E x p ressio n   15   Thro wState m en tC o n tex t   t h row   Ex p ressio n  ;       Table  3 Datas et s o f   trai ni ng  and  te sti ng   Dataset   Tr u e Clo n es   False Clo n es   T1   T2   VST3   ST3   MT3   W T3/4   Tr ain in g (#4 )   4 ,50 0   3 ,10 3   1 ,20 4   4 ,59 2   0   0   13 , 399   Testin g   #2   1 ,55 2   7   22   1 ,41 1   2 ,68 7   10 , 107     #3   630   583   523   2 , 734   24 , 335   8 2 5 ,838   #7   33   4   21   211   1 ,62 7   1 0 ,66 5   #10   151   61   282   922   1159   296       Figure  s how the  ex pe rim e ntal  res ult  on   t he  te st  dataset .   The  pro po se cl on cl assi fier  has   bee evaluate with   diff e ren sim i la rity   thresholds  in  order   t check   how  t he  sim il arit t hr es hold  af fec ts  the  perform ance  of  the   cl one  det ect ion .   The   cl a ssifie fin ds   cl on e wh e t he   li kelihoo value  is  great er  t han  or   equ al   to  t he  si m il arity  thres hold.   I t hese   e xp e rim ents,  th cl one  cl assifi er  is  c onfi gure with   hidde la ye rs  and   200  e po c hs.  The  propose detect io syst e m   eff ect ively   ide ntifie T 1,   T 2,   an V S T3  cl ones - t he  recall   resu lt a re  cl ose   to  10 0%  (e xcep t   the  f olde #2  da ta set with  t he  diff e r ent  sim i la rity   t hr es holds:  0.9 5,   0.9 6,  0.97,  an 0.9 8.  The  pro p os e cl assifi er  al so   detect eff ec ti vely   ST3   cl on es  on  the  dat aset #2   an #10 - the   recall   values  a r gr eat er  t ha 90%.  W it the   dataset #3  an #7,  t he  pe rfo rm ance  of   the  cl on detect ion  go e s   dow li tt le   bit  as  the   dete ct ion   th res ho l ds  bec om la rger.  T he   detect ion  syst em   did   not  s how  des irable   detect ion   perform ance  on   the   MT3  an WT 3/4   cl ones It  is  sti ll   chall eng ing   to  detect   se m antic   cl on ty pe s   even  th ough  t he  pro po se a ppr oach  is  ba s ed  on  co ntr ol  flo gra ph s   w hich  m ay   rep r esent  m or ab stract   per s pecti ves  of  sem antic ally sim i la co de blo cks  t han to ken - base a ppro ac hes.   Deep   ne ur al   ne twork  m od el s   m ay   be  aff ect ed  by  hy perpa ram et ers  su ch  as  hidden  la ye an ep oc h.  Tables  a nd  s how   the  re cal resu lt wi th  di ff e ren pa ram et er  set ti n gs   for  t rainin the  pro posed   cl one   detect ion   syst e m .   Five  cl on e d et ect ion   m odel are  create with  the  di ff e r ent  num ber of  hid de la ye rs  su c as   2,   4,  6,  8,   a nd   10.  T he  de faul nu m ber   of   t he  e po c is  10 0.   Alth ough  th trai ning  m odel are  no a ffec te sever el by  th nu m ber   of   hi dd e la ye rs  i this  ex per im ent,  the  trai ne m od el   with  hidden  la ye r achieves  the  be st  pe rfo rm ance.  Table   s hows   the   num ber   of  e po c hs   im pacts  on  the   pe rfo rm ance  of   t he   cl on e   detect ion. T he pr opos e cl on e  classi fier  wor ks   best  wh e t he nu m ber   of e po c hs i s 20 0.       Evaluation Warning : The document was created with Spire.PDF for Python.
                          IS S N :   2088 - 8708   In t J  Elec  &  C om En g,   V ol.  9 , N o.   5 Oct ober  20 19  :   3 8 0 4   -   3 8 1 2   3810       Figure  5 Re cal resu lt with  di ff ere nt sim il ar it y t hr esh old s   ( 0.95 ~ 0.9 8)         Table  4 . Recal l   res ults with  d i ff e ren hidde n l ay ers  (T hr es hold =  0.98 )   #  of  hidden   lay ers   T1   T2   VST3   ST3   MT3   W T3/4   2   100   100   99   74   28   2   4   100   100   99   73   27   2   6   100   100   99   71   28   2   8   100   100   99   74   29   2   10   100   100   99   70   25   2       Table  5 . Recal l   res ults with  d i ff e ren t e pochs   (Thres ho l 0.9 8)   #  of   ep o ch s   T1   T2   VST3   ST3   MT3   W T3/4   50   100   100   99   72   27   2   100   100   100   99   71   28   2   150   100   100   99   72   28   2   200   100   100   99   73   28   2   250   100   100   99   72   27   2       4.   RELATE D  W ORK   Ma ny  stud ie hav been   c on du ct e to  over com research   chall enges  in  de te ct ing   co de  cl on es  acr oss   so urce  c od e Most  of   e xis ti ng   cl one  de te ct ion   m e thodo l og ie ca be  cat eg or iz ed  into  five  ty pes:   te xt - base [8 ] tok e n - base [ 9] tree - ba sed  [ 10] gra ph - ba se [ 11] and  m et rics - based  [ 12]   appr oach es O ne  of   the  e m erg in researc tren ds  is  to  le ver ag deep   le ar ning  al gorithm t en han ce  the   per f orm ance  of   th e   existi ng  cl one  detect ion   strat e gies.  T he  pr omi sing   ou tc om es   of  dee le a rn i ng  af fect  m any   oth e fiel ds   be yond   arti fici al   intel lig ence   com m un it ie s.  So ft war eng i neer s   ha ve   bee in volve in  act ively   ap plyi ng   dee le a rn i ng   to  so l ve  ty pical   prob le m s   in  softwa re   eng i neer i ng  su c as  cl one   detect io n,  bug  pr e dicti on,  a nd   secur it y p re dicti on   Sh e neam er  an Kali ta ’s  cl on detect io a ppr oac [13]  use ty pical   m ac hin e   le arn i ng  a lgorit hm so   to  detect   se m antic   cod cl ones.  T hey  us e   su pervised   le arn ing   a ppr oach   wh e re  se m antic   featur es  are   extra ct ed  f r om  AS Ts  an P D Gs  an trai ning  data  are  la be ll ed  with  cl on e or   no n - cl on e s.  Their  a pproach  is   base on  m ac hin le ar ning  al gorithm s,  not  deep   le ar ning  al gorithm s.  Wh it et   al [ 14]   us deep   le arn i ng   Evaluation Warning : The document was created with Spire.PDF for Python.
In t J  Elec  &  C om En g     IS S N: 20 88 - 8708       En hancin c od e clon e  d et ect i on u si ng c on tr ol fl ow  gr ap hs   ( Do ng Kw an K im )   3811   appr oach   to  de te ct   cod cl ones  by  com bin in rec urr ent   neural  netw ork  with  rec ur s ive  ne ur al   net work   at   m et ho an file   le vels.  The   e xp e rim ental   resu lt s how  t heir  m et ho dolo gy  is   feasi ble  in   so m cases,  bu they   sti ll  need   to  cond uct  m or case  stud ie on   popu la cl one   ben c hm ark s.  Li   et   al [1 5]  pr ovide  to ke n - bas e cl on detect io a ppro ac usi ng   dee le a rn i ng - ba sed  cl on e   cl assifi er.   They  e xtract   featu re  vecto rs  by  tok e nizing  m eth od  pai rs  an then  c om pu te   si m il arity  scor es  of   the  featu re  vecto rs.   T he   cl on cl assif ie is  trai ned  with   ei gh sim il arit scor e o known   tr ue  cl ones   an false  c ones.  I t he  te sti ng  phase the   trai ne cl on cl assifi e pr e dicts  co de   cl on es  in  cod e base  of   unkn own  cl one s.  This  ap proa ch  sti ll   has  ro om   fo i m pr ovem ent  on   fi nd i ng   se m antic   cl on es  li ke  Ty pe - a nd  Ty pe - cl on es.  Saini  et   al .   [1 6]  pro pose  cl on e   detect ion   a ppr oach   t f ocus  on   harde r - to - de te ct   se m antic  cl on es.  Their  appr oach   is  ba sed  on  deep   neural   netw ork  with  Sia m ese  arch it ect ur w her i nfor m at ion   ret rieval  a nd  m et ric - ba sed   m et h od s   are   com bin ed .   To  detect   sem antic   cl ones,   their  a ppr oac exclu des  sem a ntica ll dissi m il ar  cl on e us i ng  sem antic   filt er   instea of  us i ng  sem antic   fea tures.   P ha et   al .’ w ork  [ 17]   sh ow  CFG - ba sed  dee le ar ni ng   ca be  use f or   so ft war def e ct   pr edict io as  well   as  cl on detect ion.   They  ap ply  conv o luti onal   neural  netw or ks   f or   pr e dicti ng   s of t war de f ect   usi ng   co ntr ol  flo gr a phs.  Co nt ro flo gr a ph are  bu il fr om   asse m bly   fil es  and  then  a re  re pr es ented  as  vecto rs  w hich  a re  gi ven   t co nvol ut ion al   ne ur al   ne tworks T he  c onvoluti onal   ne ur al   netw ork  ex pl ores  the  be ha vio of   ta r get  co de  us i ng   vecto represe ntati ons  an re ports   so ftwa re  de fe ct in  un s een  d at aset s af te r  b ei ng tr ai ned   with t rainin g datase ts.       5.   CONCL US I O N A ND FUT UR WO RK     This  pap e pr e sents  c ode  c lon detect io fr am ewo r t fin ef fecti vel cl on ty pes   with  dee le arn in g - base cl on cl assi fier.  T he  pro posed  a ppr oach   to  cl one  detec ti on   is  based  on  the  e xtract ion   of   featur e f r om   CFG of  gi ven  co de  f ra gm ents.  The   CFG   f eat ur es  a re  represente as  fea ture  vecto rs  s that   they   can  be  c om par ed  t determ ine  wh et he co de  fr a gm e nts  are  sim il ar  or  dissim il ar.  The  cl on e   det ect ion  cl assifi er is trained  a nd test ed wit sim i la rity   scor e s that are  com pu te f ro m  the f eat ure ve ct or s. The  pro pose detect ion   fr am ewor ef fecti ve ly   fo un syn ta ct ic   cl on ty pes  s uch   as  T 1,   T 2,   a nd  V ST3   cl on es It   al so   identifie ST cl on es   with   th acce ptable  but  not  e xcell en recall   res ults.  In  the  cas of   sem atic  cl on e   ty pes  su c as MT a nd  W T 3/ cl on es, the det ect io n per form ance sti ll  n eeds to b e i m pr ove d.   Al though t he pr opose d   appr oach  to  cl on e   detect io needs  to   be   i m pr ov e f urt he r,   t he  prom isin ex pe rim ent al   resu lt sug ge st  that  deep   le a rn i ng - base cl one  de te ct ion   cl assifi ers  can  be  e ff e ct ive   in  fin ding   co de  cl ones .   In   th f uture,  m or cod cl on e wi ll   be  exp l or e to  en han ce  f unct ion s   of   the  pro posed  cl on detect ion   on   se m antic   cl on ty pes.  Fu rt her m or e,   unsupe rv ise de ep  le ar ning  al gorithm can  be   co ns ide red  to  i m pr ove  the   w eakn e ss  of   t he  cl on e   cl assifi er  us in su pe rv ise le arn i ng.  T he  cl one  detect ion   f r a m ewo r will   be  ap plied   for  oth e pro gr am m ing   la nguag e s to   e xten the  g e ne rali ty  o th propose cl on e  det ect ion  m et ho ds .       ACKN OWLE DGE MENTS   This  researc h   was fina ncial ly  suppo rted by  Mokpo Nati onal  Marit i m e U niv e rsity   in 20 18.       REFERE NCE S   [1]   S.  Bel lon ,   et   a l . ,   Com par ison  and  eva lu atio of  cl one  de t ec t ion  tool s, ”  I EE Tr ansacti o ns  on  Soft ware   Engi ne ering , ,   vo l.   33 ,   no .   9 ,   pp .   5 77 591 ,   2007 .   [2]   C.   K.   Ro y ,   et  al . ,   surve y   on   software   cl on d e te c ti on  r ese ar ch,”  Quee n’s   Univ ersity ,   Tech .   Rep.  2007 - 541 ,   11 pp ,   2007 .   [3]   J.  Svajl enko et   al . ,   Towa rds  big  dat c ura t ed   benc hm ark   of  int er - proj ec cod cl ones , ”  30th  I EE Int ernati on al  Confe renc on   S oft ware  Ma int en ance   and   E vol ut i on ,   Vic toria,   BC,  Can ada,  Sep tem ber   29  -   Oc tob er  3,   2014.   [4]   J .   Svajl enko ,   e al . ,   BigCl one E val c lone   de t ec t ion  tool   eva lu at ion  fr amework  with  BigCl one Benc h, ”  32nd  IE EE  Inte rnational   Co nfe renc on   Softw are  Maintenan ce   and   E vol ut ion ,   pp .   596 - 600 ,   2 016 .   [5]   Y .   Le Cun ,   et a l . ,   Dee l ea rn ing,”  Nature ,   vo l .   52 1,   pp .   436 - 444 ,   Ma y   2015 .   [6]   P.  Bie l ik,   e a l . ,   Programming  with  Big  Code:  Le ss ons,  Te chn i ques  and  Applicati ons, ”  The  Ina ugural  Summ it   on   Adv anc es  in   Pro gram ming  Lang uages ,   2015 .   [7]     Kera s,”   htt ps: //kera s.io /, acc ess ed:   Nov.   2018.   [8]   S .   Duca ss e et   a l. ,   la nguage   inde pend ent   app roa ch  for  det e ct i ng  dupli ca t ed  co de , ”  In  Proceedi ngs  of  the   IEE E   Inte rnational   Co nfe renc on   Softw are  Maintenan ce pp.   109 118 ,   1999 .   [9]   T .   Kam i y a et  a l. ,   CCF inde r:  a   m ult il ingu isti c   toke n - base d   cod c lone   d etec t io s y stem  for   lar ge  sca le  source   code , ”  I EE E   Tr ansacti ons on  So f tware  Eng ine eri ng ,   vol .   28 ,   issue  7,   pp.   654 670 ,   2002 .   [10]   L.   Jiang e al. ,   DECKA R D:  sca la b le   and  accur at tre e - b ase d et e ct ion  of  code  cl ones, ”  Int ernati onal  Conf ere nce  on  Soft ware   Eng ine ering ,   pp .   96 105 2007 .   [11]   J .   Krinke ,   Ide nti f y ing  sim ilar  c ode  with  progr a m   depe ndence  gra phs,”   In   Pro ce ed ings  of  th e   Ei ghth   Workin Confe renc on   R ev erse Engin ee ri ng ,   pp .   301 309 ,   2001 .   Evaluation Warning : The document was created with Spire.PDF for Python.
                          IS S N :   2088 - 8708   In t J  Elec  &  C om En g,   V ol.  9 , N o.   5 Oct ober  20 19  :   3 8 0 4   -   3 8 1 2   3812   [12]   J .   Ma y ran d et   al . ,   Expe riment   on  the   Automa tic  Dete c ti on  o Functi on  Clone in  Software   S y stem  Us ing  Metri cs , ”  In   Pro ce ed ings o f   Inte r nati onal  Con fe re nce   on   Sof tware Maint enan ce ,   19 96.   [13]   A ,   Shenea m er e al . ,   Sem ant ic   Clone   Detect ion  Us ing  Mac hine   Le arn ing,”  15th  IEE Int ernati o nal  Confe renc on   Mac hine Learni ng  and  App li ca tions ,   Dec . ,   2016.   [14]   M.  W hit e et   a l. ,   Dee le arn ing   code   fra gm ent s   for  code   cl one  det e ct ion , ”  I P roce edi ngs  of  th 31st  IEE E/AC M   Inte rnational   Co nfe renc on   Autom ate Sof tware   Engi n ee ring ,   20 16.   [15]   L .   L i e al . ,   C CLe arn er:   A   De ep  L ea rning - Bas ed  Clon Det ect ion  Approac h ,   IEE E   Inte rnat io nal  Confe r enc e   o n   Soft ware  Ma int e nance   and   E vol u ti on ,   Sep.   2017.   [16]   V .   Saini et   al . ,   Oreo:   Dete ctio of  Clone in  the   Twil ight   Zon e, ”  The  ACM  Jo int   European  Soft ware  Engi ne eri ng   Confe renc and   Symposium on  t he  Founda ti ons  of  Soft war Eng i nee ring ,   Nov.   20 18.   [17]   A .   V .   Phan et   al . ,   Convolut io nal   Neura Net works   over   Control   Flow  Graph for  Software   Defe ct   Pr edi c ti o n,   IEE E   29th   Inte r nati onal  Con fe re nce   on   Tools   wi t Arti f i c ial   In tell ige nc e ,   Nov.  20 17.       BIOGR AP H O AU TH OR       Don K w an  K im   is  an  a ss ociate  p rofe ss or  in   the  Depa rtmen of  Com pute r   Engi ne eri ng  at  Mokpo  Nati onal  Marit ime  Univer sit y .   His  rese arc int e rests  inc lude   de ep  le ar ning,   software   evol uti on ,   run - tim s y stems ,   and   m obil prog ramm ing.         Evaluation Warning : The document was created with Spire.PDF for Python.