I nte rna t io na l J o urna l o f   E lect rica l a nd   Co m p ute E ng in ee ring   ( I J E CE )   Vo l.   7 ,   No .   6 Dec em b er   201 7 ,   p p .   3 6 1 3 ~ 3 6 2 1   I SS N:  2 0 8 8 - 8708 DOI : 1 0 . 1 1 5 9 1 / i j ec e . v7 i 6 . pp 3 6 1 3 - 3621     3613       J o ur na l ho m ep a g e h ttp : //ia e s jo u r n a l.c o m/o n lin e/in d ex . p h p /I JE C E   Finding  Ba d Cod e S m ells w ith  Neu ra l Net w o rk  Mo dels       Do ng   K wa n K i m   De p a rtme n o f   Co m p u ter E n g in e e rin g ,   M o k p o   Na ti o n a M a rit im e   U n iv e rsity       Art icle  I nfo     AB ST RAC T   A r ticle  his to r y:   R ec eiv ed   Ma y   4 ,   2 0 1 7   R ev i s ed   J u n   2 8 ,   2 0 1 7   A cc ep ted   J u l 1 4 ,   2 0 1 7       Co d e   sm e ll   re fe rs  to   a n y   s y m p to m   in tro d u c e d   in   d e sig n   o im p lem e n tatio n   p h a se in   th e   so u rc e   c o d e   o f   a   p ro g ra m .   S u c h   a   c o d e   sm e ll   c a n   p o ten ti a ll y   c a u se   d e e p e a n d   se ri o u p ro b lem d u rin g   s o f twa re   m a in ten a n c e .   T h e   e x isti n g   a p p ro a c h e s   to   d e tec b a d   s m e ll u se   d e te c ti o n   ru les   o r   sta n d a rd u sin g   a   c o m b in a ti o n   o f   d if fe re n o b jec t - o rie n ted   m e tri c s.  A lt h o u g h   a   v a riety   o f   so f t w a re   d e tec ti o n   to o ls  h a v e   b e e n   d e v e lo p e d ,   t h e y   stil h a v e   li m it a ti o n an d   c o n stra i n ts  in   th e ir  c a p a b il it ies .   In   th is  p a p e r,   a   c o d e   sm e ll   d e tec ti o n   s y ste m   is  p re se n ted   w it h   th e   n e u ra n e tw o rk   m o d e th a d e li v e rs  th e   re latio n sh i p   b e tw e e n   b a d   sm e ll s   a n d   o b jec t - o r ien ted   m e tri c b y   tak in g   a   c o rp u o f   Ja v a   p ro jec ts  a s e x p e rime n tal  d a tas e t.   T h e   m o st we ll - k n o w n   o b jec t - o rien ted   m e tri c a re   c o n sid e re d   t o   id e n ti fy   th e   p re se n c e   o f   b a d   s m e ll s.   T h e   c o d e   sm e ll   d e tec ti o n   s y ste m   u se s   th e   twe n ty   Ja v a   p ro jec ts  w h ich   a re   sh a re d   b y   m a n y   u se rs   in   th e   G it Hu b   re p o sito ries .   T h e   d a tas e o th e se   J a v a   p r o jec ts  is  p a rti ti o n e d   in t o   m u tu a ll y   e x c lu siv e   train in g   a n d   tes se ts.   T h e   train in g   d a tas e is  u se d   to   lea rn   th e   n e tw o rk   m o d e w h ich   w il p re d ict  sm e l ly   c las se s   in   th is  st u d y .   T h e   o p ti m ize d   n e two rk   m o d e w il b e   c h o se n   t o   b e   e v a lu a ted   o n   th e   tes d a tas e t.   T h e   e x p e ri m e n tal  re su lt sh o w   w h e n   th e   m o d e li h ig h ly   train e d   w it h   m o re   d a tas e t,   th e   p re d ictio n   o u tco m e s   a r e   i m p ro v e d   m o re   a n d   m o re .   In   a d d it i o n ,   th e   a c c u ra c y   o f   th e   m o d e in c re a se w h e n   it   p e r f o r m w it h   h ig h e e p o c h s an d   m a n y   h id d e n   l a y e rs.   K ey w o r d :   C o d s m ell s   Neu r al  n et w o r k s   Ob j ec t - o r ien ted   m etr ics   So f t w ar m a in te n a n ce   Co p y rig h ©   2 0 1 7 I n stit u te o f   Ad v a n c e d   E n g i n e e rin g   a n d   S c ien c e   Al rig h ts  re se rv e d .   C o r r e s p o nd ing   A uth o r :   Do n g   K w a n   Ki m   Dep ar t m en t o f   C o m p u ter   E n g i n ee r in g ,   Mo k p o   Natio n al  Ma r iti m e   Un iv er s it y ,   9 1 ,   Hae y a n g d ae h a k - r o ,   Mo k p o - s i,  J eo llan a m - d o ,   Ko r ea .   E m ail: d o n g k w an @ g m a il.c o m       1.   I NT RO D UCT I O N   So f t w ar m a in te n a n ce   is   t h m o d i f icat io n   o f   s o f t w ar p r o d u ct  af ter   d eliv er y   to   co r r ec f au l ts ,   to   i m p r o v ep er f o r m a n ce   o r   o th er   attr ib u tes,  o r   to   ad ap th e   p r o d u ct  to   m o d if ied   e n v ir o n m en t   [ 1 ] .   T h ac tiv it ies   o f   s o f t w ar m ai n te n an ce   ca n   b ca teg o r ized   in to   f o u r   t y p es ad ap tiv e,   p er f ec ti v e,   co r r ec ti v e,   a n d   p r ev en t iv e   m ai n ten a n ce s .   Am o n g   th e m ,   th ad ap ti v m ai n te n an ce   in v o lv es  r eo r g a n izi n g   t h s tr u ct u r o f   t h s o f t w ar e   s y s te m s   to   co p w ith   c h a n g es  in   t h s o f t w ar e n v ir o n m en t s u ch   a s   u s er   r eq u ir e m e n ts   a n d   co m p u tin g   tech n o lo g ies .   I n   o th er   w o r d s ,   s o f t w ar c h an g es   ar o n o f   th in e v itab le  c h ar ac ter is t ics  in   th s o f t w ar s y s te m .   I i s   h ar d   to   esti m at th p o ten tial  co n s eq u e n ce s   o f   ch an g a f ter   m o d if y i n g   s o m p ar ts   o f   t h s o f t w ar s y s te m   b ec a u s e   ev e n   a   m in o r   c h a n g e   co u ld   i n c r ea s th e   co m p le x it y   o f   t h e   s y s te m   a n d   ca u s e   u n e x p ec ted   p r o b lem s .   So m eti m es  s u c h   ch a n g es  ca n   in tr o d u ce   s o m co d s m ell s   ac cid en t all y   i n   th s y s te m .   C o d s m ell  r ef er s   to   an y   s y m p to m   i n tr o d u ce d   in   d esig n   o r   i m p le m e n tatio n   p h ases   i n   th s o u r ce   co d e   o f   a   p r o g r am .   Su c h   co d s m el c an   p o ten tial l y   ca u s d ee p er   an d   s er io u s   p r o b le m s   d u r in g   s o f t w ar m ai n te n an ce .   A cc o r d in g   to   t h s co p o f   t h co d s m ell,   t h co d s m e lls   ca n   b class if ied   in to   t h r ee   c lass es ap p licatio n - lev el,   clas s - le v el,   an d   m eth o d - lev el  s m ell s .   Ma n y   s o f t w ar to o ls   h av b ee n   d ev elo p ed   to   d etec an d   eli m i n ate   co d s m ell s   u s in g   o b j ec t - o r ien ted   m etr ics   an d   co d r ef a cto r in g   m e th o d s   [ 2 ] .   T h co d s m e ll  ca n   b a n   ef f ec tiv e   in d icatio n   o f   w h et h er   o r   n o ts o m p ar ts   o f   t h c o d s h o u ld   b r ef ac to r ed .   A l t h o u g h   v ar iet y   o f   Evaluation Warning : The document was created with Spire.PDF for Python.
      I SS N : 2088 - 8708   I J E C E   Vo l.  7 ,   No .   6 Dec em b er   2 0 1 7   :   3 6 1 3 3 6 2 1   3614   s o f t w ar d etec tio n   to o ls   h av b ee n   d ev elo p ed ,   th e y   s ti ll  h a v li m itat io n s   a n d   co n s tr ai n ts   i n   th eir   ca p ab ilit ie s .   I n   t h is   p ap er ,   co d s m ell  d etec tio n   s y s te m   is   p r esen ted   w it h   th e   n e u r al  n et w o r k   m o d el  th at   d eliv er s   t h e   r elatio n s h ip   b et w ee n   b ad   s m ell s   an d   o b j ec t - o r ien ted   m etr ics  b y   ta k in g   co r p u s   o f   J av p r o j ec ts   as  ex p er i m e n tal  d ata s et.   T h d etec tio n   s y s te m   p r o p o s ed   in   t h p ap er   u s es  m aj o r   o b j ec t - o r ien ted   m etr ic s   t o   ex tr ac v ar io u s   f ea tu r e s   f o r   b ad   co d s m ell s   b y   ca lc u lati n g   m etr ic  v al u es.  Ma n y   o b j ec t - o r ien ted   m etr ics   h a v e   b ee n   p r o p o s ed   in   th p ast  d ec ad es.  T h w e ll - k n o w n   m etr ics  s u ch   a s   L in o f   C o d e   ( L OC ) ,   Dep t h   o f   I n h er ita n ce   T r ee   ( DI T ) ,   an d   C o u p li n g   B et w ee n   Ob j ec ts   ( C B O)   ar ap p lied   to   ass ess   t h q u ali t y   o f   o b j ec t - o r ien ted   p r o g r am s   at  d if f er e n lev el s .   W h ile  s o m m etr ics   ar ap p lied   to   ass ess   th w h o le  o b j ec t - o r ien ted   s y s te m s ,   o th er s   ar m a in l y   u s ed   to   ev alu ate   s i n g le  clas s es  o r   m e th o d s .   I n   th p r e v io u s   s tu d ies,  t h o b j ec t - o r ien ted   m etr ic s   h a v b ee n   u s ed   to   d etec s m ell y   cla s s es   b y   s u p p o r tin g   p r ed ictio n   m o d el   f o r   t h co d e   s m el ls .   T h au to m ated   d etec ti o n   to o ls   ca lcu la te  m e tr ic  v al u es  o v er   an   i n s p ec ted   s o f t w ar e   s y s te m   to   id en ti f y   s p ec if ic  c h ar ac ter is tic s   o f   b a d   s m ell s .   Fo r   ex a m p le,   R es p o n s f o r   ac las s   ( R F C )   an d   C o u p li n g   B et w ee n   Ob j ec ts   ( C B O)   m etr ic s   ar u s ed   to   ev al u ate  t h d eg r ee   o f   co u p lin g   b et w ee n   clas s e s .   C o h e s io n   ca n   b m ea s u r ed   b y   L ac k   o f C o h es io n   in   Me th o d s   ( L C O M)   an d   L o o s C las s   C o h esio n   ( L C C ) .   T h r est  o f   th is   p ap er   is   o r g an ized   as  f o llo w s .   Sectio n   2   d escr ib es  th p r o p o s ed   c o d s m el d etec to r   i n   d etail.   Sectio n   3   p r esen ts   th e   ex p er i m en ta l   r esu lt s   b y   th d etec tio n   s y s te m .   Sect io n   4   in tr o d u ce s   th r elate d   w o r k   a n d   Sectio n   5   r e m ar k s   t h co n clu s io n s   a n d   f u t u r w o r k   d ir ec tio n s .       2.   CO DE   SM E L L   D E T E C T O R           Fig u r 1 .   T h Ov er all  W o r k f l o w   o f   t h P r o p o s ed   C o d e   S m e ll De tectio n   S y s te m       Fig u r 1   s h o w s   th e   o v er all  w o r k f lo w   o f   t h p r o p o s ed   co d s m ell   d etec tio n   s y s te m   to   f i n d   co d s m el ls   i n   J av p r o g r am s . T h p r o p o s ed   d etec tio n   s y s te m   u s es  th t w e n t y   J av p r o j ec ts   w h ich   ar d o w n lo ad ed   f r o m   t h Git Hu b   r ep o s ito r ies.  T h d etec tio n   s y s te m   co n s is t s   o f   th r ee   m ai n   co m p o n e n t s - O O   Me tr ics  An al y ze r ,   C o d S m ell  Dete cto r ,   an d   Neu r al  Net w o r k .   A   co m m er cial  co d an al y s i s   to o l,   S ciTo o ls   Un d ers ta n d   is   u s ed   to   an al y ze   t h J av p r o j ec ts   d o w n lo ad ed   f r o m   GitH u b   an d   to   d eliv er   co m p r eh e n s i v m etr ics  v al u es  f o r   J av a.   C o d S m el Dete cto r   s u p p o r ts   d if f er en cr iter ia  a n d   th r e s h o ld s   o f   t h o b j ec t - o r ien ted   m etr ics  i n   d etec ti n g   co d s m el ls .   C o d S m el Dete cto r   d eter m in e s   w h e th er   o r   n o th class e s   in   t h J av p r o j ec ts   ar ea   s m ell y   clas s   b y   c h ec k in g   t h m etr ics  v alu e s   o f   ea ch   cla s s .   T h co d s m e ll  r esu lt s   ar s ep ar ated   in to   th tr ain in g   a n d   tes t   d atasets .   T h n eu r al   n et w o r k   m o d el   i n   t h d etec tio n   s y s te m   is   tr ain ed   a n d   o p ti m ized   b y   t h tr ai n i n g   d atase t   an d   th e n   is   e v alu a ted   b y   t h te s t d ataset  o f   t h co d s m ell  r es u lts .     2 . 1 So f t wa re   M e t rics  a nd   Co de  S m ells   S ciTo o ls   Un d ers ta n d ,   a   s tatic  an al y s is   to o l,  ca n   ex tr ac w id r an g o f   m e tr ics  an d   g en er ate  a   cu s to m izab le  r ep o r f o r   th J a v p r o j ec ts .   T h o b j ec t - o r ien ted   m etr ic s   f o r   th i s   r esear ch   ar s u m m ar ized   i n   th e   f o llo w in g :     L i n o f   C o d e   ( L O C ) L i n o f   co d m etr ic  is   u s ed   to   co u n t t h lin es   o f   t h s o u r ce   co d e   w i th o u t c o n s id er in g   th co m m e n t   li n es  a n d   b la n k   lin es.   L OC   is   t y p ical   s o f t w ar m etr ic   th a is   u s ed   to   m ea s u r t h p r o g r a m   s ize.   Ma n y   r esear ch   f i n d in g s   d em o n s tr ate   t h at  la r g er   L O C   v alu e s   ta k m o r ti m to   d ev e lo p   an d   m a in ta in   p r o g r am .   Evaluation Warning : The document was created with Spire.PDF for Python.
