Indonesi an  Journa of El ect ri cal Engineer ing  an d  Comp ut er  Scie nce   Vo l.   13 ,  No.   1 Jan uar y   201 9 ,   pp.  1 ~ 6   IS S N: 25 02 - 4752, DO I: 10 .11 591/ijeecs .v1 3 .i 1 .pp 1 - 6          1       J ourn al h om e page http: // ia es core.c om/j ourn als/i ndex. ph p/ij eecs   A propo sed forw ar clause sli cing app lic ation       Kha li l Aw ad 1 ,  Moh amm ad   Ab d allah 2 , Ab delfa tah T amimi 3 , A mi N gah 4 ,  H anadi T amimi 5   1,2, 3 Facul t y   of  Sc ie nc e and  Infor m at ion  T ec hnolo g y ,   Al - Z a y toon a Univer sit y   of  J orda n,   Am m an,   Jordan   4 School  of  In for m at ic s a nd   Appl ie Ma the m at i cs ,   Univer si ti Mal a y sia   T ere ngg anu ,   Mal a y s ia   5 EYEVIDO GmbH,  Koblen z, Rh ine l and - Palatinat e,   G erman y       Art ic le  In f o     ABSTR A CT   Art ic le  history:   Re cei ved   A ug  26 , 201 8   Re vised  N ov 19 , 2 01 8   Accepte Nov 26 , 201 8       The   Cl ause   slicing  technique   is  stat i slicing  t ec hniqu es  whic al so  hav e   forward  and   ba ckwa rd  sli ci ng  m et hods.  The  Cla use  sli ce  cr i te ri ar the  cl ause   and  the  c la use  num ber .   I thi pap er,  we   have  discussed  the   Cl ause r   tool   th fo rwar clause  sl ic ing   too l   int rodu ce  som improve m ent to  i t.    The   Cl ause m e cha nism   divi des   the   progra m   c ode  statem ent   i nto  clauses,   depe nding  on   cl ause   slicing  r ule s,  id entifie s   the   v ariabl es  and  built - in   func ti ons,  th en  slices t he  clauses re gar ding the   sli ce   cr it er ion  that  was  ent ered   b y   th user .   Co m par ing  to  othe r   stat i slicing  t echnique the   clau se  slic ing  is  m ore   ac cur a te   a nd  pre ci se  b ec a use  it   conside rs  al th cod in  m ic ro - le ve l,  where   i foc uses   on  eve r y   s y n tax  in  th cod e.  T he  Cla use stil nee ds  to  b e   enha nc ed to  sli c m ore   code fe a t ure s.   Ke yw or d s :   Cl ause s li ci ng   Cl auser   for ward slic in g   Pr og ram  an al ys is   Pr og ram  sli ci n g   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 :   Moh am m ad  A bd al la h   Faculty  of S ci e nce a nd Info rm at ion  Tec hnol ogy,    Al - Zay to on a h Un i ver sit y o J orda n,     Qu ee n Ali a air port roa d,   Amm an,  J ordan.   Em a il m .ab dalla h@ z uj.edu. jo       1.   INTROD U CTION   Pr og ram   sli c ing   was  i ntr oduc ed  in  1979  by   W ei se [ 1]   as  “a  m e tho us e f or   a bs tr act ing   f ro m   com pu te pro gr am s.”  Re gardin the  form ula;  in  Pro gr a m   P,  the  pro gr am   sli ce  has  crit eria  w hich  ar e   represe nted  as   <s,  v>,   w here  is  the  sta tem ent  nu m ber  and   is  the  var ia ble.  W it resp ect in of  sli ci ng   crit eria, t he  sli ce incl udes  only  tho se  stat em ents  of   need e to  capt ur e  th e b e hav i or of  v at  s  [ 2] .   Cl ause  sli ci ng  was  introd uc ed  in  2012  by   Abdall ah  [ 3]   as  sta t ic   slicing   te ch nique the  cl ause  sl ic ing   is  co ncen t rati ng   on  the  c ode   synta of   the  pro gram ,   as  pa rt  of  pro gr am   robu st nes s     m easur em ent  t echn i qu e .   The   Cl auser   was  bu il to  identif the  cl auses  t hat  can  be  sli ced  into  the  pr ogram giv e them  a n um ber , an al lo the u se to ch oose one of them   to b e sli ced and  retu rn  th e fo rm ed  sli ce. So  f ar ,   it   on ly   sli ces  the  var ia bles  a nd  buil t - in  fun ct ion s.   But,  i the  plan,  we   are  inte nd e t m ake  it   sli ce  eve ry  sing le   cl au se  in  the  c ode.   T he   cl ause  sli ci ng  co ns i der m os of  the  c ode   synta wor ds   as  pote n ti al   sli ci ng  crit erion,  wh ic m akes it m or e u se fu l i te sti ng and m easur i ng the  pro gr am  quali ty .   This  resear ch   pap er  has  im pr ov e the  cl ause  sli ci ng  too that  intro duce in  pr e vious  w orks .     The  cl ause  sli c ing   f or   functi on  an va riable are  not  auto m at ic al ly   do ne Ther e f or e new   le ve of   C la us er  was de velo ped an a pp li ed .   This  pa per   is  di vid ed  int fiv sect ion s;  Sec ti on   will   ex pl or relat ed  program   sl ic ing   and   to ols  that   app li ed  them . In  Sect io 3, th e Cl auser m od el  w il l be  descri bed  i n detai ls showin g   how  it  w ork s r e ga rd i ng th e   cl ause  ch os e ru le s.  Sect i on   intr oduces  a   case  stud an the  eval uatio of  Cl auser.  The  co nclu sio ns   an fu t ur w ork  i S ect ion   5.         Evaluation Warning : The document was created with Spire.PDF for Python.
                          IS S N :   2502 - 4752   Ind on esi a J  E le c Eng &  Co m Sci,   Vo l.   13 , N o.   1 Ja nu a ry  20 19   :   1     6   2   2.   RELATE D  W ORK   Stat ic   sli c ing   m eans  that  the  cod synta will   be  reser ve after  sli ci ng.   In   oth e r   w ord s,  al po ssible   execu ti ons o t he  pro gram   are   ta kin int ac count  [4 - 5] .   St at ic   sli ci ng   is  bu il by  assign  a   po i nt  of   inte re st  and   delet al irrela ti ve  sta tem ents  to  this     po i nt  [6 - 8] po i nt  of  intere st  is  the   sta tem ent  to  be   sli ced;  it   is  signe by  the  var ia ble  an li ne  num ber   (V L).  Wh i c cal le sli ci ng   crit eria   [9 - 10] .   T he  s ta ti sli ci ng   can  be   execu ta ble  or   non - exec utable   [10] E xecu ta ble  sli ce  m eans  the  cod that   pr od uced   a fter  the  sli ci ng   op erati on  (the  sli ce)  ca be  c om piled and  run  as  a  pro gram   Weiser  [ 1,   7 - 8,  11]   intr oduce the   pro gram   sli ci ng   wh ic is  know la te as  E xec utabl Ba ckwar Stat ic   Sli ci ng It  is  Execu ta bl because   the  sli ce  pr od uced  as  an  exec uta ble  pro gr am Ba ckw a rd   Sli ci ng   is   com pu te by  gathe rin sta te m ents  an c ontrol  pr e dicts  by   way  of  ba ckw a r tra ver s al   of   t he  pro gram s   sta rting   at   the  sli ci ng   crit eria  [10] Ba ck ward  sli ci ng   c onta ins  the  sta te m e nts  of  the  pro gram   wh ic af fe ct   the  crit eria  sli ce,  and   it   ans wer the  que sti on   “w hat  pro gr am   co m pone nts  m ight   aff ect   sel ect ed    com pu ta ti on ? ”  [5]   Anothe f or m   of   sta ti sli c ing   is  Forwa r Sli ci ng For ward  Sli ci ng   traverse   data  and   c on t ro l   dep e ndence  e dges  in  the  f orward  directi on  and   an swe rs  the  quest io “wh at   pr ogr am   com po ne nts  m igh be   aff ect ed  b a s el ect ed  com pu t at ion ? ”  [5] .   Fo r wa rd   sli ce   captur e the  eff ect   of  it sli ci ng   crit eria  on   the  rest  of   the  pro gr a m and   it   is     consi der e ki nd   of   fl ow   e ffec analy sis  [4,  12 ] It  con ta i ns   the  set   of  sta tem ent and   c on t ro pre dicts  that  wer e   af fected  by  the  c om pu ta ti on   of  the  sli ci ng   c rite rio n.  The  Sli ci ng   c r it eria  are  the   s a m as  in  bac kw a r sli ci ng  (V,  L)  [ 9,   10 ] [ 13 - 16] .   Fo r wa rd   Sli ci ng   usual ly   does  no pro du ce  a execu ta ble  sli ce,  unli ke  the  backwa rd   sli ci ng.  Be caus e   the  chall e ng e   c ause by  For w ard  Sli ci ng  is  def i ning  the   se m antic captu r ed  by  forw a r sli ce  [ 6,  10,   17 ] .   deco m po sit io sl ic ing   is  sli ce  us ed  t dec om po se  the  pr ogram   into  dif fer e nt  com po ne nts.  Dec om posit ion   sli ci ng  is a  uni on of ce rtai sl ic es taken  at ce rtai li ne n um ber on a  giv e n varia ble  [ 8,   18] .   Deco m po sit io sli ci ng   has  t wo  pa rts:  T he   sli ce,  w hich   is  the  sli ce  c rite ria,  a nd  the  c om ple m ent.    The  sli ce  cap tures  al relev ant  com pu ta ti on in vo l ving  a   giv e va riabl e”  [18] w her e   deco m po sit io sli ce  dep e nds o t he   var ia ble  nam e   on ly   an do e no t dep e nds o sta tem ent  nu m ber.  The  c om ple m ent  is  the  rest  of   the pr ogram  co de; it  also ca n be c onsidere d as a sli ce that  c orres ponds to  the  rest of sli ci ng c rite ria  [ 18 ] .   Ther a re  al so  m any  oth er p r ogram sli ci ng   te chn i qu e s.  H oweve r,   in  this r esearch  we  onl interest ed   in  for ward  an bac kwar st at ic   sli ci ng   te chn i qu e s.   P rogr am   sli ci ng   is  widely   us e for  m any  purposes:  debu gg i ng   [ 8] m ai ntenan ce  [ 18 ] te sti ng   [ 19,  20 ] detect ing   dea co de  [ 21 ] m easur in program   ro bu stness   [22 - 24]   and   qual it y [25 - 27]   an m any  oth er  app li cat io ns   [ 26,  28 ] T heref ore,  Re searche rs  hav trie ap pl yi ng   their  ideas  of   us in pro gr am   sli ci ng   and   a dv a nce too ls.   Too ls  of  pro gr am   sli c ing   are  dev el oped  to  sli ce  diff e re nt  pro gra m m ing   la ng ua ges  [ 29] As  we  f oc us ed  i this  researc on  la ngua ge  s li ci ng we  only   li ste so m e sli ci ng  to ols fo C l an gu age: CS urf,   fr a m a - C, an d Wis consi n Pr ogra m - Sli c ing .   Cod e Surfe [30]   is  pa rt  of  Cod e Sonar   te c hnology,  G ra m m aTech' s,  the  de velo pm ent  com pan y,    aim s to  autom at e a sour ce - c ode analy sis t ool  that fin ds   bugs.  Cod e Surfe is  a p r ogram - unde rstan ding to ol  that  m akes  m anual   rev ie of  c od e   easi er   an faster C od e S on a is   an   aut om at ed  bug   fi nd e t hat  ge ne rates  repor of  def ec ts i the  code.   Ma ny  pro gr am unde rstan ding  to ols  inter pr et   cod l oosel y.  In   c ontrast Cod e Surfe does  preci se   analy sis.  P rogra m   con st ru ct s,   inclu ding  pr e - process or  di re ct ives,  m acro s,   an C+ te m plate s,  a re  a na ly z ed  correct ly Co de Surfe cal cula te va riet of  represe ntati ons  that  can   be   e xp l or e t hroug the   grap hical   us e interface  or ac cessed t hro ugh t he op ti onal   program m ing   API  [ 30] .   Fr am a - [31]   is  cod a na ly sis  too w hi ch  is  us e f or  pro gram wr it te in  pr ogram m ing     l anguag only It  sup ports  sta ti sli ci ng   te chn i qu e s;  Forwa rd   a nd  ba ckw a r sli ci ng.  It  al so   prov i des  a   dep e ndency a na ly sis.   Fr am a - com e with  plugi ns   su c as  Sli ci ng   a nd  Val ue  a naly sis.  F ram a - al lows  thes plugin t colla borate.  It  al so   ena bles  the  us ers   to  inse rt  and   r un  their  plugins  a nd   connect  them   with  oth e pl ugins  i Fr am a - C. How ever, it  sti ll  n e eds  t o be im pr ov e t s uppor t othe ty pes o f  sli ci ng  s uc as  d ynam ic  sli ci ng .   Ther is  al so   a p r ogram   sli c ing   too cal le W i sco ns in  P r ogram - Sli ci ng   too [ 32] It  can   do   F orward  Sli ci ng bac kw ard  sli ci ng,  a nd  c hoppin g.  Al so ,   it   co ns ist pac ka ge  f or  bu il di ng  a nd  m anipu la ti ng  c on t ro l - flo gr a phs  a nd  pr ogram   dep en de nce  gr a phs.   Th W i sco ns in   Pro gr am - Sli ci ng   t oo is   only   de velo pe a nd   te ste on  Sun  OS   5.5.1  w hich  m ake it a le ss know t han previ ou s  to ols  [ 32 ] .   The  s rcML  [32 - 33]   pro gram  i s a co m m and  li ne  a pp li cat ion   for  the c onve rs ion  s ource c od e to sr cM L an  inter face  for   the  ex plorat io n,   a naly sis,  an m anipu la ti on  of   s ource  c ode   in  this  f or m and   t he  c onversi on   of   srcML  bac k t o source c ode.  T he  c urren pa rs ing  tec hnol og i es sup port C/ C+ +, C# , a nd Ja va  [16, 3 4 - 35] .   Evaluation Warning : The document was created with Spire.PDF for Python.
