A Case Study in Class Library Verification: Java's

1 downloads 0 Views 378KB Size Report
will terminate abruptly with a NullPointerException. To prevent this kind .... String, System, ArrayIndex0ut0fBoundsException (all from the java.lang package) ...
A Case Study in Class Library Verification: Java’s Vector Class M. Huisman, B.P.F. Jacobs, J.A.G.M. van den Berg Computing Science Institute/

CSI-R0007 March 2000

Computing Science Institute Nijmegen Faculty of Mathematics and Informatics Catholic University of Nijmegen Toernooiveld 1 6525 ED Nijmegen The Netherlands

                                            !      

   !     !  " !  ! !!       !  # !! $! %&' ()    ! %  !(  !  ! ! *  !       !  +!   !! )    ,  !   -! .  -!!  .    !!  $ !        ! !  !    ! $   !  $        !)   " !     ! !!   ,    )   $!   !  !           )  !    !   !  !       ,  !!   !     !   )  ! $  !      !    ! )  ! !  " ! !/   !   $ 0   !!    1 %0"!(    ! !,! $      !  !    ! ! !   !)  !  !   !      " !   ! )      !    !$  0!   " !  0!     0!  ! )   1 2!! !!  !  " !  " !)  1 3'4 35 354 35 %6 444(7 )) ))8 9):) 9):) 9)8) ) % ;#089  .?9 

 %    # @       %         

 )   $)   

       ."2AA9     

                  )                    $     Æ   $)

    )     $      $                    

    )         

     #   &!   ! ! "=  * 7   !         /,  !! , ! !  !   )

B

   

        %        $                                 <    )          $)                    

          )     #      &  $)      > 04 >3$(0C9        .2"( 08((2!086 9  

   !        

  

               

     

 / 



    O





/





 

D*E /

  



!       )        

            ! 

               

           )  #  3 F   3 

&                  



 $                  '!  #  .(=009          $   $            %   "                .(2AA9      $)     !      

                      

       

 



         3 F %       

                 % ( 

  3 G 3 C $       %  

)  $         (   ! 3 4  

  

     )      

     

    !  %   $     $)    

 $         )      089 

     *   

             .=019 !    

      =  6             )           # ../  .0/ 111 /0.     $&=        $     5 ?              $    "# 5           $     : 5 ?       

     5 >   "# 5       : 

A    $  ):3 ,  $ B @ ! 2! ! '!   

 6    )

BF

$   $         $                !  )  

          

   

  !  

      

        

   

 !              



     5 >                : !        ?"  #                  : !        ?":   "# 5   #                              

 )  5 ?        : 3    $   

    

    !               .567089              

      3  44 / 5 ?  * 5 >1 ( 44 .. 5   / 5 ?  2 + 44 / 5 > 3 ( 44 / 5 >    $&= 44 / B     + *  44  * 5 >1 ( / 2 5 >   CC / 5 >    $&=  /0.

  &                       3   FB     % 

         5 >    ,

 - 

             !       ' 

 

 /    !, J          $    "# 5  )     %      $            "# 5   

          ?% "D    )      $       : !       )      ,      A       $           -     

     ,      A   - .

/,     +   

  

    

 

  

             $)      !       $        /    !,    $   ! 

        I /    !,           

 B   /    !,   $ 

    



 3   CF J     

    )     

B1

         

          /    !,             I   $     B     

   

     /    !,+          )     )    

      %       !   $    $  )   

              /    !, 

     

   3   CG "         

    



  %   $     %  !      

      

      "#        



.00 0 ? ( 5    (    (   0 "1 E( " 5  & &   (  (  ( 0 &=  ( 1 0 0 /5  !" ( "   (( ( 5   0

 1 0 /  F>G1+ 0.  &   " ( @  "# $&=  !" )     5 ?  ( %% 2 + )  !"  5 > -

!    %       

    ! )  5 ?       :        !"  

+ 5 ?       :  !"  

  

  

  5 ? + 5 ?       :  !"  

       5 ?      %    5 ?        

 5 >  

        

  !" ! )                  !"# $ $       !"  !           

+        $ # 

 =!!  >C2   / B5 >  /  /  6&( / 7 8   * + CC   2 5 ?  /  8 !"# $ $   / B     + *  44  * 5 ?  2 / 5 >  B5 >  /0.  &   " ( @  5 !$&= &=:     )    2 5 ?  ) (  !"# $ $     , A 2 A , 5 ?   -

(  !  )

   / *  %&" +  %*   %&&"  #$ %* $ - 0!&7

B0

-

5 >   &=

J     $ $ ,  - )           !                  )  5 ?   "# 5      "     $   $)      

   $     

         8   $  

  )   #  ."2AA9      

    $             (     3   CG    ;

 

* ; ! ) ;  .  ; ' /    !,  )  A  )        * ) . /    !, 9

9

* ; ! ) ;  .  ; ' /    !,  )  A  )      9   * ) .    /    !, , %  "  *% - 9

!                  

 3   FI               

   % 

  

  

   $         $                

 #  # 

  ;    $            

              $     $   

      $      "  

    %                        $ #     # 

  #         $  $    $    

                    3

       $                         #;         #   )    $)        P H #     

)  $    $)              #    

  %    $      3 

)                   *%

  #   )    

  .*359  $)     )         $             

  #     $       

   )      ($    

               

  $   

 $          $      

 "     

                        %       $       %    .2 $009 

  ."2AA9     

    GC 

      

            

              !  )   $)        )        

 $     

 :                                     $ $  $  >&C

Suggest Documents