I J E C E   I SS N:  2 0 8 8 - 8708       F in d in g   B a d   C o d S mells w ith   N eu r a l Netw o r Mo d els   ( Do n g   K w a n   K im )   3615     Dep th   o f   I n h er ita n ce   T r ee   ( DI T ) T h d ep th   o f   in h er itan ce   tr ee   ca n   b d ef i n ed   as t h m a x i m u m   le n g t h   o f   a   class   i n   th in h er ita n ce   tr ee .   DI T   c o u n ts   t h d ep th   f r o m   a   s p ec if ic  cla s s   to   ato p - l e v el  r o o class   in   t h e   h ier ar ch ical  s tr u ct u r tr ee .   T h J av p r o g r a m m in g   allo w s   f o r   o n l y   s in g le  cla s s   in h er ita n ce .   I n   g en er al,   as  a   p ar ticu lar   class   h as  m o r s u p er - class e s ,   t h class   in h er its   m o r f ield s   a n d   m e th o d s .   Si n ce   th p o ten tia l   r eu s o f   i n h er ited   m e m b er s   c an   m a k it  m o r co m p le x   s o f t w ar s y s te m ,   th DI T   m e tr ic  ca n   b o n o f   th cr iter iato   p r ed ict   th d eg r ee   o f   th co m p le x it y   o f   an   o b j ec t - o r ien ted   s y s te m .     C o u p li n g   B et w ee n   Ob j ec class es   ( C B O) C B O m ea s u r es   t h n u m b er   o f   o th er   clas s es  w h ich   p ar tic u lar   class   i s   co u p led .   W ca n   s a y   t h at  cla s s es   C 1   a n d   C 2   ar co u p led   if   clas s   C 1   u s e s   t y p e,   d ata,   o r   m eth o d   f r o m   cla s s   C 2 .   B y   th e   UM L   ter m i n o lo g ies,   clas s es  C 1   an d   C 2   h a v cla s s   r elat io n s h ip s   s u c h   a s   ass o ciatio n a g g r eg atio n ,   an d   co m p o s i tio n .   L ar g er   C B v al u es  ca n   d ec r ea s t h m o d u lar it y   a n d   p r ev en t   r ea s o n ab le r eu s o f   s o f t w ar s y s te m .   T h er ef o r e,   w n ee d   to   k ee p   C B v alu e s   to   m i n i m u m   f o r   th e   b etter   m a in tai n ab ilit y .     R esp o n s f o r   C lass   ( R F C ) R F C   co n s id er s   t h n u m b er   o f   ac ce s s ib le   m et h o d s   an d   co n s t r u cto r s   in v o k ed   b y   class .   W h e n   an   o b j ec o f   th at  clas s   r ec eiv es  m es s a g e,   th R F C   m etr ic  co u n ts   t h n u m b er   o f   d is ti n ct   m et h o d s   in cl u d in g   i n h er ited   m et h o d s .   T h J av p r o g r a m m in g   la n g u a g d eter m i n e s   w h et h er   o r   n o o th er   class es  ca n   ac ce s s   p ar ticu lar   d ata  o r   in v o k p ar ticu lar   m eth o d   in   clas s .   T h R FC   m e tr ic  is   r elate d   to   th J av ac ce s s   m o d if ier s   s u c h   as  p u b lic,   p ac k ag e - p r iv ate,   p r o tecte d ,   an d   p r iv ate.   I f   th R F C   v al u f o r   a   class   is   u n ac ce p tab l y   lar g e,   it  m ea n s   t h at  clas s   h as p o ten tial  in ter ac tio n s   w it h   th r es t o f   p r o g r am .     W eig h ted   Me t h o d s   p er   C la s s   ( W MC):  T h W MC  m e tr ic   is   t h s u m   o f   t h co m p le x i ties   o f   all  cla s s   m et h o d s .   S ciTo o ls   Un d er s ta n d   ca lcu late s   t h s u m   o f   c y c l o m a tic  co m p lex i t y   o f   all  n es t ed   f u n ct i o n s   o r   m et h o d s   in   cla s s ,   n o t c o n s id er in g   in h er ited   m et h o d s .   I n   g e n er al,   clas s   w i th   lar g e   W MC  v alu e   i m p l ie s   th at  t h at  clas s   ca n   b co m p lex   an d   h ar d er   to   m ai n tai n .     Nu m b er   o f   C h ild r en   ( N OC ) :   T h NOC  m etr ic  m ea s u r es  t h n u m b er   o f   i m m ed iate  s u b class es   i . e. ,   th e   n u m b er   o f   clas s es  o n le v el  d o w n   th i n h er i tan ce   tr ee   f r o m   tar g et  class . T h NOC  v al u in d icate s   t h at   th d ata  an d   m et h o d s   o f   cl ass   ca n   b r eu s ed   in   its   s u b c lass es.  T h er ef o r e,   if   clas s   h as  h i g h   NO C   v alu e,   t h clas s   is   m o r r esp o n s ib le  in   s o f t w ar s y s te m .     C y clo m atic   C o m p le x it y   ( C C ) C y clo m at ic  co m p le x it y ,   as  k n o w n   as   Mc C ab e ' s   C y clo m a tic  C o m p le x it y ,   m ea s u r es  t h n u m b er   o f   li n e ar l y   in d ep en d en p ath s   t h r o u g h   p r o g r a m   m o d u le.   S ciTo o ls   Un d ers ta n d   co u n t s   t h k e y w o r d s   f o r   d ec i s io n   p o in ts   ( FOR ,   W HI L E ,   e tc. )   an d   t h en   ad d s   1 .   Fo r   s w itc h   s tate m e n t,   ea ch   ca s e’   i s   co u n ted   as 1   an d   th s w itch   it s el f   ad d s   o n et o   th f i n al  C y clo m atic  C o m p l ex it y   co u n t.     L ac k   o f   co h esio n   in   m et h o d s   ( L C OM ) C o h e s io n   r e f er s   to   th d eg r ee   o f   th in tr a - r elatio n s h ip   b et w ee n   t h e   ele m e n ts   i n   s o f t w ar m o d u l s u c h   as   p ac k a g es  a n d   clas s es.  I is   id ea t h at  ea c h   ele m e n h as  s tr o n g   r elatio n s h ip   i n   t h m o d u le  b y ac h ie v i n g   p ar ticu lar   f u n cti o n alit y .   T h L C OM   m etr ic  i n d icate s s et  o f   m et h o d s   in   clas s   is   n o t stro n g l y   co n n e cted   to   o th er   m eth o d s .   C o d s m ell s r ef er   to   a n y   s y m p to m   in   th s o u r ce   co d o f   p r o g r a m   th a p o s s ib l y   in d icate s   d ee p er   p r o b lem .   B ad   co d s m el ls   ar u s u all y   p lace d   i n   s o f t w ar s y s te m s   d u to   p o o r   d esig n   a n d   i m p le m e n tatio n   ch o ices.  Du r i n g   d esi g n   an d   im p le m e n tat io n   p h ase s ,   s o f t w a r d ev elo p er s   m a y   i g n o r th p o ten tial  p r o b lem s   s u c h   as   co d d u p licatio n ,   u n c lear   co d e,   co m p licated   co d e,   an d   d ea d   co d e.   Su ch   d esi g n   a n d   i m p le m e n tatio n   is s u es a r ab le  to   m ak s o f t w a r s y s te m s   m o r an d   m o r m e s s y   o v er   ti m e.   T ab le  1   s h o w   t h s i x   co d s m ells   w h ic h   w ill   b co n s id er ed   i n   t h is   s t u d y .   T h ese  co d s m ell s ar m aj o r   an d   f r eq u en t l y   o cc u r r ed   b ad   c o d s m ell s   i n   th e   o b j ec t - o r ien ted   s y s te m s .   So m e   s m ell s   s u c h   a s   Go d   C las s   a n d   L ar g C lass   ar clo s el y   r elate d   to   th class   s tr u ctu r e s   an d   o th er s   ar f in e - g r ain ed   co d s m ell s   in   th s y s te m   lik Featu r e   E n v y   a n d   L o n g   Me th o d .   A s   co n s id er in g   t h e   class   le v elas  w ell  a s t h m et h o d   lev el,   w ca n   i m p r o v th ac c u r ac y   o f   th p r o p o s ed   n eu r al  n et w o r k   m o d el.       T ab le  1 C o d s m ell s   co n s id er ed   in   th s t u d y   C o d e   S me l l   L e v e l   D e scri p t i o n   G o d   C l a ss   C l a ss   C l a ss es   ha ve   ma n y   me mb e r s a n d   i mp l e me n t   d i f f e r e n t   b e h a v i o r s   L a r g e   C l a ss   C l a ss   C l a sse s d o   t o o   m a n y   t a s k s w i t h   m a n y   me t h o d a n d   d a t a   me mb e r s   F e a t u r e En v y   C l a ss,  M e t h o d   M e t h o d s   a c c e ss  t h e   d a t a   o f   a n o t h e r   o b j e c t   mo r e   t h a n   i t s o w n   d a t a   P a r a l l e l   I n h e r i t a n c e   H i e r a r c h i e s   C l a ss   W e   n e e d   t o   c r e a t e   a   su b c l a ss fo r   a n o t h e r   c l a ss   w h e n e v e r   we   c r e a t e   a   su b c l a ss fo r   a   c l a ss   D a t a   C l a ss   C l a ss   C l a sse s c o n t a i n   o n l y   f i e l d s( d a t a )   a n d   me t h o d s fo r   a c c e ssi n g   t h e m   L a z y   C l a ss   C l a ss   C l a ss es   do   n o t   d o   e n o u g h   w o r k       2 . 2 Neura Net w o rk   M o del   Fig u r 2   d ep icts   s i m p li f ied   n eu r al  n et w o r k   m o d el  t h at  i s   u s ed   in   th e   p r o p o s ed   co d s m ell  d etec tio n   s y s te m .   T h n et w o r k   m o d el  i s   i m p le m e n ted   i n   T en s o r   Flo w   a n d   co n s is t s   o f   th r ee   la y er s - i n p u la y er ,   h id d en   la y er ,   an d   o u tp u la y er .   T h er ar th ei g h o b j ec t - o r ien te d   m etr ics  a s   i n p u v al u i n   t h i n p u la y er - L OC ,   Evaluation Warning : The document was created with Spire.PDF for Python.
      I SS N : 2088 - 8708   I J E C E   Vo l.  7 ,   No .   6 Dec em b er   2 0 1 7   :   3 6 1 3 3 6 2 1   3616   DI T ,   C B O,   R FC ,   W MC,  NOC,  C C ,   a n d   L C OM .   T h n e u r o n s   in   t h d if f er e n la y er s   ar co n n ec ted   w it h   co n n ec tio n   w ei g h ts   a n d   b iase s .   Fu r t h er m o r e,   t h p r o p o s ed   n et w o r k   m o d el  s u p p o r ts   m u ltip le  h id d en   la y er s   to   i m p r o v t h p er f o r m a n ce   o f   t h m o d el  w h en   it   p r ed icts   t h s m ell y   cla s s .   I n   t h e   n e u r al  n et w o r k   m o d el,   t h e   tan h   f u n ctio n   is   u s ed   as   ac ti v atio n   f u n ctio n   f o r   t h h id d en   la y er s   a n d   t h s o f t m a x   f u n ct io n   i s   u s ed   a s   ac tiv atio n   f u n ctio n   f o r   th o u t p u la y er . I n   t h i s   s t u d y ,   A d a m   Op ti m izer   i n   T en s o r   Flo w   i s   u s ed   to   o p tim ize  t h e   lear n in g   r ate.           Fig u r 2 Neu r al  Net w o r k   Mo d el       3.   E VA L UA T I O N   C ase  s t u d ies  h a v b ee n   co n d u cted   to   d e m o n s tr ate  t h e f f e ctiv e n ess   a n d   ac cu r ac y   o f   t h e   p r o p o s ed   ap p r o ac h   f o r   co d s m ell   d ete ctio n   w it h   a   co r p u s   o f   m as s i v J av p r o j ec ts .   Du r i n g   t h es ca s s tu d ie s ,   t h p r o p o s ed   n eu r al  n et w o r k   m o d el  h as  b ee n   tr ain ed   an d   te s t ed   to   p r ed ict  th co d s m el l s   in   t h p r ec ed in g   s ec tio n .     3 . 1 .   J a v a   G it H ub   pro j ec t s   T h J av p r o g r am m i n g   la n g u ag h as  co n tin u ed   to   e v o lv with   t h r ap id   s p r ea d   o f   t h I n t er n et  s i n c e   its   r elea s i n   th w o r ld .   J av also   h as  b ee n   u s ed   as  t h p r i m ar y   d ev e lo p m en lan g u ag f o r   A n d r o id   w h ic h   is   o n o f   th m o s p o p u lar   m o b i le  p latf o r m s .   GitH u b ,   p u b lic  co d r ep o s ito r y ,   s to r es  an d   m an a g e s   m a n y   J av a   p r o j ec ts   in   d if f er e n ap p licatio n   d o m ai n s .   T h p r o p o s ed   c o d s m el d etec tio n   s y s te m   a i m s   at  lo ca ti n g   b ad   s m el ls   in   t h J av p r o j ec ts .   W h ile  ex i s ti n g   r esear ch   h as  d etec ted   co d e   s m e lls i n   r elati v el y   s m all - s ca le  J av p r o j ec ts ,   th p r o p o s ed   ap p r o a ch   u s e s   o p en   lar g e - s ca le  J av p r o g r am s   to   in cr ea s t h r eliab ilit y   an d   p r ec is io n   o f   th e   co d s m el d etec tio n   s t r ateg ies.  T h Git Hu b   co d r ep o s ito r ies  m a y   i n cl u d lo w - q u alit y   J av p r o j ec ts ,   th u s   r eq u ir i n g   t h ab ilit y   to   r e m o v t h s o u r ce   co d f o r   th ese  p r o j ec ts .   T h f o r k   s y s te m   p r o v id ed   b y   t h e   GitHu b   co d r ep o s ito r y   ca n   b u s ed   to   ef f ec ti v el y   ex tr ac l o w - q u alit y   J av p r o j ec ts   w it h   lo w   f o r k   r atio s .   J av p r o j ec t w i th   lo w   f o r k   f r eq u en c y   is   as s u m ed   to   b lo w - q u al it y   p r o j ec t.       T ab le  2 J av GitHu b   p r o j ec ts   N o .   P r o j e c t   N a me s   #   o f   C l a sse s   L O C   D e scri p t i o n s   1   A n d r o i d - U n i v e r sal - I mag e - L o a d e r   1 3 8   6 , 8 2 0   A n d r o i d   L i b r a r y   2   b i g b l u e b u t t o n   9 5 9   59 , 099   W e b   C o n f e r e n c i n g   3   b u k k i t   7 8 5   32 , 277   M i n c r a f t   M o d   A P I   4   c l o j u r e   7 5 4   38 , 389   P r o g r a mm i n g   L a n g u a g e   5   d r o p w i z a r d   6 1 7   22 , 687   R EST f u l   w e b   se r v e r   6   e l a st i c se a r c h   7 , 3 9 1   4 2 0 , 8 3 4   R EST   S e a r c h   En g i n e   7   j u n i t   1 , 2 2 4   2 5 3 , 79   T e st i n g   F r a mew o r k   8   l i b g d x   3 , 2 2 4   2 1 7 , 7 7 5   G a me   D e v   F r a mew o r k   9   me t r i c s   4 0 1   14 , 904   M e t r i c s   F r a mew o r k   10   n e t t y   2 , 6 7 4   1 6 1 , 4 0 6   N e t w o r k   A p p   F r a mew o r k   11   n o k o g i r i   1 5 4   12 , 300   H T M L / X M L / C S S   p a r se r   12   o k h t t p   5 1 5   37 , 264   H TT P   &   H T TP/2   C l i e n t     13   p l a t f o r m_ f r a me w o r k s_ b a se   12 , 959   1 , 3 7 4 , 8 5 2   A n d r o i d   B a se   F r a mew o r k   14   p r e st o   2 , 8 4 1   2 0 9 , 2 9 5   D i st r i b u t e d   S Q L   e n g i n e   15   r e t r o f i t   3 6 2   9 , 0 9 8   R EST   c l i e n t   16   r x j a v a   2 , 1 0 9   49 , 527   R e a c t i v e   JV M   e x t e n si o n s   17   sp r i n g - b o o t   2 , 6 6 6   93 , 347   A p p   F r a mew o r k   W r a p p e r   18   sp r i n g - f r a me w o r k   11 , 651   4 8 4 , 2 2 4   A p p l i c a t i o n   F r a mew o r k   19   st o r m   1 , 2 0 5   64 , 641   D i st r i b u t e d   C o mp u t a t i o n   20   z x i n g   5 4 4   39 , 873   B a r c o d e   i mag e   p r o c e ssi n g     T o t a l   53 , 173   3 , 3 4 8 , 6 1 2     Evaluation Warning : The document was created with Spire.PDF for Python.