Ind on esi a J  E le c Eng &  Co m Sci     IS S N:  25 02 - 4752       A p r opose d f orw ar d cl ause sli ci ng   applic atio n   ( Kh alil  Awad )   3       Figure  1. The   pro po se d f orw ard cl ause  sli ci ng m od el       3.   CLA US E R:  T HE PR OPO S ED APPL IC A TION   Cl ause  sli ci ng   was  intr oduce in  [3 36]   as  sli ci ng   te chn i que  that  interest   in  par of  th sta tem en t   that  m ay   aff ect   the  rest  of  the   sli ce.  T he  m ain   pur po se   of  Cl ause  sli ci ng  w as  m ai nly  to  enh a nce   the  sof tware   rob us tness  m ea su rem ent of C  pro gr am s.   The  Cl ause  sli ci ng   is  s pec ia ty pe  of   sta ti sli ci ng   te chn i qu e;   it   is  r eserv e sy ntax   te chn i qu e Cl ause  Sli ci ng  has  the   sam t ypes  of  sta ti s li ci ng It  ca be   for ward  cl au se  sli ci ng bac kw a r cl ause  s li ci ng or d ec om po sit ion cl ause  sli ci ng. In  this  paper, o nly t he  f or ward cla us e sli ce will  b disc us se d.   Cl ause  is  de fine as  the  m i nim u m   pie ce  of   co de  that  can   be  sli ced  [ 3] So m cl auses  that  are  not  sli ceable , i.e.,  #in cl ude,  and  break  that cal le d t he un - sli ceabl e cla us es.   The  sli ci ng   c rite ria  fo t he  Cl ause  sli ci ng   a re  <C n>,   w he re  is  the  Cl ause,  an is  the  Cl ause   Nu m ber .  Th e   Cl ause s li ci ng  (Cn) is al l cl au ses in t he pr ogr a m  that de pend s on  cl a us e sli c ing  c rite ria <C ,  n >.   The  first  ste in  the  Cl ause  sli ci ng   te chn i qu is  the  Cl ause  num ber ing.  It  is  diff ere nt   than  the  sta tem ent  nu m ber i ng,  w her no e ver sta te m ent  is  cl ause  and   vice  ve rsa.   T her e fore,   the  cl auses  m us be   def i ned   dep e ndin on  so m ru le that  ide ntifie in  [ 3,   36 ] T he de pe nd i ng   on  the   sli ci ng   crit eria  that  identifie d p re vio us ly ,  the slic i ng w il l be  appl ie d,  a nd the Cl ause s li c will  b pro du ce as  shown i F i gu re  1.   In  F ig ur e   1,  t he  F orwa rd  C la us sli ci ng  m od el   is  pr es ented.  I t he  f irst  sta ge,  P re par i ng  F or m ,     two  li sts  are  cr eat ed  once  the  Cl auser   r uns:  Sli ceable wh i ch  will   be  us e to  store   al t he  sli ceable   cl auses  in   the tar get code  (the  c ode to  b e  sli ced) ,  and  I ndex;  w hich wil l be  us e sto re  the all  v a riable  clause  num ber s.   Mov i ng   t the   sta ge  tw o,   Cl a us Nu m ber in g,   w her it   sta r ts  with  rea di ng  the  ta r get  co de it   m us be  store in  te xt   file The th cl auses  will   be  se par at ed  usi ng   t he  r ules  [3,  36]   into  ke ywo rd s va ria bles,   nu m ber …et c.  Th e t he  m odel  starts the  f ollow in g p ro ce dure:   List  f or the  loc at ion   for  eac i nd e   Fo r  eac it em  i the  s ource c ode    #in cl ude    nu m ber ing  it  and  wr it e it  to  a  n e file     Re turn    nu m ber i ng it  and  w rite  it  to  new  file   Functi ons ( m ain , sc an f,   pri ntf, sqrt   num ber in it  and  wr i te  it  to  new fi le   Digital     w rite  it  to  new fil e   Sp eci al  cha ract er    wr it e it  to  ne w fil e   Othe rw ise ,  the  it e m  w il l be Variable s   Evaluation Warning : The document was created with Spire.PDF for Python.
                          IS S N :   2502 - 4752   Ind on esi a J  E le c Eng &  Co m Sci,   Vo l.   13 , N o.   1 Ja nu a ry  20 19   :   1     6   4   Check  if th e   va riable e xists in  var ia ble li st    num ber ing i t and w rite  it  to  new file   If   not exist s   Add  a  n e w va riable to  va riabl e List     Stor e  it s num ber  int o varia ble ind ic es  li st   Nu m ber in it     Wr it e it  to  a  n e file   The  t hird stage , Clause  Sli ci ng, s ta rts  us in t he   data that  wa s co ll ect ed p re viously  in  sta ge  two.   T he  Cl ause  Sli ci ng   pr ocedure   is  execu te by   the  us er.  Wher the  us er  is  re sp onsi ble  for  s el ect ing   the  sli ci ng   c rite ria  (the  var ia ble  to   be  sli ced  a nd  t he  cl a us nu m ber  w her e   to   sta rt  sli ci ng),   t he Fetc t h sel ect ed  var ia ble  from   the  sta rt  po int  to  the  end   of  the  pro gr am If   the  cl auses  are  sli ceable reg ar ding  the  r ules  i   [2,  24 ] , t hen it  w il l be  pr i nted t the  outp ut f i le s.  Ot herwise,  it  w il l be s kipped  and  not s how i it .       4.   EVAL UA TI O N   In  the  previ ous   w ork  [ 36 ]   t he  Cl auser   was   in tro du ce a the   first  t oo l   that  app li es  t he  Cl a us sli ci ng   te chn iq ue.   It  was  in  the  ea rly   sta ges  of   de velo pm ent.  It  was  not  us e r   fr ie ndly   too l,  wh e re  the  us er   has  to   choose  t he  va r ia ble  and   it num ber   befo re  s li ci ng an if  t he  use wan ts  t see  a no t her   s li ce,  he  or  sh has  to   rerun  the   pro gram   and   s el ect   the  ne sli ci ng  c rite ria.  T he   m ai con tri buti on   of  the   ne ver si on  of  Cl auser  that  intr oduce Functi on  sli ci ng,  wh e re  no the   us er   can   sli ce  va riable an t he  buil t - in  functi ons   s uch  as  scanf an d p rint f.   More ov e r,   it   is   m or us er - f rie nd ly Where  t he   us e ca sel e ct   the  va riable   an it in dex  nu m ber   t o   see  it sli ce.  T he  us e then  c an  cha ng t he  sli ci ng   crit eria  without  reloa di ng   the  pro gr a m   file wh ic r edu ce s   the ex ec utio t i m e and  im pr oves t he usabili ty .   In   a ddit ion t he   Cl auser   in   the  fir st  ve rsion   wa pro duci ng   t wo   te xt  fi le one  after  t he  cl ause   nu m ber in tha con ta ins  cl au ses  and   thei num ber and   th second  te xt  f il that  con ta ins  the  sli ci ng   re su lt s.     In   th ne ve rsion  the  Cl au ser  sho ws  the  pro gr am m ed  with  cl ause  nu m ber ed  to  the   us er an on   a no t he r   screen , it s how s the  res ults o f sl ic ing   dep e nding o t he  c hos en  sli ci ng crite ria.   In  the  ea rlie Cl auser   ve rsion,  t he  Cl au ser   only   num ber e th var ia bles,  an the  de ve lop e has  t hav r en um ber ed  the  co de  ta ki ng   into  acc ount  the  sp eci al   words.  But  i this  ver si on,  al ty pes  of   wor ds  in  the  cod e  are  num ber ed . Ho we ver ,  in  the  tw o ver sion o Cl au se r,  it  sti ll  sli ces the  var ia bles.   Com par ing   t ano t her   pro gr am sli ci ng   too ls  s uch  as  f ram a - and   C Su r f.   The  ne w   ver si on  of  Cl auser ,   in  a dd it ion   to   the  pre v io us   featu re,  can  sli ce  par of  the   pr ogram with  no  need  to  c om pile  or   r un  the   pro gr am More ov e r,   Cl a us er  can  nu m ber   th co de  ev en  i there  a re  no   va riables,  with  t he   abili ty   to  sk i the   com m ents. T he refor e , it can   giv e a ac cu rate n um ber  of cl auses  i th e  pr ogram .   Cl auser   as  the  on ly   sli ci ng   to ol  that  ru ns  the   cl ause  sli ci ng   te chn iq ues  that   m akes  it  us eful   to  be  par of   m easur in the  pro gram   ro bu st ness.   So,  usi ng   Cl ause w il m ake  the  program   ro bustn ess  m easur ing   is  fu ll y   autom at ed.   In   add it io n,   the  C la us er  can  be  us e to  m easure   the  qu al it of   the  co de  reg a rd i ng   s om s ta nd a r crit eria  su ch  as   MISRA  [3]   that  con side ever sin gle  w ord  in  the  co de   synta x.   O ca be  use to  id entify   the d ea c ode  easi ly .   The  Cl auser   ha an  ad van ta ge  that  the  de velo per   ca only   nu m ber   th cod with ou the  need   to    sli ce  it , w hic h ca n be  us ef ul  f or furt her   pract ic e su c as c od e analy sis.   Fo r   no w,   our  too ca sli ce  var ia bles  in  al diff e re nt  pos it ion it   co uld  occ ur   at ,   s uc as  i a init ia li zation  stat e m ent, as  a p aram et er in  a f un ct io n,  i an a ssign m ent stat e m ent as in  t he  us e or the d e f init ion   conditi on.  I a dd it io n,   to  t he   bu il t - in  functi on su c as  sc anf   a nd   pri ntf.  Thus,  the  Cl a us er  t oo sti ll   needs  m or e w ork  to b e able to  sli ce  m or e language  f eat ures.       5.   CONCL US I O N   Cl ause  sli ci ng   is  sta t ic   sli c i ng   te ch nique  that  was   intr oduced   as  sli ci ng   te ch nique  f or   pa rt  of   t he   cod e   sta te m ent   or  li ne.   The  Cl auser   is  t he   too t hat  sli ces  pr ogra m   us ing   Cl aus Sli ci ng   te c hniq ues.  Cl auser   m echan ism   dep ends  on   the  Cl a us Sli ci ng   r ules  of   cl a use   sli ci ng   abili ty   and   nu m ber in g.    The n it   al lows  the  use t c hoos t he  cl au se  or  the  funct ion   to   be  sli ced,  the Cl au se ap plies  the  c la us sli ci ng  tech nique a nd r et urns t he  sli ce o it .   The  Cl ause can  be  us ed  to  nu m ber   the  co de  cl auses  that   can  be  us e f ul  in  app ly in r ules  on  thes e   cl auses  co ding   sta nd a rd s uc as  MISR C.  It  al so   help to  analy ze  the  co de  w hich   has  f ur the in   code   m ai ntenan ce,  re gr es sio te sti ng and  de bugg ing .     Cl auser   sti ll   ne eds  to  be  upgr a de to  a pply   to  al pr ogram   featur e s.  N ow,  it   only   sli ces  the   var ia bles  an bu il t - in  functi ons.  I the  fu t ure  work,  the  Cl auser   will   be  de velo ped   t sli ce  al cl auses  i C   pro gr am .   Evaluation Warning : The document was created with Spire.PDF for Python.
