Program slicing can be effectively used to debug, test, analyze, understand and maintain ... In this paper, a new slicing model is proposed to slice Java programs based on their inherent ...... ing focus, the overall performance of slicing will be.
! " # $ " $%$ & % ' %
(# )" *+ ' , % " -#$ -&& '. ,
!" ## $ $% !" ##& $$ ' % " " % " $ $ $ ( $" $ $$ $ $ $$ $ ) $$ $$ %" $ * " " " % ) $ $ $ $ % $ $ $ " $ $ $$ +% ), -+),. $$ $ " % $ $ $" $$ " $$ " +/+" $" +),
!
! ! ! ! " " # $! #
%&' ()*+ Æ )* ! ,!- . / ! /! !/ /! )* " ! !/ ! )* " # ! / $! $! ! ! # / /
0 1+ )* 2+ )*
! )* &+ )* ,! ! ! / 3 # / $! $! ! " 3 4 ! 3 5 3 6 !
7 !/ 8! 3 (5)*+ 6 (4)*+ ( ,*+ 4)* , 5)* 99 , 6 4)* ( )4+ 99 : .
( ,*+ 4
! " #$ %&&&
! "" #$ %& ' (( )&'&*+ ,&*&* -
3 3 / ! : ! !
! ! 3 3 # ! ! ! # ! ! ! ! : - ! ! 6
(,47+ 4 & ! ! ! 4 ; - < :5 ! ! 4 = / ! !/ 4 >
53 6 ? / @ @ : ,47
" A B : ! 1+ / C " " / C " 2+ # " ! " : ,47 / C C / ! / @ /
0&1
: ! ! - ( + :
0 ! ! ! ! ! ( ! ! / +0 / ! / / D / ! / ! / ! / ( + D - ( + ! ! / ( + D ( + ( + 7 D - ( + ! ! / ( + D ( + ( + ( + 4 D - ( + ! D ! / ( + D ( + ( + ( + ( + ! ! ( + !
: 0 1+ 2+ &+ !
! ! 6 ! 1 !
0!#
# ,47 ! ( + E ( + / ( : / " E + / ( + E ( + 4
( (+ " + E
( + E !
( + " E ( + E ( + / " E ( + E ( + 4 ( + E
"
( + E !& ! ' ( + " E ( + E ( + # ! A * / ( + ( + ( + ( + A ( + ( + ( + : / ! ! (A + : ! ! E !" ! ! / ( + ( + ( + ( + ( -+ ( + E @ ( + : " ( + E D A ! ! ( + ( + : " 6 ! ! # D D
" (+ " (+ ! 6 E (+ E (+ ! ! ( + E " (+ ( + E 6 : 0 " (+ D / ( 6 + " ( + E ( + : 6
( + E ( + - 6 : ( + E ( + ( #:+ (*4:+ D / ( + 6 # ! ( + E A 6C #: : / ( + ( + E ( +
! "" #$ %& ' (( )&'&*+ ,&*&* -
#: 6 " / 0 / ()*+
( )*+ (7)*+ (4)*+ : #: *4: ! 4: <
6C #: B 6 (4:+ ? 6 #: ! : #: A ()) *) ()) *)+ !, ()) *)+ -., , // , // + ', + , //
0 // + , // //
0!2
// //
*2 // // 3*, // ! ', // !4 )5, // // !4 3'', // // 4 6' , // // // //
6'*2 // // // // 6'3*, // 36'*, // // 76 8, // // ! 6'', // // !4 * , // // // !4 ', // // // #34 6'6 #3*, // // // ! #34 6'**3*, // // #34 6'*(3*, // // !4 6'**, // // !4 6'*(, // //
D *4:
#: : *4: 6 / / *4: : *4: - / B : ! # 6 ! *4:0 ! / )A #: 1 !*2 // 1 !3*, // 1+ $ 0 * )* ! 1 !', // !4 3'1 !, // )* // / ! / # / 4 '# , // / // // ! / // / '#*2 // #: // : )* 0 F / ! ', // ,) )* // B 6 / 4 , //
0!
: / % ' E 1 / / @ % ' E 2 / / /
4 6 ! )* #: : )* 0 F ,) )* B 6 : / B 6 : : B 6 0 % ' E 1 @ % ' E 2 @ % ' E & @ % ' E ; : )* 0
( 3() $$ , 456
/ 0- #$ 1. 2 - 7 #& & 88. & 2 3"$3" 9 - * .
&
3$ * $ + $$ : $ $ %
!
; <
6 $ * $ # & 6 $ * $
0
3"$3"
1 2#
= $ $ * $ * + 2 $$ : $ $ %
#: ! A / 2 )* & ;
& &
& & & &=
, &9 : < &,
, &9 : < ;, ;9 : < , && &; , = % &
&% ; ;& ;; ;
&9 : < ,
$ 9 : &9 :, ,
$ '9! -.: & < 9 :, & < 9 : &9&:,
!; >$ !'
2+ $ % * )* )* ! # 3 ! ! # 3 ! #
( 3() * , 3456
3$ 3456-3() >* . 2 9
- 7 # " 88. ?%)
& ! ; < 0 1 2# 22 2 29 2& 2! 2; 2< 20 21
@ $ % @ $ $ % @ $ $ $ $ 3"$3" 3$ A $ B $ + 2 $$ : $ $ 4 @ $ % @ $ ?%) 3$ A B $ + $$ : $ $ 4 $ $ $ $ 6 $ $ $ $ $ - $ $ " *& % $ $ % . @ $ $ $ $ ?%) 3$ A$ B $ $ *& + 9 $$ : $ $ 4 - $ . @ $ 3$ 3C
! "" #$ %& ' (( )&'&*+ ,&*&* # 2
@ ?%) 3$ A$ B $ $ + & $$ : $ $ 4
: )* 2 ! &
< 0 1 2# 22 2
0!9 @ $ $ D $55 (5 3$ AD?/ B $ $ + 2 $$ $
4%
@ $ $ $ D $D E (5 3$ A B $ + $$ $
4%
: 7)* 2 ! ; : 1 ! ?* ! '5 >$ !' 1 !; ! A # &+ $ % * 7)* # 1 ! ! 7)* ! ! / 0 1+ A 74G ( + @ 2+ 7)* ! ! : 7)* F 7 ) 7)* B 6 ! : / B 6 ! ! 6?* >$ !' !; : ! ;+ $ &% * 4)* : 4)* ! B 6 0 !% ' E 1 : 4)* (74G ! +@ !% ' E 2 : : / 7)* 0 ! 4 #$ ! , D456
3$ D456-3() >3. : 6 B ! 2 - 7 # 43 88. ?%) ! 9 - $ . & @ $ $ $ $ ! D $5 (5 / : ! @ $ $ $ $ 4)* D $55 (5 ; @ $ $ D D $5 (5
0!& ' $
" /
! !
:
/ ! A ! ! )* / ( )*+ )* ! / ( + 4 ! )* )* ( 6 )*+ ( )*+ )* ! ( + ! ! ! ( + # ! A " $ FF 3" FF 3" FF 3 FF 3" * (5 FF & FF 3" FF3" 5 3 -. (5 FF & FF 3" . FF3" 5 3 -. # FF & FF 3" . FF3" 5 3 -.
< 0 1 2# 22 2 29 2&
40 7 D6? - D456-.. 4 7D ?-40 # . 0 7 4 0 7 ?6? - ?456-.. 7? ?- 0 ". $ $
: (+ / / )* B "# / ( / + / 4 / ! ! : (+ / )* ( )*+ "# : - : ! (+ ! ! /! 74 (+ ( + : (+ ! " /!
( " ! + : ! ! ! : / ! : ! 0 ! :5 " ( ? $ $ " 456 A D ! , $$ 6 ?
3() >,? -456 >" ? (+ (+ 3$ $ > . ! (+
44 (+ ! 2 7* ?- &# . ! 0 7 9 * ! / &
0 736? -6 3456-.. : !
73?- 0 "# . ! ; D6?7
! "" #$ %& ' (( )&'&*+ ,&*&* -
0!!
6
*4: *4: : " ! 2 $* 7 $* 9 $ $! J & $ " ! *J# ! ! * ?-$ . %11 12' $#(+ !$#(+ $#(+ 6 )* )* 7)* & , ($)* D ! : :5 !
1H; 2 D 2& 1 2& & ($)*+( " $ ,- ) : :5 99 1 :5 1 " / /
" : :5 1 # 4! I 7 / ! ! / A ! " : / - ! # 6 / / B , / ( )*+ )* ( * $" $ $ *
* ? -456 >" C >.
! ?* ' 0$ 5 ! 4 >4 &
$ . ($)*
: :5 ! = :5 6 3 A ( / + 4:
# ! A 6 / )* # )* B #: *4: & )* 6 ! ! 4 3
! :
0!;
2& A
! A ! : ! 2& , E E ! 2& : ! )* 6 > : ! A 6 )* 7)* 4 ! ! ! 6 )* 7)* : /! & A ! : /! ! 1 :
& 1 : ! A 6 7)* 4)* ! > ! ! ! ! K
# A )* /
/ : )* !
! )* 7)* 4)* ! ! ,! A B # A ! !
! : ! 4 # ! 4)* ! 6 6 / ! !
4 ! 6 # ! "
& ; , 5 , &9: = < ;, & & $ 9 :
& &9:, &= , &% ; $ '9! -.: ;& & < 9:, ;; & < 9:, ; & 9&:,
! ' >$ !' !; ! ; / 0 1
# ! / ! 3 %> K 1&' ! 0 6 6 /
2 , . $ !
! 6 " )* )* 7)* 4)*
/ 32
. 0
5 6 5 3
,! # !/ ! !/ 3 !
! %1&' 6 # ! ! 2& 1 : B
! "" #$ %& ' (( )&'&*+ ,&*&* 4
: ! %L' : ! 6 ! / # " ! " ! ! # A : ! %11 12' ! ! $! : :5 5 :5 3
3 B : B :5 6 ! ! ! ! 6
6 ! 6 ! ! 6 ! 4 ! Æ ! ! 7 6 6 :5 ! B ? ! $! $! - : ! 6 ! B $ ' : ! / / M M : M : ) M I , ) ) * < :5 ! B :/ ! !
0!
A ? 6 !' 0 ! $' $' $ %&'$( ( A &%=A &%9:B &C&= -. 7 E 8A ( A 8 * 3 0 ! ! ! $ %&'$( ( A &%==A ;9:B C -. 7 E 8A ( !' ! !! 3 & ) *
"
A 6A 4A 6 &%%;A %;C&& -. D ' 4 1!' !B 4 F0 !' ! # + #+,-./0A *' ' A ' #$A &%% -. ? ?A 7 6 > ! F0 3 & ) .0 " A &%%A %C -=. A > *A >A ('! ' !
GG 3 & ) " $ 1 21 & ' $ 11& '$3,4
9 :A &%%A &%C &% -%. 3' ! F0 0 !' 3 & ) 93,0:A &%%=A ;C;= -&. H > *' ! F0 !' # + ",0..,A 3' 1! > 931>:A &%%= -&&. ? 8 4 ! ! 3 & ) # $ 5 & '
A ! A A ;; -&;. ? 8 4 I E '0J F0 !' # A ;A 9:B C& -&. ?! *A 7 6 > ! F ! ' 0 ! 3 & ) .,,0 A &%%=A =C -&. ? 8A K >4 B ! >$ !' # # + &A A ;& -&. ? 8 1!' ! I F0 ' -*0 . F! #$A ;
+$
$ $ ? E $% $ " ##& G $ 5 $ $ $ $% $ C E $% ##2 @$ +$ ##2 +$ ## " $* )E3? -) $* 3 $ $ 3 $ ? . $ % $ $ $ $ $ @$ ## 5 ##9" $* 5 $
0!0
3 $ ($ ? " C)CE -C$ E $% ? ) %." 3H( - 3 $ $ H* ($." 3(D @ G $$ $ $ $ $ $ " $ " ?I+ : " $ $ $ : " %$ % $ $"
$ $*" $ $ % $
! $ $ $ $ ( + 4 % ? E $% $ ## G $ 5 $ $ C E $% 2111 @$ ### ## " $* ) $* 3 $ $ 3 $ ? 3 $ ? 5 $ + +* E $% @" $ $ $ ?, 3,? ?,E)" % $ $ $ $ 3 G $$ % $* $
" 5 3H(" C $ G $ = ? D ? $ $ $ C E $%" 3" 211< ### G $ $ $ $ $" $ $" % $ % " $%" " $ $ $ "" # $ $ $ @ * * ( ) %" G $ = ? $ $ $ ) E $%" 3" 210