I J E C E   I SS N:  2 0 8 8 - 8708       F in d in g   B a d   C o d S mells w ith   N eu r a l Netw o r Mo d els   ( Do n g   K w a n   K im )   3617   T ab le   2   s h o w s   th Git Hu b   J av co r p u s   [ 3 ]   w it h   s h o r d escr ip tio n s   th at  is   u s ed   to   tr ain   an d   test   th e   p r o p o s ed   n eu r al  n et w o r k   m o d el.   T h d ata  s et  is   p ick ed   f r o m   th to p   ac ti v J av a   GitH u b   p r o j ec ts   an d   in cl u d es   d if f er e n ap p licatio n   d o m ain s   f o r   d iv er s it y .   T h e   d ata  s et  i n cl u d es  2 0   p r o j ec ts ,   m o r th a n   5 3 , 0 0 0   J av class es,   an d   m o r th a n   3 , 0 0 0 , 0 0 0   s o u r ce   co d lin e s .   S u c h   co r p u s   s t atis tics   tell s   t h d ata   s et   is   b ig   en o u g h   to   tr ai n   t h p r o p o s ed   m o d el  to   ca tch   b ad   s m el ls   i n   co d e.   T h w h o le  J av co r p u s   is   s p lit  u n i f o r m l y   i n to   tr ain i n g   an d   a   test   s et.     T ab le  3 I d en tif icatio n   R u les f o r   Dete ctin g   B ad   S m ells   B a d   S me l l   R u l e s   L a r g e   C l a ss   L O C   >   3 0 0   o r   D I T   >   5   o r   R F C   >   2 0   L a z y   C l a ss   R F C   = =   0   o r   L O C   <   1 0 0   o r   W M C < =   2   D a t a   C l a ss   L C O M > 8 0   o r   W M C   >   5 0   P a r a l l e l   I n h e r i t a n c e   H i e r a r c h i e s   D I T   >   3   o r   N O C >   4   G o d   C l a ss   W M C   > =   4 7   F e a t u r e   En v y   C B O >   5   o r   L C O M   >   5 0       Fo r   th e   ca s s t u d ies,  s ix   d esi g n   co d s m ell s   ar e   co n s id er ed   t o   id en ti f y   t h p r ese n ce   o f   b ad   s m ells   i n   th g i v e n   J av co d e.   T h g iv e n   J av p r o j ec ts   h av b ee n   an a l y ze d   an d   test ed   to   d etec ea ch   o f   th s i x   b ad   co d e   s m el ls .   I f   cla s s   o r   m et h o d   s atis f ies   t h id en t if ied   th r es h o ld s   s h o w n   in   T ab le  3 ,   it  is   m ar k ed   as  s m e ll y   clas s   o r   m eth o d .   T ab le  3   p r esen ts   ex p er i m e n tal   t h r es h o ld s   to   ap p ly   th e   o b j ec ted - o r ien ted   m etr ics.   Di f f er e n t   id en ti f icatio n   r u les ca n   b d ef i n ed   as f o llo w i n g :     L ar g C las s Si n ce   m ea s u r i n g   th s ize  o f   clas s   is   s i m p le  b u ess e n tia ele m e n t,  it  h a s   b ee n   u s ed   to   ev alu a te  th q u alit y   o f   s o f t war e   s y s te m s .   T h class ic  a n d   co m m o n   w a y   o f   m ea s u r i n g   class   s ize  is   to   m ea s u r t h n u m b er   o f   li n es  o f   co d e,   i.e .   L OC ,   o r   t h n u m b er   o f   attr ib u tes  a n d   o p er atio n s .   Ho w e v er ,   to   co n s id er   o n l y   L O C   i s   n o t   en o u g h   to   d etec t h lar g cla s s es.  T h p r o p o s ed   n eu r al  n et wo r k   m o d el  w il l   m ea s u r e m o r p r o p er ties Dep th   o f   I n h er ita n ce   T r ee   ( DI T )   an d   R esp o n s f o r   C las s   ( R FC ) .   T h m o d el  u s e s th r es h o ld   o f   3 00   f o r   L OC ,   th r e s h o ld   o f   5   f o r   DI T   an d   th r esh o ld   o f   2 0   f o r   R F C in   o r d er   to   d eter m in i f   clas s es   ar e   s tr u ct u r al  ch ar ac ter is t ics d u to   th L ar g C las s   co d s m ell.     L az y   C las s So f t w ar d ev elo p er s   m ak ef f o r ts   to   m ai n tai n   class es  i n   an   o b j ec t - o r ien ted   s y s te m   o v er   ti m e.   Sin ce   u n d er s ta n d in g   a n d   m ai n tain i n g   cla s s e s   is   ti m e - co n s u m i n g   ta s k ,   t h e y   w an to   k ee p   m ea n in g f u an d   f u n ctio n al  cla s s es  in   t h s o f t w ar s y s te m .   E x tr cla s s es  c an   i n cr ea s t h co m p le x it y   o f   t h s o f t w ar e   s y s te m .   I n   ter m s   o f   s o f t w ar m ai n ten a n ce ,   n ea r l y   u s ele s s   c lass es   ca n   b s u b j ec to   co d r ef ac to r in g   [ 2 ] .   L az y   C la s s   s i m p l y   r e f er s   to   class   th a d o es  n o d o   en o u g h   an d   d o es  n o ea r n   y o u r   atte n tio n .   L O C   is   a   b asic  m etr ic  to   d etec th L az y   C la s s   s m ells .   R F C   a n d   W MC  w ill  b co n s id er ed   f o r   th p r ec is e   m ea s u r e m e n t.   T h p r o p o s ed   co d s m ell   d etec tio n   s y s te m   tr i es  to   f in d   th e   laz y   clas s es   w it h   t h f o llo w i n g   co n d itio n s :   R F C   ==   0   o r   L OC   1 0 0   o r   W MC < =   2.     Data   C las s A   cla s s   ca n   b d ef in ed   as  s p ec if icatio n   o f   attr i b u tes  an d   p er m is s ib le  o p er atio n s .   T h er ef o r e,   class   s h o u ld   p r o v id p ar ticu la r   s er v ices   u s i n g   o p er atio n s   f o r   o th er   clas s es.  Ho w ev er ,   Data   C las s   i s   c la s s   th at  d ef i n es  v ar iab les  f o r   m an ag i n g   d ata  w it h o u m ea n in g f u o p er atio n s . I d o es  n o r ep r es en u s e f u an d   in d ep en d en t   b eh a v io r s   i n   a   s o f t w ar s y s te m .   T h d ata  cla s s   i s   clo s er   to   s i m p le  d ata  s tr u ct u r t h an   a   r esp o n s ib le  class .   Fo r   th b etter   m ai n tai n ab ilit y ,   co d s m ell   d etec to r s   lo ca te  th e   d ata   class es  if   p o s s ib l e   an d   g u id p r o g r am m er s   to   ap p ly   r e f ac to r in g   tech n iq u es  s u c h   as  Mo v Me t h o d   an d   E x tr a ct  Me th o d .   T h e   t w o   m etr ics  L C O an d   W MC  is   u s ed   to   f in d   th d ata  clas s es  w it h   th f o llo w in g   co n d iti o n s L C OM   8 0   o r   W MC >   5 0 .     P ar allel  I n h er ita n ce   Hier ar ch i es:  I i s   n o   d o u b t h at  t h co n ce p o f   i n h er ita n ce   in   o b j ec t - o r ien ted   s y s te m s   p r o v id es  m a n y   ad v an tag e s   s u ch   as  co d r eu s e.   Ho w ev er ,   t h u s o f   m is u s ed   in h er ita n c s tr u ctu r e s   n o t   o n l y   co m p l icate s   t h s o f t war s y s te m ,   b u al s o   m a k es s o f t w ar m ain t en a n ce   h ar d e r .   T h p ar allel  in h er i tan ce   h ier ar ch ie s   s m ell h ap p en s   w h en   w h a v t w o   p ar allel  in h er ita n ce   h ier ar c h ie s   ass o ciate d   b y   co m p o s i tio n .   E v er y   ti m e   we   c r ea te  s u b class o f   cla s s ,   w n ee d   to   cr ea te  s u b clas s   f o r   a n o th er   cla s s   d u e   to   th s tr u ct u r p r o b le m .   I is   n ec es s ar y   to   c h a n g e   t h p ar all el  in h er ita n ce   s tr u ct u r to   s o lv th p r o b le m s   ca u s ed   b y   t h i n   h er itan ce   h ier ar ch y .   I n   t h i s   p ap er ,   DI T   an d   NOC  ar co n s id er ed   to   d eter m in i f   a   s o f t w ar s y s te m   co n tain s   t h e   P ar allel  I n h er ita n ce   H ier ar ch ies   p r o b lem s   w i th   th e   f o llo w i n g   co n d itio n s :   DI T   3   o r   NOC >  4 .     Go d   C las s Go d   C las s   r e f er s   t o   clas s   t h at  d o es   to o   m u c h .   Ma n y   b eh a v io r s   ar ce n tr alize d   in   a   p ar ticu la r   class   w it h   u n m a n ag ea b le  attr ib u tes  a n d   o p er atio n s . T o   a d d r ess   s u ch   p r o b le m s   d u to   th g o d   class ,   a   co m m o n   an d   i n tu iti v tech n i q u is   to   s ep ar ate  th g o d   class   i n to   s ev er al  s m a ller   class es.  T h o b j ec t - o r ien ted   m e tr ic  W MC  is   u s ed   to   f in d   th Go d   C lass   s m ell  th r o u g h   t h s u m   o f   th s tatis t ica co m p le x it y   o f   all  m e th o d s   i n   a   clas s .   A   cla s s   is   Go d   C las s   w h e n   W MC  o f   t h cla s s   is   eq u al  to   o r   g r ea t er   th an   4 7 . E v e n   if   w e   ca n   ap p l y   o t h er   m etr ics  f o r   Go d   C la s s ,   W MC   is   o n o f   t h m aj o r   m ea s u r es  to   d etec t   th Go d   C las s   Evaluation Warning : The document was created with Spire.PDF for Python.
      I SS N : 2088 - 8708   I J E C E   Vo l.  7 ,   No .   6 Dec em b er   2 0 1 7   :   3 6 1 3 3 6 2 1   3618   s m el ls . I n   g e n er al,   Go d   C la s s   ca n   b d ec o m p o s ed   i n   o th e r   m u ltip le  cla s s es   b y   u s i n g   c o d r ef ac to r in g   tech n iq u es.     Featu r E n v y Af ter   s o f t w ar s y s te m s ar r elea s ed ,   t h eir   co d s tr u ct u r ca n   ch a n g d u r i n g   o p er atio n .   Du e   to   th v ar io u s   co d r ef ac to r in g ,   clas s es   m a y   b i n te g r ated   o r   s ep ar ated   w it h   o t h er   clas s e s .   T h s tr u c tu r e   ch an g e   o f   th e   clas s   ca n   ca u s e   its   attr ib u teso r   o p er atio n s to   b p lace d   in   d if f er en c lass e s .   I n   t h is   ca s e,   s p ec if ic  o p er atio n   n ee d s   to   f r eq u en tl y   ac ce s s   s o m d ata  o f   an o th er   clas s .   T h is   is   ca lled   Featu r E n v y ,   w h ic h   m a y   in cr ea s t h co m p lex it y   o f   th s o f t w ar s y s te m .   T h id en tif icatio n   o f   Feat u r E n v y   in   s o u r ce   co d ca n   b p er f o r m ed   b y   m e asu r i n g   t h s tr en g th   o f   co u p li n g   t h at  m et h o d   h as  to   m e th o d s   b elo n g i n g   to   o th er   clas s es.  Als o ,   t h is   co d s m ell  ca n   b d etec ted   b y   m ea s u r in g   th e   d eg r ee   o f   l ac k   o f   co h e s io n   i n   me t h o d s .   T h t w o   m etr ics  C B an d   L C OM   ar co n s i d er ed   f o r   Featu r E n v y   w i t h   t h f o llo w i n g   co n d itio n s :   C B 5   o r   L C O 5 0 .     3 . 2 E x peri m ent a Res ults  a n Dis cu s s io n   T h p r o p o s ed   n eu r al  n et w o r k   m o d el  h as  b ee n   tr ai n ed   an d   test ed   w it h   a   co r p u s   o f   t h t w e n t y   J av p r o j ec ts   w h ich   co n tai n   m o r t h an   5 3 , 0 0 0   J av class es  an d   m o r t h a n   3 , 0 0 0 , 0 0 0   s o u r ce   c o d lin es.  T h ese  d ata  h as  b ee n   u s ed   i n   p r ev io u s   s tu d ies  a n d   d o   n o i n clu d a   s p ec if ic  ap p licatio n   d o m ai n ,   b u v ar iet y   o f   d o m ai n s . I n   th i s   s t u d y ,   t h d ataset  s ize  is   lar g en o u g h   to   tr ain   th p r o p o s ed   n et w o r k   m o d el   an d   p r o d u ce   m o r e   ac cu r ate  p r ed ictio n   r esu lt s   w h en   th m o d el  is   u s ed   to   d etec th co d s m el ls .   Fi g u r es  3   t h r o u g h   8   s h o w   th e   ex p er i m e n tal  r es u lt s   ac co r d in g   to   t h s ix   co d s m el ls   w h ich   ar co n s id er ed   in   t h i s   s t u d y .   T h p r o p o s ed   n et w o r k   m o d el  h as  b ee n   e v alu ated   w it h   d if f er en iter at io n s   w h e n   f i x i n g   t h n u m b er   o f   th e   h id d en   la y er s .   T h e   n u m b er   o f   th ep o ch s   i n   t h n et w o r k   m o d el  v ar ies  2 0 0   th r o u g h   5 0 , 0 0 0 .   I is   o b s er v ed   th at   th ac c u r ac y   o f   t h e   n et w o r k   m o d el  r an g e s   f r o m   9 1   to   9 9   ac co r d in g   to   t h n u m b er   o f   th e   ep o ch s .   As   w ca n   s ee   in   t h e   f i g u r es,  t h ac c u r ac y   o f   t h m o d el  is   m o v i n g   u p w ar d s   w h en   th n u m b er   o f   th ep o ch s   is   i n cr ea s i n g . I n   o th er   w o r d s ,   t h ac c u r ac y   o f   th e   m o d el  o n   t h te s t d ata   is   p r o p o r ti o n al   to   t h e   n u m b er   o f   t h ep o c h s .   As  th e   m o d el  i s   h ig h l y   tr ai n ed   o n   th s a m d ataset,   th r es u lt s   w ill  b b ette r .   Ho w ev er ,   t h t y p o f   t h c o d s m ell  d o es  n o t   af f ec th ac c u r ac y   o f   t h p r o p o s ed   m o d el.   T h p r o p o s ed   n et w o r k   m o d el  is   tr ain ed   an d   ev alu a ted   w it h   t h e   d if f er e n n u m b er   o f   th h id d en   la y er s   to   d e m o n s tr ate  t h ef f ec ti v en e s s   o f   t h h id d en   la y e r .   A s   c h an g i n g   t h e   n u m b er   o f   t h h id d en   la y er s ,   w e   ca n   o b s er v h o w   m u ch   t h h id d en   la y er   af f ec t s   t h p r e d ictio n   r es u lt  o f   t h m o d el.   T h n u m b er   o f   t h h id d en   la y er s   r a n g e s   f r o m   1   to   6 0 .   T h lar g er   th e   n u m b er   o f   t h h id d en   la y er s   is ,   th b etter   t h p r ed ictio n   r es u lt s ar e.   T h ac cu r ac y   o f   t h m o d el  r ea ch es  u p   to   t h 9 9   w h e n   t h n u m b er   o f   th e   h id d en   la y er s   v ar ies   r eg ar d le s s   o f   t h t y p e   o f   th e   co d s m ell.   I is   o b s er v ed   th at   w h e n   t h m o d elis   h i g h l y   tr ain ed   w it h   m o r d ataset,   t h e   p r ed ictio n   o u tco m esar ei m p r o v ed   m o r an d   m o r e.   I n   ad d itio n ,   th ac c u r ac y   o f   th m o d el  in cr ea s es  w h e n   it   p er f o r m s   w i th   h i g h er   ep o ch s   an d   m a n y   h id d en   la y er s .   T h h ig h er   v al u o f   th e   ac cu r ac y   i n d icate s   th a t   th p r o p o s ed   n et w o r k   m o d el  ef f ec t iv el y   d etec t s   b ad   co d e   s m ells   in   p r o g r am . T h e   ar tif icial   n e u r al  n et w o r k   i s   f r e q u en tl y   u s ed   i n   co m p u ter   v is i o n   an d   h a s   n o b ee n   u s ed   f o r   ad d r ess in g   s o f t w ar en g i n ee r i n g   p r o b le m s .   I n   p ar ticu lar ,   th er is   litt le  e f f o r tto   ap p ly   t h n e u r al  n et w o r k   m o d el  in to   co d s m el l   d etec tio n   w ith   b i g   en o u g h   p r o g r a m   co d e.           Fig u r e   3 A cc u r ac y   o f   t h Net w o r k   Mo d el  w h e n   Dete ct in g   t h L ar g C la s s   C o d S m ell     Evaluation Warning : The document was created with Spire.PDF for Python.
