Indonesi an  Journa l  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 d  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 r  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 h  Univer sit y   of  J orda n,   Am m an,   Jordan   4 School  of  In for m at ic s a nd   Appl ie d  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 d  Nov 26 , 201 8       The   Cl ause   slicing  technique   is  stat i c  slicing  t ec hniqu es  whic h  al so  hav e   forward  and   ba ckwa rd  sli ci ng  m et hods.  The  Cla use  sli ce  cr i te ri a  ar e  the  cl ause   and  the  c la use  num ber .   I n  thi s  pap er,  we   have  discussed  the   Cl ause r   tool   th e  fo rwar d  clause  sl ic ing   too l   int rodu ce  som e  improve m ent s  to  i t.    The   Cl ause r  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 e  user .   Co m par ing  to  othe r   stat i c  slicing  t echnique s  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 l  th e  cod e  in  m ic ro - le ve l,  where   i t  foc uses   on  eve r y   s y n tax  in  th e  cod e.  T he  Cla use r  stil l  nee ds  to  b e   enha nc ed to  sli c e  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 e  o f Ad vanc ed   Engi n ee r ing  and  S cienc e .    Al l   rights re serv ed .   Corres pond in g  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 f  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 r  [ 1]   as  “a  m e tho d  us e d  f or   a bs tr act ing   f ro m   com pu te r  pro gr am s.”  Re gardin g  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  s  is  the  sta tem ent  nu m ber  and   v  is  the  var ia ble.  W it h  resp ect in g  of  sli ci ng   crit eria, t he  sli ce incl udes  only  tho se  stat em ents  of   P  need e d  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  a  sta t ic   slicing   te ch nique ,  the  cl ause  sl ic ing   is  co ncen t rati ng   on  the  c ode   synta x  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 t  to  identif y  the  cl auses  t hat  can  be  sli ced  into  the  pr ogram ,  giv e them  a n um ber , an d  al lo w  the u se r  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 n  the  plan,  we   are  inte nd e d  t o  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 s  m os t  of  the  c ode   synta x  wor ds   as  a  pote n ti al   sli ci ng  crit erion,  wh ic h  m akes it m or e u se fu l i n  te sti ng and m easur i ng the  pro gr am  quali ty .   This  resear ch   pap er  has  im pr ov e d  the  cl ause  sli ci ng  too l  that  intro duce d  in  pr e vious  w orks .     The  cl ause  sli c ing   f or   functi on  an d  va riable s  are  not  auto m at ic al ly   do ne .  Ther e f or e ,  a  new   le ve l  of   C la us er  was de velo ped an d  a pp li ed .   This  pa per   is  di vid ed  int o  fiv e  sect ion s;  Sec ti on   2  will   ex pl or e  relat ed  program   sl ic ing   and   to ols  that   app li ed  them . In  Sect io n  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 n  ru le s.  Sect i on   4  intr oduces  a   case  stud y  an d  the  eval uatio n  of  Cl auser.  The  co nclu sio ns   an d  fu t ur e  w ork  i n  S ect ion   5.         Evaluation Warning : The document was created with Spire.PDF for Python.
                          IS S N :   2502 - 4752   Ind on esi a n  J  E le c Eng &  Co m p  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 e  synta x  will   be  reser ve d  after  sli ci ng.   In   oth e r   w ord s,  al l  po ssible   execu ti ons o f  t he  pro gram   are   ta kin g  int o  ac count  [4 - 5] .   St at ic   sli ci ng   is  bu il t  by  assign  a   po i nt  of   inte re st  and   delet e  al l  irrela ti ve  sta tem ents  to  this     po i nt  [6 - 8] .  A  po i nt  of  intere st  is  the   sta tem ent  to  be   sli ced;  it   is  signe d  by  the  var ia ble  an d  li ne  num ber   (V ,  L).  Wh i c h  cal le d  sli ci ng   crit eria   [9 - 10] .   T he  s ta ti c  sli ci ng   can  be   execu ta ble  or   non - exec utable   [10] .  E xecu ta ble  sli ce  m eans  the  cod e  that   pr od uced   a fter  the  sli ci ng   op erati on  (the  sli ce)  ca n  be  c om piled and  run  as  a  pro gram .    Weiser  [ 1,   7 - 8,  11]   intr oduce d  the   pro gram   sli ci ng   wh ic h  is  know n  la te r  as  E xec utabl e  Ba ckwar d  Stat ic   Sli ci ng .  It  is  Execu ta bl e  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 d  by  gathe rin g  sta te m ents  an d  c ontrol  pr e dicts  by   way  of  a  ba ckw a r d  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 h  af fe ct   the  crit eria  sli ce,  and   it   ans wer s  the  que sti on   “w hat  pro gr am   co m pone nts  m ight   aff ect   a  sel ect ed    com pu ta ti on ? ”  [5]   Anothe r  f or m   of   sta ti c  sli c ing   is  Forwa r d  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 n  “wh at   pr ogr am   com po ne nts  m igh t  be   aff ect ed  b y  a s el ect ed  com pu t at ion ? ”  [5] .   Fo r wa rd   sli ce   captur e s  the  eff ect   of  it s  sli ci ng   crit eria  on   the  rest  of   the  pro gr a m ,  and   it   is     consi der e d  a  ki nd   of   fl ow   e ffec t  analy sis  [4,  12 ] .  It  con ta i ns   the  set   of  sta tem ent s  and   c on t ro l  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 e  as  in  bac kw a r d  sli ci ng  (V,  L)  [ 9,   10 ] ,  [ 13 - 16] .   Fo r wa rd   Sli ci ng   usual ly   does  no t  pro du ce  a n  execu ta ble  sli ce,  unli ke  the  backwa rd   sli ci ng.  Be caus e   the  chall e ng e   c ause d  by  For w ard  Sli ci ng  is  def i ning  the   se m antic s  captu r ed  by  a  forw a r d  sli ce  [ 6,  10,   17 ] .   A  deco m po sit io n  sl ic ing   is  a  sli ce  us ed  t o  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 n  sl ic es taken  at ce rtai n  li ne n um ber s  on a  giv e n varia ble  [ 8,   18] .   Deco m po sit io n  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 l  relev ant  com pu ta ti on s  in vo l ving  a   giv e n  va riabl e”  [18] ,  w her e   deco m po sit io n  sli ce  dep e nds o n  t he   var ia ble  nam e   on ly   an d  do e s  no t dep e nds o n  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 e  a re  al so  m any  oth er p r ogram s  sli ci ng   te chn i qu e s.  H oweve r,   in  this r esearch  we  onl y  interest ed   in  for ward  an d  bac kwar d  st at ic   sli ci ng   te chn i qu e s.   P rogr am   sli ci ng   is  widely   us e d  for  m any  purposes:  debu gg i ng   [ 8] ,  m ai ntenan ce  [ 18 ] ,  te sti ng   [ 19,  20 ] ,  detect ing   dea d  co de  [ 21 ] ,  m easur in g  program   ro bu stness   [22 - 24]   and   qual it y [25 - 27]   an d  m any  oth er  app li cat io ns   [ 26,  28 ] .  T heref ore,  Re searche rs  hav e  trie d  ap pl yi ng   their  ideas  of   us in g  pro gr am   sli ci ng   and   a dv a nce d  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 n  this  researc h  on  C  la ngua ge  s li ci ng ,  we  only   li ste d  so m e sli ci ng  to ols fo r  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 r  [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 r  is  a p r ogram - unde rstan ding to ol  that  m akes  a  m anual   rev ie w  of  c od e   easi er   an d  faster .  C od e S on a r  is   an   aut om at ed  bug   fi nd e r  t hat  ge ne rates  a  repor t  of  def ec ts i n  the  code.   Ma ny  pro gr am s  unde rstan ding  to ols  inter pr et   cod e  l oosel y.  In   c ontrast ,  Cod e Surfe r  does  a  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 d  C+ +  te m plate s,  a re  a na ly z ed  correct ly .  Co de Surfe r  cal cula te s  a  va riet y  of  represe ntati ons  that  can   be   e xp l or e d  t hroug h  the   grap hical   us e r  interface  or ac cessed t hro ugh t he op ti onal   program m ing   API  [ 30] .   Fr am a - C  [31]   is  a  cod e  a na ly sis  too l  w hi ch  is  us e d  f or  pro gram s  wr it te n  in  C  pr ogram m ing     l anguag e  only .  It  sup ports  sta ti c  sli ci ng   te chn i qu e s;  Forwa rd   a nd  ba ckw a r d  sli ci ng.  It  al so   prov i des  a   dep e ndency a na ly sis.   Fr am a - C  com e s  with  plugi ns   su c h  as  Sli ci ng   a nd  Val ue  a naly sis.  F ram a - C  al lows  thes e  plugin s  t o  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 r  pl ugins  i n  Fr am a - C. How ever, it  sti ll  n e eds  t o be im pr ov e d  t o  s uppor t othe r  ty pes o f  sli ci ng  s uc h  as  d ynam ic  sli ci ng .   Ther e  is  al so   a p r ogram   sli c ing   too l  cal le d  W i sco ns in  P r ogram - Sli ci ng   too l  [ 32] .  It  can   do   a  F orward  Sli ci ng ,  bac kw ard  sli ci ng,  a nd  c hoppin g.  Al so ,   it   co ns ist s  a  pac ka ge  f or  bu il di ng  a nd  m anipu la ti ng  c on t ro l - flo w  gr a phs  a nd  pr ogram   dep en de nce  gr a phs.   Th e  W i sco ns in   Pro gr am - Sli ci ng   t oo l  is   only   de velo pe d  a nd   te ste d  on  Sun  OS   5.5.1  w hich  m ake it a le ss know n  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 d  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 t  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 n  J  E le c Eng &  Co m p  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 d  in  [3 ,  36]   as  a  sli ci ng   te chn i que  that  interest   in  a  par t  of  th e  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  a  s pec ia l  ty pe  of   sta ti c  sli ci ng   te chn i qu e;   it   is  r eserv e d  sy ntax   te chn i qu e .  Cl ause  Sli ci ng  has  the   sam e  t ypes  of  sta ti c  s li ci ng .  It  ca n  be   for ward  cl au se  sli ci ng ,  bac kw a r d  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 e  disc us se d.   A  Cl ause  is  de fine d  as  the  m i nim u m   pie ce  of   co de  that  can   be  sli ced  [ 3] .  So m e  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 r  t he  Cl ause  sli ci ng   a re  <C ,  n>,   w he re  C  is  the  Cl ause,  an d  n  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 p  in  the  Cl ause  sli ci ng   te chn i qu e  is  the  Cl ause  num ber ing.  It  is  diff ere nt   than  the  sta tem ent  nu m ber i ng,  w her e  no t  e ver y  sta te m ent  is  a  cl ause  and   vice  ve rsa.   T her e fore,   the  cl auses  m us t  be   def i ned   dep e ndin g  on  so m e  ru le s  that  ide ntifie d  in  [ 3,   36 ] .  T he n  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 e  will  b e  pro du ce d  as  shown i n  F i gu re  1.   In  F ig ur e   1,  t he  F orwa rd  C la us e  sli ci ng  m od el   is  pr es ented.  I n  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 d  to  store   al l  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 d  sto re  the all  v a riable  clause  num ber s.   Mov i ng   t o  the   sta ge  tw o,   Cl a us e  Nu m ber in g,   w her e  it   sta r ts  with  rea di ng  the  ta r get  co de ,  it   m us t  be  store d  in  a  te xt   file .  The n  th e  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 s  …et c.  Th e n  t he  m odel  starts the  f ollow in g p ro ce dure:   List  f or the  loc at ion   for  eac h  i nd e x    Fo r  eac h  it em  i n  the  s ource c ode    #in cl ude    nu m ber ing  it  and  wr it e it  to  a  n e w  file     Re turn    nu m ber i ng it  and  w rite  it  to  a  new  file   Functi ons ( m ain , sc an f,   pri ntf, sqrt )    num ber in g  it  and  wr i te  it  to  a  new fi le   Digital     w rite  it  to  a  new fil e   Sp eci al  cha ract er    wr it e it  to  a  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 n  J  E le c Eng &  Co m p  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  a  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 g  it     Wr it e it  to  a  n e w  file   The  t hird stage , Clause  Sli ci ng, s ta rts  us in g  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 d  by   the  us er.  Wher e  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 e  nu m ber  w her e   to   sta rt  sli ci ng),   t he n  Fetc h  t h e  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 n    [2,  24 ] , t hen it  w il l be  pr i nted t o  the  outp ut f i le s.  Ot herwise,  it  w il l be s kipped  and  not s how n  i n  it .       4.   EVAL UA TI O N   In  the  previ ous   w ork  [ 36 ]   t he  Cl auser   was   in tro du ce d  a s  the   first  t oo l   that  app li es  t he  Cl a us e  sli ci ng   te chn iq ue.   It  was  in  the  ea rly   sta ges  of   de velo pm ent.  It  was  not  a  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 s  num ber   befo re  s li ci ng ,  an d  if  t he  use r  wan ts  t o  see  a no t her   s li ce,  he  or  sh e  has  to   rerun  the   pro gram   and   s el ect   the  ne w  sli ci ng  c rite ria.  T he   m ai n  con tri buti on   of  the   ne w  ver si on  of  Cl auser  that  intr oduce d  Functi on  sli ci ng,  wh e re  no w  the   us er   can   sli ce  va riable s  an d  t he  buil t - in  functi ons   s uch  as  scanf an d p rint f.   More ov e r,   it   is   m or e  us er - f rie nd ly .  Where  t he   us e r  ca n  sel e ct   the  va riable   an d  it s  in dex  nu m ber   t o   see  it s  sli ce.  T he  us e r  then  c an  cha ng e  t he  sli ci ng   crit eria  without  reloa di ng   the  pro gr a m   file ,  wh ic h  r edu ce s   the ex ec utio n  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 s  pro duci ng   t wo   te xt  fi le ,  one  after  t he  cl ause   nu m ber in g  tha t  con ta ins  cl au ses  and   thei r  num ber s  and   th e  second  te xt  f il e  that  con ta ins  the  sli ci ng   re su lt s.     In   th e  ne w  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 d  on   a no t he r   screen , it s how s the  res ults o f sl ic ing   dep e nding o n  t he  c hos en  sli ci ng crite ria.   In  the  ea rlie r  Cl auser   ve rsion,  t he  Cl au ser   only   num ber e d  th e  var ia bles,  an d  the  de ve lop e r  has  t o  hav e  r en um ber ed  the  co de  ta ki ng   into  acc ount  the  sp eci al   words.  But  i n  this  ver si on,  al l  ty pes  of   wor ds  in  the  cod e  are  num ber ed . Ho we ver ,  in  the  tw o ver sion o n  Cl au se r,  it  sti ll  sli ces the  var ia bles.   Com par ing   t o  ano t her   C  pro gr am s  sli ci ng   too ls  s uch  as  f ram a - C  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 t  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 e  co de  ev en  i f  there  a re  no   va riables,  with  t he   abili ty   to  sk i p  the   com m ents. T he refor e , it can   giv e a n  ac cu rate n um ber  of cl auses  i n  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 t  of   m easur in g  the  pro gram   ro bu st ness.   So,  usi ng   Cl ause r  w il l  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 d  to  m easure   the  qu al it y  of   the  co de  reg a rd i ng   s om e  s ta nd a r d  crit eria  su ch  as   MISRA  C  [3]   that  con side r  ever y  sin gle  w ord  in  the  co de   synta x.   O r  ca n  be  use d  to  id entify   the d ea d  c ode  easi ly .   The  Cl auser   ha s  an  ad van ta ge  that  the  de velo per   ca n  only   nu m ber   th e  cod e  with ou t  the  need   to    sli ce  it , w hic h ca n be  us ef ul  f or furt her   pract ic e su c h  as c od e analy sis.   Fo r   no w,   our  too l  ca n  sli ce  var ia bles  in  al l  diff e re nt  pos it ion s  it   co uld  occ ur   at ,   s uc h  as  i n  a n  init ia li zation  stat e m ent, as  a p aram et er in  a f un ct io n,  i n  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 n  a dd it io n,   to  t he   bu il t - in  functi on s  su c h  as  sc anf   a nd   pri ntf.  Thus,  the  Cl a us er  t oo l  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  a  sta t ic   sli c i ng   te ch nique  that  was   intr oduced   as  a  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 l  t hat  sli ces  a  C  pr ogra m   us ing   Cl aus e  Sli ci ng   te c hniq ues.  Cl auser   m echan ism   dep ends  on   the  Cl a us e  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 r  t o  c hoos e  t he  cl au se  or  the  funct ion   to   be  sli ced,  the n  Cl au se r  ap plies  the  c la us e  sli ci ng  tech nique a nd r et urns t he  sli ce o f  it .   The  Cl ause r  can  be  us ed  to  nu m ber   the  co de  cl auses  that   can  be  us e f ul  in  app ly in g  r ules  on  thes e   cl auses  co ding   sta nd a rd s  s uc h  as  MISR A  C.  It  al so   help s  to  analy ze  the  co de  w hich   has  f ur the r  in   code   m ai ntenan ce,  re gr es sio n  te sti ng and  de bugg ing .     Cl auser   sti ll   ne eds  to  be  upgr a de d  to  a pply   to  al l  C  pr ogram   featur e s.  N ow,  it   only   sli ces  the   var ia bles  an d  bu il t - in  functi ons.  I n  the  fu t ure  work,  the  Cl auser   will   be  de velo ped   t o  sli ce  al l  cl auses  i n  a  C   pro gr am .   Evaluation Warning : The document was created with Spire.PDF for Python.
Ind on esi a n  J  E le c Eng &  Co m p  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 l  inv esti g ations  of  an  autom at ic   progra m   abstra c ti on  m e th od, "  PhD ,   Th e  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 s  in  Computers .   vol.  Volum e  43,   V.  Z.   Marvin ,   Ed.,  ed:   El sevi er,  199 6,   pp .   1 - 50 .   [3]   M.  Abdall ah ,   "A   W ei ghte d  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 f  surve y   of   progra m   slic ing , "  vol .   30 ,     pp.   1 - 36 ,   2005 .   [5]   K.  Gallaghe r  an d  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 f  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 n  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 d  at   th e  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 e  eff ec t  for  softwar e  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 d  at   th e  IEE E  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 l  slic ing  using  depe nden ce   gra phs,"  AC M  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 n  empi ric a l  stud y   to  improve  software   sec uri t y   th rough   the   appl i cation  o f  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 c  Slic ing  Approac h, "  Indone sia n  Journal  of   Elec t rical   Engi ne erin g  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 l  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 r  a nd  J.  R.   L y le,  "U si ng  progra m  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 n  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 d  M.  Abdall ah,   "Regre ss ion  Te st  Sele c ti on  Model :  A  Com par ison   bet wee n   ReT S E  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 t  th e  Dea d   Code, "  in  2018   8th  Inte rnat iona l  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 M  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 e  r obustness  using  progra m   slic ing , "  in  2010  IE EE  Inte rnational   Co nfe ren c e  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 e  Rul es, "   pre sente d   a t  th e The   6 th  In te rnat ional   Conf ere nc e  on  So ft ware   E ngine ering   Adv a nce s ,   B arcel on a, Spai n,   2011.   [25]   K.  S.  Patna ik  an d  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 l  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   a  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:  A  Com pa rat iv e  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 g  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 - C  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:  A  Too l  fo r  E ffi ci en t  St ati c   Forw ard   Slic ing,"  in  2016  IEE E/ ACM  38th  Inte rnational   Confe r enc e  on  Soft war e  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 n  J  E le c Eng &  Co m p  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 y  ( ICIT) ,   2017,   pp.   614 - 618.   [35]   A.  Ngah  and  S.  A.  Sela m at ,   "U sing  Objec t  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 d  H.  Ta m imi,  " Cla user  :  Cla use   Slic ing  Tool   fo r  C  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 l  Aw ad   is  a  le ct u rer   at   th e  Depa rtment  of  Software   Engi n eering  in  Facul t y   o f  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 d  his  BS c  in  Com pute r  Scie n ce   from   Al - Zay t oonah  Univer sit y ,   Am m an,   Jordan  in  2003  and  His  MS c  i n   C om pute r  Scie n ce   from   AlBal q a  Applie d  Univ ersity ,   As   Salt,  Jordan  in  2007.   His  rese arc h  int er ests  ar e  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 e  Dep art m e nt  of  Softwar e  Engi ne eri ng  in   Facul t y   of  Sci e n ce   and  Inform at ion  T ec hno log y   a t  the   Al - Zaytoonah  Univer si t y   of  Jordan .     He  rec e ive d  his  BS c  in  Com pute r  Scie nc e  from   Al - Zay toon ah  Univer sit y ,   Am ma n,   Jordan  i n   2007  and  His  MS c  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 d  Software   Te st i ng.           Abdelf atah  T amim i   is  a  Profess or  at   the   Dep artm ent   of  Softwar e  Engi n ee r ing  i n  Facul t y   of   Scie nc e  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 e  Dea n   of  at   the   Facult y   of  Scie n ce   an d  Inform at ion  Te chnol og y   a t   the   Al - Za y toon a h  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 c  and  Ph.D.  in  Com pute r  Scie n ce   from   Cit y   o f  New  York  Univer sit y ,   New   York, the  US A i n  1996.             Am ir  Ngah  is  an  As sistant   Pr ofe ss or  at   the  Depa rt m ent   of   Com pute r  Scie n ce   at   the  Al - Zay toon ah  Univer sit y   of  Jordan .   He  rec ei ved  hi s  BS c  in  Co m p ute r  Scie n ce   fro m   Univer siti   Te knologi   Ma lay sia ,   Johor,  Mal a y si a  and  His  MS c  in  Softwar e  Engi ne eri ng  fr om   Univer siti   Putra  Malay sia ,   Sela ngor,   Mal a y si a  and  Ph. D.  in  Software   Engi nee r ing  f rom   Durham   Univer sit y ,   Dur ham,  the   UK   i n  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  a  Software   Deve lope r  in  E YEVID O  G m b H  in  Koblenz ,   Germ an y .   She   rec e ive d  h er  B Sc  in  Com pute r   Scie nc e  from   Jordan  Univer si t y ,   Am m an,   Jordan  in  2014.     MS c  in  W eb  Sc i enc e   from   Koble nz - La nd au,  Kobl enz ,   Germ an y   in   2017.   She   work s  in  Sever al   companie s  in   Jorda n  and   Ger m an y .   Her  r ese arc h  int er ests  ar e  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.