Model for Slicing JAVA Programs Hierarchically - SaToSS

2 downloads 684 Views 1MB Size Report
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$   3 C

  !  "" #$ %&  ' (( )&'&*+ ,&*&* # 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 4 A 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