I J E C E   I SS N:  2 0 8 8 - 8708       F in d in g   B a d   C o d S mells w ith   N eu r a l Netw o r Mo d els   ( Do n g   K w a n   K im )   36 19       Fig u r e   4 A cc u r ac y   o f   t h Net w o r k   Mo d el  w h e n   Dete ct in g   t h L az y   C lass   C o d S m el l           Fig u r e   5 A cc u r ac y   o f   t h Net w o r k   Mo d el  w h e n   Dete ct in g   t h Data   C la s s   C o d S m ell           Fig u r e   6 A cc u r ac y   o f   t h Net w o r k   Mo d el  w h e n   Dete ct in g   t h P ar allel  I n h er ita n ce   Hier ar ch ies   C o d S m ell           Fig u r e   7 A cc u r ac y   o f   t h Net w o r k   Mo d el  w h e n   Dete ct in g   t h Go d   C lass   C o d S m el l       Evaluation Warning : The document was created with Spire.PDF for Python.
      I SS N : 2088 - 8708   I J E C E   Vo l.  7 ,   No .   6 Dec em b er   2 0 1 7   :   3 6 1 3 3 6 2 1   3620       Fig u r e   8 A cc u r ac y   o f   t h Net w o r k   Mo d el  w h e n   Dete ct in g   t h Feat u r E n v y   C o d S m ell       4.   RE L AT E WO RK   P r ev io u s   s t u d ies  h a v p r esen t ed   m et h o d o lo g ies  an d   s tr ate g ies  to   d etec b ad   co d e   s m ells   in   o b j ec t - o r ien ted   s o f t w ar s y s te m s   [ 4 ,   5 ] .   Mo s ap p r o ac h es  f o r   co d s m el d etec tio n   u s o b j ec t - o r ien ted   m etr ics  [ 6 ,   7 ]   to   d eter m i n i f   s o f t w ar s y s te m   co n ta in s   b ad   s m ell s   o r   n o t.  T h ey   h a v id e n ti f ied   e m p i r ical   th r es h o ld s   f o r   o b j ec t - o r ien ted   m etr ic s   b y   co n d u cti n g   ca s s t u d ies  o n   o b j ec t - o r ien te d   p r o g r a m s   [ 8 ] . As  c o d s ize  in cr ea s es,  au to m at ic  d etec tio n   to o ls   [ 9 ]   ar n ee d ed   to   h elp   th d ev elo p er   b y   f i n d in g   co d s m ells   s y s te m atica ll y .   Au to m a tic  s o f t w ar to o ls   [ 1 0 ]   h av e   b ee n   i n tr o d u ce d   f o r   v is u al l y   lo ca tin g   co d s m ell s   in   s o u r ce   co d b y   h ig h li g h ti n g   s u s p icio u s   co d s n ip p ets.  T h e y   al lo w   th d e v elo p er   to   ap p ly   co d r ef ac to r in g   tech n iq u es  f o r   id en ti f ied   co d s m ells .   Mo s t d etec tio n   s y s te m s   o r   to o ls   tr y   t o   f i n d   p r i m ar y   co d s m ell   in s t an ce s   s u ch   as  L ar g e   C las s ,   L az y   C la s s ,   Data   C la s s ,   P ar allel  I n h er ita n ce   Hier ar ch ies,  Go d   C las s ,   a n d   Feat u r E n v y .   T h p r o p o s ed   d etec tio n   s y s te m   al s o   atte m p t s   to   f in d   all  o f   th e m   i n   J av p r o j ec ts .   So m s tu d ies  h av d i v ed   in to   ev al u ati n g   co d s m ell  d etec tio n   to o ls   w it h   th e ir   o w n   as s es s m e n s ta n d ar d s .   T h ey   s tu d ied   d if f er en c o d s m ell  d etec tio n   to o ls   an d   ap p lied   th e m   to   f i n d   co d s m e lls   a g ain s t ap p licatio n s   Neu r al  n e t w o r k   m o d el s   h a v e   b ee n   u s ed   in   v ar io u s   d o m ai n s   s u c h   as  n at u r al  la n g u a g p r o ce s s in g ,   in f o r m atio n   r etr ie v al,   co m p u ter   v is io n ,   an d   g en p r ed icti o n   [ 1 1 ,   1 2 ,   1 3 ,   1 4 ] .   T h s o f t w ar en g i n ee r i n g   co m m u n it y   u s es  t h r esear ch   o u tco m es   o f   n e u r al  n et w o r k s   to   ad d r ess in tr ac tab lean d   p r ac ticall y   i n f ea s ib le   p r o b lem s .   I n   f ac t,  p o p u lar   m o d els  f r eq u e n tl y   u s ed   in   co m p u ter   v i s io n   co u ld   b e   ap p lied   f o r   p r o g r a m m i n g   ap p licatio n s   s u c h   as  s tati s ti ca l   p r o g r a m   s y n th e s is   an d   co d r ef ac to r in g   [ 1 5 ,   1 6 ,   1 7 ] .   W also   u s e   th e   n et w o r k   m o d el   to   d etec a n d   p r ed ict  b ad   co d s m ell s   i n   o b j ec t - o r ien ted   s o f t w ar s y s te m s . J asp r ee k au r   a n d   et   al.   [ 1 8 ]   h av e   p r esen ted   b ad   s m ell   d etec tio n   m e th o d o lo g y   w it h   d esig n   o f   n e u r al  n et w o r k   m o d el   u s in g   o b j ec t - o r ien ted   m etr ics.  T h n eu r al  n et w o r k   m o d el  w as  ap p lied   t o   f in d   t w e lv b ad   s m ell s   ag a in s t w o   d if f er en t   v er s io n s   o f   J av aScr ip en g in ca lled   R h i n o .   Fo r   th b etter   ac cu r ac y ,   th s a m m o d el  w a s   tr ain ed   an d   test ed   u s i n g   d if f er en t e p o ch s . T h ex p er im e n tal  r e s u l ts   d e m o n s tr ated   th r elatio n s h ip   b et w ee n   b ad   s m el ls   a n d   o b j ec t - o r ien ted   m etr ics.  Ho w e v er ,   th eir   n e u r al  n et w o r k   m o d el  is   to o   s i m p le  to   co v er   m u c h   la r g er   J av p r o g r am s   s in ce   it  h as   o n l y   o n e   h id d en   la y er .   I n   ad d itio n ,   th e   m o d el  w a s   test ed   a g ai n s o n l y   s i n g le   J av ap p licatio n .   I t   is   r ea s o n ab le  d o u b t th at  th eir   a p p r o ac h   m a y h a v li m itatio n   o n   th s ca lab il it y .       5.   CO NCLU SI O N S A ND  F UT URE WO RK   A   co d s m el d etec tio n   s y s te m   h as  b ee n   p r esen ted   to   f in d   m aj o r   b ad   co d s m ell s   e f f ec ti v el y   w it h   a n   ar tif icial  n eu r al  n et w o r k   m o d el  th at  h as  b ee n   tr ai n ed   an d   t ested   w i th   t h t w e n t y   p o p u lar   J av p r o j ec f r o m   GitHu b .   Fo r   th e   b etter   p er f o r m an ce   a n d   o p ti m izat io n ,   t h e   p r o p o s ed   n et w o r k   m o d el  h as   b ee n   e v al u ated   o n   m u ltip le  ep o ch s   a n d   h id d en   l a y er s .   T h p r esen ted   s o l u tio n   ap p lies   th n eu r al  n et w o r k   m o d el  f o r   co d s m e ll   d etec tio n   w h ic h   is   o n o f   t h e   ty p ical  s o f t w ar en g i n ee r in g   p r o b lem s   b y   v alid ati n g   th m o d el  w it h   m ass iv e   J av p r o g r a m s .   T h p r o m i s in g   r es u lt s   f r o m   t h ca s s t u d ie s   s u g g e s t h at  n e u r al  n e t w o r k   m o d els  ca n   b a n   ess e n tial  p ar o f   co d s m ell  d etec tio n   to o ls   b y   id en ti f y in g   r ef ac to r in g   ar ea s   w it h   o b j e ct - o r ien ted   m etr ics .   Fu r t h er m o r e,   an o t h er   f i n d in g   o f   th c a s s t u d ies  i s   t h at  o b j e ct - o r ien ted   m etr ics h a v clo s r elatio n s h ip   w it h   b ad   co d s m ell s .   As  f u t u r w o r k ,   m o r co d s m ell s   w i l b ex p lo r ed   to   e x te n d   t h f u n ct io n alit y   o f   th e   p r o p o s ed   d etec tio n   s y s te m   w it h   m o r p r ec is th r es h o ld s   o f   t h o b j ec t - o r ien ted   m etr ic s .   B ased   o n   th f i n d in g s   o f   th i s   s t u d y ,   t h co d s m e ll  d etec tio n   s y s te m   w ill  b ap p lied   f o r   o th er   o b j ec t - o r ie n ted   p r o g r a m m in g   lan g u a g es  s u c h   as  C ++   an d   C # .   T h tr an s itio n   to   o th er   o b j ec t - o r ien ted   s y s te m s   m a y   b s tr aig h t   f o r w ar d   b ec au s th e y ca n   b ex p o s ed to   th s a m co d s m ell s .   T h p r o p o s ed   d etec tio n   s y s te m   w il b i m p r o v ed   b y   u s i n g   m o r o b j ec t - o r ien ted   m etr ics  in   ter m s   o f   ac cu r ac y   an d   ef f ec ti v e n ess . I n   ad d itio n ,   f u tu r r esear ch   m ig h t   co v er   m at h e m a tical  f o r m alis m s   to   r ep r esen t th r elatio n s h ip   b et w ee n   m etr ic s   an d   co d s m e lls .   Evaluation Warning : The document was created with Spire.PDF for Python.