Ind on esi a J  E le c Eng &  Co m Sci     IS S N:  25 02 - 4752       A p r opose d f orw ar d cl ause sli ci ng   applic atio n   ( Kh alil  Awad )   5   REFERE NCE S   [1]   M.  W ei ser,   "P rogra m   slic es:  f orm al ,   ps y chological,   and  pr a ct i ca inv esti g ations  of  an  autom at ic   progra m   abstra c ti on  m e th od, PhD ,   Th U nive rsit y   of  Mi c higa n,   Michi g an, 1979.   [2]   D.  Binkl e y   and  K.  Gall agher,  "P rogra m   Slic ing, "   in  Adv ance in  Computers .   vol.  Volum 43,   V.  Z.   Marvin ,   Ed.,  ed:   El sevi er,  199 6,   pp .   1 - 50 .   [3]   M.  Abdall ah ,   "A   W ei ghte Grid  for  Mea suring  Program   Robustness,"  PhD Computer  Scienc e ,   Du rha m   Univer sit y ,   2012.   [4]   X.  Baowe n,   Q.   Ju,  Z .   Xiaof an g,   W .   Zhongq iang,  and  C .   Li n,   "A   brie surve y   of   progra m   slic ing , vol .   30 ,     pp.   1 - 36 ,   2005 .   [5]   K.  Gallaghe an D.  Binkl e y ,   "P rogra m   slic ing , in  Front ie rs   of  Soft ware  Main tenance ,   2008 .   Fo SM   2008. ,   2008 ,   pp.   58 - 67 .   [6]   S.  Mitra,  D .   Kim ,   and   M.   Fong,  " Program   Slic ing," 2007.   [7]   M.  W ei ser, "P rogra m m ers  use  sli ce s when   debug ging, Comm uni cat ions o th e A CM ,   vol .   25 ,   pp .   446 - 452,   1982 .   [8]   M.  W ei ser, "P rogra m   Slic ing , I EE E   Tr ansacti o ns on  Soft ware   E n gine ering ,   vol .   10,   pp .   352 - 357 ,   1984.   [9]   M.  Harm an  and   R.   Hier ons ,   "A Overvi ew  of   pro gra m   slic ing , so ft ware  fo cus ,   vol .   2 ,   pp .   85 - 92 ,   2 001.   [10]   F.  Ti p ,   "A   surva y   of  Program   Sli ci ng  Te chn ique s , Journal   of Pro gram ming  Lang uages ,   vol .   3 ,   pp .   121 - 189 ,   1995 .   [11]   M.  W ei ser,   "P rogra m   slic ing, "   pre sente at   th Proce ed ings  of  the   5th  international   confere nce   on  Soft ware   engi ne ering ,   San   Diego, Califor ni a,   Uni te d   States, 1981.   [12]   B.   Sue,   "Com p uti ng  rippl eff ec for  softwar m ai nte nan ce,"   Journal  of  Soft ware  Mainten ance ,   vol .   13,     p.   263 ,   2001 .   [13]   A.  d.   Lucia ,   "P rogra m   Slic ing:  Methods  and  Applic a ti ons,"  p rese nte at   th IEE In te rnatio nal  Workshop  on  Source   Code   An aly sis and  Man i pulat ion ,   2001 .   [14]   S.  Horw it z,   T.   Reps,   and  D.  Binkl e y ,   "Int erp ro ce dura slic ing  using  depe nden ce   gra phs,"  AC Tr ansacti on  of  Program   Langu age  Systms ,   vol.  12,   pp .   26 60 ,   1 990.   [15]   H.  Mum ta z,   M.  Alsha y eb ,   S.  Mahm ood,   and  M.  Niaz i ,   "A empi ric a stud y   to  improve  software   sec uri t y   th rough   the   appl i cation  o code re f actori n g, Information   and  Soft ware   Te chnol ogy ,   vo l. 9 6,   pp .   112 - 125 ,   2018/04/ 01/   201 8.   [16]   B.   Alokush,  M.  Abdall ah,   M.  Alrifa e e,   and  M.  Sala h,   "A   Propos ed  Java   Stat i Slic ing  Approac h, Indone sia Journal  of   Elec t rical   Engi ne erin and  Computer   Sci en ce ,   vol .   11 ,   pp.   308 - 317,   20 18.   [17]   D.  Binkl e y ,   S.  Danic i c,   T .   G y i m óth y ,   and  M.  Harm an,   "The or et i ca founda ti o ns  of  dy namic  progra m   slic ing,"   Theoreti cal Com pute r Sc ie nc e ,   v ol.   360 ,   pp .   23     41,   2006 .   [18]   K.  Gall aghe a nd  J.  R.   L y le,  "U si ng  progra slic ing  in  software   m ai nte nan ce , Soft ware  E ngine ering ,   IE E E   Tr ansacti ons   on,   vol. 17, pp. 751 - 761,   1991 .   [19]   A.  Ngah,   M.  Munro,  and  M.  Abdallah,   "A Overvi ew  of  Reg rission  Te sting, "   Journal  of  Tele communic at ion ,   El e ct ronic   and  Computer  Engi n ee ring  ( JTEC) ,   v ol.   9 ,   pp .   45 - 49 ,   2017.   [20]   A.  Ngah,   M.  Mu nro,   Z.   Abdulla h ,   M.  A.  Jali l,   an M.  Abdall ah,   "Regre ss ion  Te st  Sele c ti on  Model Com par ison   bet wee n   ReT S and  P y th ia,"  TEL KOMNIKA  ( Tele communic ati on   Computing  E lectroni cs  and  Contro l)   vol.   17 ,   2018 .   [21]   N.  Al Abw ai ni,   A.  Aldaàje ,   T.  Jabe r,  M.  Abdal l ah,   and  A.  T amim i,   "U sing  Program   Slic ing  to   Dete c th Dea d   Code, in  2018   8th  Inte rnat iona Confe ren ce   on   Computer  Sci en ce   and  In formati on  Technol ogy   ( CSIT) ,   2018,   pp .   230 - 233.   [22]   A.  Abdalla,  M.  Abdall ah ,   and   M.  Sal ah ,   "A Bri ef  PR OG RA RO BUS TNESS  S U RVEY,"  Inte rna ti onal  Journal  o f   Soft ware  Engi ne ering  &   Appl ic at ions ,   vol .   8 ,   pp .   1 - 10,   2017 .   [23]   M.  Abdallah,   M.   Munro,  and  K .   Gall agh er,   "C ertif y ing  softwar r obustness  using  progra m   slic ing , in  2010  IE EE  Inte rnational   Co nfe ren c on   Softw are  Maintenan ce ,   2010,   pp.   1 - 2.   [24]   M.  Abdallah,   M.  Munro,  and   K.  Gallaghe r ,   "A   Stat ic   Robu stness  Grid  Us ing  MIS RA  C2  La nguag Rul es, "   pre sente d   a th e The   6 th  In te rnat ional   Conf ere nc on  So ft ware   E ngine ering   Adv a nce s ,   B arcel on a, Spai n,   2011.   [25]   K.  S.  Patna ik  an P.  Jha,   "P roposed  Metri cs  for  Proce ss   Capa bil i t y   Ana l y s is  in  Im proving  Softw are   Qual ity A n   Empiric a Study , In te rnation al  Journal  of   Soft ware  En gine ering  and   Technol ogy  ( IJS ET) ,   vol.   1,     pp.   152 - 164 ,   20 16.   [26]   M.  M.  A.   Abda ll ah   and  M.   Alr ifa e e,  " Towa rds   n ew  fra m ew ork  of  progra m   qualit y   m ea sur ement  base d   on  progra m m ing  language   st anda rd s,"  Inte rnatio nal   Journal  o f Engi nee ring  &   Technol ogy ,   vol .   7 ,   pp .   1 - 3,   2018.   [27]   M.  M.  Abdall ah  and  M.  M.  Al - R ifa e e,   "J ava   Stan dar ds:  Com pa rat iv Stud y , Inte rnatio nal  Jour nal  of  Computer  Sci en ce and  Sof t ware  Engi n ee rin g ,   vol .   6 ,   p .   146 ,   2017.   [28]   A.  D.  Lu ci a ,   "P rogra m   slic ing:  m et hods  and  ap pli c at ions,"  in  P roce edi ngs  F irst  IEE E   Inte rnat i onal  Workshop  on  Source   Code   An aly sis and  Man i pulat ion ,   2001 ,   pp.   142 - 149 .   [29]   T.   Hoffn er,   "Ev al ua ti on  and  co m par ison  of  pro gra m   slic ing  to ols,"  Department   of  Computer  and  Information  Sci en ce ,   L inkpi n Univer sit y ,   Sw ede n1995.   [30]   Gram m aT ec h.   (2009,  12/1/ 2018).   CodeSurfer .   Avail ab le http:/ /ww w.gr a m m a te ch. com / pro du ct s/c odes urfer / ov e rv ie w .h tm l   [31]   P.  Baudi n ,   F.  B obot,   R .   Boni ch on,   L .   Corr enson,   P.  Cuoq ,   Z .   D arg a y e ,   et   al.,   "F rama - C, Fram a - 16  -   Sulfur  e d:  Inform at ions l ég al es  et droi t   de   d iffusion,   2007 .   [32]   M. - C.   Lee  and   T.   Chan g ,   "S oftwa re  Mea sure m ent   and  Software   Metrics  in  Software   Qual ity , Int ernati on al   Journal  of   Soft w are  Engi n ee ring   and  Its  App li ca tions ,   vol. 7, pp. 1 5 - 34,   2013 .   [33]   C.   D.  N ewm an,   T.  Sage ,   M.   L.  Coll ard ,   H .   W .   Alom ari ,   and  J.   I.   Ma le t ic,  "s rc Slic e:  Too fo E ffi ci en St ati c   Forw ard   Slic ing,"  in  2016  IEE E/ ACM  38th  Inte rnational   Confe r enc on  Soft war Engi ne ering  Companion  ( ICSE - C) ,   2016,   pp .   62 1 - 624.   Evaluation Warning : The document was created with Spire.PDF for Python.
                          IS S N :   2502 - 4752   Ind on esi a J  E le c Eng &  Co m Sci,   Vo l.   13 , N o.   1 Ja nu a ry  20 19   :   1     6   6   [34]   M.  Abdallah,   B .   Alokush,  M.  Al ref aee,  M.  Sal ah ,   R.   Bade r ,   and  K.  Aw ad,   "J avaBS T:   Java   b ac k ward  slic ing   tool,"   in   2017   8 th  In te r nati onal  Con fe re nce   on   Informati on  Technol og ( ICIT) ,   2017,   pp.   614 - 618.   [35]   A.  Ngah  and  S.  A.  Sela m at ,   "U sing  Objec to  Sli ce   Java   Program , Journal  of  Engi nee ring  and  A ppli ed  Scienc es vol.   13 ,   pp .   1320 - 1325,   2018 .   [36]   M.  Abdall ah  an H.  Ta m imi,  " Cla user  Cla use   Slic ing  Tool   fo Programs, Inte rnational   Jo urnal  of  Soft ware   Engi ne ering  and   Its  App li ca ti ons ,   vol. 10, pp. 49 - 56,   03/31   2016.       BIOGR AP HI ES OF  A UTH ORS         Khali Aw ad   is  le ct u rer   at   th Depa rtment  of  Software   Engi n eering  in  Facul t y   o Scie nce   an d   Inform at ion  Tec hnolog y   at   the   Al - Zay toon ah  Univer sit y   of  Jordan.   He  re ce iv e his  BS in  Com pute Scie n ce   from   Al - Zay t oonah  Univer sit y ,   Am m an,   Jordan  in  2003  and  His  MS i n   C om pute Scie n ce   from   AlBal q Applie Univ ersity ,   As   Salt,  Jordan  in  2007.   His  rese arc int er ests  ar Pro gra m   Anal y s is, AI,  and   web  d ev el opm ent .           Moham m ad  Ab dal l ah  is  an  As sistant   Prof essor  at   th Dep art m e nt  of  Softwar Engi ne eri ng  in   Facul t y   of  Sci e n ce   and  Inform at ion  T ec hno log y   a the   Al - Zaytoonah  Univer si t y   of  Jordan .     He  rec e ive his  BS in  Com pute Scie nc from   Al - Zay toon ah  Univer sit y ,   Am ma n,   Jordan  i n   2007  and  His  MS in  Software   Engi ne eri ng  fr om   Bradf ord  U nive rsit y ,   Br adf ord,   the   UK   in  2008  and  Ph.D.  in  Software   Engi nee r ing  from   D urha m   Univer sity ,   Durham ,   the   UK   in  2012.   His re sea r ch  in terests a re   Progra m   Anal y sis,   Soft ware   Qua li t y ,   an Software   Te st i ng.           Abdelf atah  T amim i   is  Profess or  at   the   Dep artm ent   of  Softwar Engi n ee r ing  i Facul t y   of   Scie nc and  In form at ion  T ec h nolog y   at   the   Al - Zay toon ah  Univer sit y   of  J orda n.   Prof .   Abdelf atah  is  cu rre ntly   th Dea n   of  at   the   Facult y   of  Scie n ce   an Inform at ion  Te chnol og y   a t   the   Al - Za y toon a Univer sit y   of  Jordan.   He   received  his  BS c   in  Math  from   Jordan  Univer s i t y ,   Amm an,   Jordan   and  His  MS and  Ph.D.  in  Com pute Scie n ce   from   Cit y   o New  York  Univer sit y ,   New   York, the  US A i 1996.             Am ir  Ngah  is  an  As sistant   Pr ofe ss or  at   the  Depa rt m ent   of   Com pute Scie n ce   at   the  Al - Zay toon ah  Univer sit y   of  Jordan .   He  rec ei ved  hi BS in  Co m p ute Scie n ce   fro m   Univer siti   Te knologi   Ma lay sia ,   Johor,  Mal a y si and  His  MS in  Softwar Engi ne eri ng  fr om   Univer siti   Putra  Malay sia ,   Sela ngor,   Mal a y si and  Ph. D.  in  Software   Engi nee r ing  f rom   Durham   Univer sit y ,   Dur ham,  the   UK   i 2012.   His  re sea rch   int er ests  are   Program   Anal y sis  an d     Software   T esti n g.           Hana di  T amim i   is  Software   Deve lope in  E YEVID G m b in  Koblenz ,   Germ an y .   She   rec e ive h er  B Sc  in  Com pute r   Scie nc from   Jordan  Univer si t y ,   Am m an,   Jordan  in  2014.     MS in  W eb  Sc i enc e   from   Koble nz - La nd au,  Kobl enz ,   Germ an y   in   2017.   She   work in  Sever al   companie in   Jorda and   Ger m an y .   Her  r ese arc int er ests  ar W eb  d eve lop m ent   and   E y e   tra ck ing  s y s te m s.     Evaluation Warning : The document was created with Spire.PDF for Python.