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.