I J E C E   I SS N:  2 0 8 8 - 8708       F in d in g   B a d   C o d S mells w ith   N eu r a l Netw o r Mo d els   ( Do n g   K w a n   K im )   3621   RE F E R E NC E S   [1 ]   S o f tw a r e   En g in e e rin g   S tan d a r d Co m m it tee o f   th e   IEE E,   IE EE   S ta n d a r d   f o r S o ft w a re M a in ten a n c e ,   Ju n e   1 9 9 8 .   [2 ]   M .   F o w ler,  e a l ,   Re f a c to rin g Im p ro v in g   t h e   De sig n   o f   Ex isti n g   Co d e .   A d d iso n - W e sle y ,   1 9 9 9 .     [3 ]   M .   A ll a m a n is,   e a l. ,   S u g g e stin g   A c c u ra te  M e th o d   a n d   Clas Na m e s Pro c e e d in g s o t h e   2 0 1 5   1 0 th   J o in t   M e e ti n g   o n   F o u n d a ti o n o S o f twa re   En g i n e e rin g ,   2 0 1 5 ,   p p .   38 - 4 9 .   [4 ]   R.   Ku m a r e a l . ,   A n   E m p iri c a l   S tu d y   o Ba d   S m e ll   in   Co d e o n   M a in ten a n c e   Eff o rt” In ter n a ti o n a J o u r n a o f   Co mp u ter   S c ien c e   En g in e e rin g ,   v o l.   5 ,   2 0 1 6 .   [5 ]   M.   T u f a n o ,   e t   a l . ,   W h e n   a n d   W h y   Yo u C o d e   S tarts  t o   S m e ll   Ba d Pr o c e e d in g o t h e   3 7 t h   I n ter n a t io n a l   Co n fer e n c e   o n   S o ft w a re   En g in e e rin g ,   M a y   2 0 1 5 .   [6 ]   T . G . S .   F il ó ,   e t   a l . ,     A   Ca talo g u e   o f   T h re sh o ld f o Ob jec t - Orie n ted   S o f tw a re   M e tri c s” T h e   Fi rs In ter n a ti o n a l   Co n fer e n c e   o n   Ad v a n c e s a n d   T re n d s i n   S o ft w a re   En g in e e rin g ,   A p r il   2 0 1 5 .   [7 ]   N.  Ka y a r v izh y ,   S y ste m a ti c   Re v ie w   o f   Ob jec Ori e n ted   M e tri c   T o o ls In ter n a ti o n a J o u rn a l   o Co mp u ter   Ap p li c a ti o n s,   v o l .   1 3 5 ,   F e b   2 0 1 6 .   [8 ]   F. A .   F o n ta n a ,   e a l . ,   A u to m a ti c   m e tri c   th re sh o l d d e r iv a ti o n   f o rc o d e   sm e ll   d e tec ti o n In ter n a ti o n a W o rk sh o p   o n   Eme rg in g   T re n d s i n   S o f twa re   M e trics ,   M a y   2 0 1 5 .   [9 ]   A .   Ha m id ,   e a l . ,   A   Co m p a ra ti v e   S tu d y   o n   Co d e   S m e ll   De te c ti o n   T o o ls” In t’l   J o u r n a o A d v a n c e d   S c ien c e   a n d   T e c h n o l o g y ,   v o l.   6 0 ,   2 0 1 3 .   [1 0 ]   Di  W u e a l . ,   A   m e tri c s - b a se d   c o m p a ra ti v e   stu d y   o n o b jec t - o rien ted   p ro g ra m m in g   lan g u a g e s In ter n a ti o n a l   Co n fer e n c e   o n   S o ft w a re   En g in e e rin g   a n d   K n o wled g e   E n g i n e e rin g ,   Ju ly   2 0 1 5 .   [1 1 ]   Ch a n d ra h a s M ish ra e a l . ,   De e p   M a c h in e   L e a rn in g   a n d   Ne u ra N e tw o rk s:   A n   O v e rv i e w In ter n a ti o n a J o u rn a o f   Arti fi c ia I n telli g e n c e   ( IJ - AI) ,   v o l.   6 ,   n o .   2 ,   Ju n e   2 0 1 7 .   [1 2 ]   S a li su   M u sa   Bo ro d o e a l . ,   Bi g   Da ta  P latf o r m a n d   T e c h n iq u e s In d o n e sia n   J o u rn a o El e c trica En g in e e rin g   and   Co m p u ter   S c ie n c e ,   v o l.   1 ,   n o .   1 ,   Ja n u a ry   2 0 1 6 .   [1 3 ]   P.   Bielik ,   e a l . ,   P ro g ra m m in g   w it h   Big   Co d e L e ss o n s,  T e c h n iq u e a n d   A p p li c a ti o n s T h e   In a u g u r a S u mm i t o n   Ad v a n c e sin   Pro g ra mm in g   L a n g u a g e s ,   2 0 1 5   [1 4 ]   L G u o p in g e a l . ,   Co m b in a ti o n   o f   F a u lt   T re e   a n d   Ne u ra Ne t w o rk in   Ex c a v a to Dia g n o sis In d o n e sia n   J o u r n a l   o El e c trica En g in e e rin g   a n d   Co mp u ter   S c ien c e ,   v o l .   1 1 ,   n o .   4 ,   A p ril   2 0 1 3 .   [1 5 ]   P.   Bielik ,   e a l . ,   P HO G P ro b a b il isti c   M o d e f o Co d e I n ter n a ti o n a C o n fer e n c e   o n   M a c h in e L e a r n in g ,   2 0 1 6 .   [1 6 ]   M .   W h it e ,   e a l . ,   T o w a rd   D e e p   L e a rn in g   S o f twa re   Re p o sito ries In t’l   Co n fer e n c e   o n   M i n in g   S o ft w a re   Rep o sit o rie s ,   2 0 1 5 .   [1 7 ]   H.K.  Da m ,   e a l .,   A   d e e p   l a n g u a g e   m o d e f o so f t w a re   c o d e W o r k sh o p   o n   Na t u ra l n e ss   o S o ft w a re ,   A u g   2 0 1 6 .   [1 8 ]   J.Ka u r ,   e a l. ,   Ne u ra Ne t w o rk   b a se d   Re fa c to rin g   A re a   Id e n ti f ic a ti o n   in   S o f twa re   S y ste m   w it h   Ob jec Orie n ted   M e tri c s” In d i a n   J o u r n a o S c ien c e   &   T e c h n o lo g y ,   v o l .   9 ,   M a rc h   2 0 1 6 .   Evaluation Warning : The document was created with Spire.PDF for Python.