1 Locating Features in Source Code Thomas

2 downloads 0 Views 741KB Size Report
BC, Canada, 2000, pp. 3 5- 4 6. [1 3 ] M aryam Emami, Rakesh Ghiya, and L aurie J . H endren,. " Conte х t-Sensitive Interprocedural P oints-to A nalysis in the ...
 

   

   "!$#&%')(*,+-(/.1032$')465/!87:9;'@#)(/AB!$C_  _ B "z u60  @ "%M #u 8' B 9  R[  *#"  >z"' 8K #"# >8 !pB!#R,z '  FG ';¯".Y ;y".\_‚#"- =  _  '"˜  K"-@ &'( ) ( ) ( *+) ' ,  *-

&/. ) ' ,  *&'( ) ( *) ' ,  ) , *-

&'( ) ( *) ' ,  ) , *-

&/. ) ' ,  *-

&'( ) ( *+) ' ,  ) , *-

&'( *) ', ) , ) , ) , *-

&/. ) ' ,  *-

&'( *) ' ,  ) , ) , ) , *-

&/. ) ' ,  *-

&'( *) ', 0*-

&'( *) ' ,  *-

&'(  *) ',  ) , ) , ) , */& . ) ',  ) ,  ) ,  ) ,  ) , ) , ) , *-

&'( *) ', *&/. ) . -

  p9_ _#"# >8T_ B # G

  +>   >   G$B "

^ KW8  #"# @>!_ BM #  2;¯" 8 =8./>_ !#"G =-!  ^ K# need for additional scenarios (incremental analysis)

scenarios filter, granularity

concept lattice

3

static dependency graph extraction

interpretation of concept lattice

4 feature− unit map

dependency graph

human involvement (not part of IDEF0 notation)

dependency graph extractor

2

m KpX821 -# @  2;¯"=;¯ RB9 _ -#@B " 4V([^P B "

static dependency analysis

analyst

profiler

user

source code

concept analysis tool

dynamic analysis

analyst

1

compiler

scenario creation

domain expert

(initially) relevant features

5 statically validated feature− unit map

I

YÖÝ"óg×TæKÐ{Ð{ßjDž×jßj؁ëêÒÔÔXÎgؕî…ÕŽÐgÞ8!_ B # *;m K"   2#@B K"" ('@ ',02  u7 >z #u/ ;y @B9   pB\p \z  ¨ => "  '¨  # p "  ' 0 

 2< "8#@ >8T_ BM # ;y" #"G =-!  ^ K   

^ K "¨< B K"" (' K/#"# >8[_ B # @ @

×TíBÜuÐ{ØI܏ÖY֑×j߆ÖYßDÎ,Ð ÖvÌi܏Ԟ×jݒÐgÞiÒXÖY߆Ô"ەÐgÏ8ߕÐtÙÁë@Ô/ÐBÖvÖYÎGەÕY×jÔ/áiÜDÔ×jØIØ?ÖY׆ÖvÙÁÌiëªÔnÒÒÎgÎgݒؕÞiÒÔۅޅÖcÐBÖ8ÖvßT׆ÐBÎ1֏ؕÖvÐ{×jÒß:Ôgەé…ØiÐ{×x߆ÖcÖYÜ,̕ÎgÕvÛiÔßjä1ÔXÌ à Ð{ÒXÕvØG×jÝqە×jؕؕÐ{Ð{ݎÖY×jãiØi׆ä?ä1ÛiÜYÎgÒÔÛz #"G =-!; m K 8

Move−circle−undo Move−circle

undo move Color−circle

Draw−circle−diameter Draw−circle−diameter−twice

color Draw−circle−radius

setRadius

setDiameter

Draw−dot

draw

  BM # ;y"   9>z  6#"- =  m K@O  

m K@O8  _ BM # !;¯"   98> #@"G =-!;m K@P8

Ð{ÜYþgØ>Ÿ"@P"X"PRQ9@PGUX8Ÿ+ >8@   "P8 O IT 8 @ !" #$%" " 1([   @M$B "2D2 FG 7   B[+-9KG@Z[ @.\-HGO"P"P"P8   ".\ 3š  @-pM 2   !" #$8%" G 'I(! _1+ ./" $([  FB " ;p @B9 u7M S-H  @ S; >"RUXRQ9RU 8z46 š  =š   " 8 O8 ' TF _ _ B kGj"9j ?>@ A AB B B 'w C"vd|mwVoBi"| A O"P"P "  (W EDG./ @ [298. p9K"Ÿz4aF"F  DG#" "Ÿ8' Z[$'8HL=-#$H  G  I/ J K L NM !"  . O  P7 !J"  T'' "'7 Q @ _ uH- 7    8  (X ERT".\S  Q¨ _ ' '  #$ @_ > K 1š"K". p RB9 @ >8O"XRQX"P8 DG"  "P8  (^[] > ] 'L=  ' ] '  R m. ] Z[ @K" _ H-8  _ "_ ;  ] _ H + '@ ] 8D ] "  $(2H8p./ #š _ # K[./ u-' ;¯"m.\ 87

   4   " *   p8#@ ;8_ K" š< >"K"$./ @ ! X 

,      7    ! `.     ,R O"P"P "z>>@P"WRQ9  8z46šš#[;

    "K p9#u " 1m" G  š"  [< _ _pZ[$> ˜ 8 

   * f,    &7 !   !  c. !     [./ M '.g R2  _ 8' R9,@   8>>zW $QW 8     L= 87M8-#@ u7 !    '9_Ÿ>z" G  p_ H  =98  K ## @  >pB8 R  H 



° ° ´ u³ ´ ° IU /U ° ° e° S ° {W ° U /U ² UmS ° U BQ ° {U {W ° ° O ° UmS-W U {´ S-UXWQ jW ° /³ 6S {U ³ 1³ Q S ³ XSVU IU tU ° ONU {´ g± ORQ ° O L SVU BOeUXWYQ ³ BO ³ ³ e° S ° {W °]³ 1³ Q ² UXS ° U BQ ° {U S {³ WW °R° ° ´U {´ mO ³ °R° Q ° °=Q ° S 6S ³ 6° U S ³ mS-U IU S /³ UXSVU° L {U ± O xO U {´ /° W jU YUmQ ³ e³ S3Q ° S ³ 6° U ³ e° S ° {W ° ³ 1³ Q ² UmS ° U BQ ° {U {W S° ³ UW °={° ´ ´ °Rm° O ³ Q °R° ° S S ³ W °R° ´ XO ³ Q ° , ³  e° S ° {W °y³  S ³ mSVU )X) fM_ U  "tU  ` ° hD° #O !? U {´ #)c ° )8° JK Q~UmQ' ³  i= j  ( XSVU )[) SMI!U  "tU  P ° hD° #O e S ³ìW °R U° !´{ ´ X#O )cW³   2° Q )8 ° ° B, QTUX³ +Q e³ °  S $° {= W °‡³  S ³ K

 =#"98FG @zL $B #@__ H7   R      "X8z>>  $Q "O8 @X L % [+-   KG"' 1^" G 76 [_ H8  š /_ ./" M _ 8 R^ ./ "  8+-R 1^ u7   9K/L= @#$9šD!+   G"  "X8p>8> "ORQ # " RU [./  ([ 0 ŸBH#@! _ uHG8' _ "  R $DT  8K*6H>   p_ H  8'S">8 ./  \"%M #u76" - 'S>"K"./ R 8FG"_apO 8"p>8> "PRQ8UO8 O"P"P "    $p ^ "9G uF  [p _ RF8"' L p$TZ*R H' R 1m" - 7  [p_ H  \;¯" GF" 9  K [8$B ' < "8 $ G @  

‚m./>p8   ‚D[+* [#uR "O P"P "z>># RQW"W8   [p _ RF8 p ^2"98- uFŸ-' L p$TZ*R H' R 1š @#  < _ _‚Z[> K" R   8 wd}GcvmwMroun d}Gcv wykGjRn  ([ #G O"O 4V([ ^P8 TF _ _ B kGj"j    8  O (  !" % ./  8' ZT >z u  I  " 1   @- "#1 $%z u+# @ 7VL   @' L=@0T  K,; a[ % #uM7 a[ G '&+-H  ./ *02 &+-#@  " ? >z" # D""p  ! >_ 2DT FG   2 B1   '"+ [98  8+ T9K"  "W8  O #9 (!GH,L[98K"  '  9 #$8 R[%.*9$8X  1 "K".J=>_ " @` 

 W  / g "! 1š"K"$V . =! 9_ ( '@ ;¯"  < * I 

,   # $ 'K   G * ! "G  HG< * D!+  J D"9   "W8  O"(W  (!GH L[9K" * '  9 #$> RT%. 98$8[  a[ %M #M7 a[ @G @' 1 7 K"$. $# K\< ' =[ 9p_ ( '@B " , )c " pFG"_a "P8z8zW8p>> X RQ8UP8 ,@H   GU  O"(X I V

RT u0 L 9p98 J+-98MKGMR TF _ _ 3B kGj"9j ?>@ A AB B B w g-hBx"k-hBx8e{peRjxGj"j"|Ghi"jmwa}Gc A mO"P"P"O8  OGU  T 8 @ !" #$%" " DG @873p$&  #% " ˜Z[ $' ' , P  Q 91  R [/46G ./ @'8 B [2 > @  -B "/;¯"= uFG @  TšK"    8K Tp_ 7 !    F4 ' 

`,    5. % H8   R \ 8 

     J Z2""_ 9_ 9i ZT4$D!+  J a[#u@   8p>>ŸO # $QO"W"P8z46 š @ A AB B B waid|d wMr"e"rwy*x )dBrwMrBh A mO"P"P"O8  O ( (!@F ' Z!_ T2"z  [_ _ 28' D""6  a[#$%" _ ". [#$ 7  #u9$_  .\B# "FQ¨-H 4a $ Z[',,L=9 _ ' +-H  ./$ a[98[  aT;

   ,+-     '  !, JK =  K 1 M @ f 

  W        p+- RBM_ G Q *8D!+ * [>@9  "W8 >>"RU RQ9 "W8 T<  1    @  "(P   /  .! ‚ 7V   @#>  uZ[$>8i =!( '0( a[>z  +"9# 2Z[> ([@0 7 K+;¯60  " 2F" _ _ *B kGj"9j ?>@ A AB B B waiGc-eBc"hir@k^w6hjGjmwMron A e BA j-o"1o Ge A |"iG(h ?"*k )d 2 A O"P"P"O8    `RT".\ Q¨ _ ' " D"9p * Z["./ '"T28".\ Z[98 @!' (["9K"_  +-$ 89KF   ‚#@B K˜DT  @ p98# "p_ 6H 3  a[_ '< -' " <  K

³ e° S ° {W °@³ 3M ° WQ |S ° BQ ° ´ {° W S ³ W ³°R° ³ ´ ° mO O ³ Q ° ³ 6Q ° S °R° S S ³ W °R° ´ XO ³ Q ° Q ³ S

³ e° S ° {W °N³ ° c° SeO °

P° S ° {W °D³ 1³ Q ² UmS ° S ³ W °R° °R´ ° S XO ³ Q ° Q BQ ° S {UmQ ³ {U ³

W{°RU ° {´ W ° XOa ³W Q °H BQ ° S{UmQ' ³ J{R U $, ³  e° S ° {W °u³  1³W Q ² UmS °98 +-# 6H 1š   R Tš # "K +-0 >p +z!Z["%-p_ " ""  >  T"KG' ! " +  FG ' a #@B K 1 "K". p @B9  S9  K  =8 u7 #98 "Y+_ #  R 

"  #$p' "  *^D[+*,R    8 >>  #BQO"P 8 46 š p + *Z["%-p_ "˜' ""  >  T"KG [9pG ; H8 8K˜ /z" - ' p @B9  R R8FG"_a8W#O8 >> GU@Q  8 [#u@pO"P"P"P8 !9"K¨< 8 @ 8' #_ @F T %M_ #$ u<   +-9'8H ; p @B9 ‚-#RB " D2  K˜([ >z ' # Z[$>Ÿ 

BQ ° S {UmQ ³ {U ³ S mO ³ q³ S ³ XSVU ³ S ° ° BO ³ ³ 1³ Q ² UXS ° U BQ ° {S U ³ {W °=W °° ´ U {m´ O ³ °R° Q ° °=Q ° S 6S ³ 6° U ³ P° S ° {W ° Q |S ° BQ ° ´ S ³ mS-U )X) 

S ³ W °R° ´ XO ³  Q  ° , ³  P° S ° {W °:³  3$M  ° W8 g± ORQ °2) O  MIU !"/U( ° O  U {´KL  jWRUmQ' ³ BO Q  5Q ND N=  ja a

S ³ W °R° ´ mO ³  Q °96 Q  "/S ³/° U!D k, ³  P° S ° {W °D³ :3M$ °M WY° Q+WYK;'Q |"6SS /° ° :BQ ³ ° Q´ ° O S ³ X, SVU !³ )[))  "/ Q ° S  W ° {W °  (5Q ' -D I= 3Q > a a X= ('

S ³ W °R° ´ XO W³  Q  = ° < Q  / g "! , ³  P° S ° {W °—³ >3M  ° W'Q K|S ° BQ ° ´ G{° *W  ³ ³  ± U {´ g± ORQ 2° ) O R  ( (D !D = (' H S ³ W °R° !´ XO ³  Q  ? °  BQ ° S {Um'Q ³ { U , ³  e° S ° {W ° ³  1³  Q ² UmS  °  !  °R° S  +*@ Q   ( D & F= (' (' E W ° {W °,³  , ³ ) K  "/Q ° S S ³ mS-U )X)    21 a Q  B ° A Q C J³ a S

k, ³  P° S ° {W °‡F³ DP. ° %c° SeO [°  !  °R° S S ³  W °R° !´ XO ³   ( $ HZ ] = a a 8 S ³ W °=° ´ mO ³  Q  & °  BQ ° S {UX+Q ³ { U , ³  e° S ° {W °$³  1³ Q ² UmS °7 U BQ ° {U {W ° a  (`Z QMI  !U °  ,"tU³   °PO°  S ° !U {{W a ´u°L ³ !D j3W=UXM$ +Q = ° ³WBQEO |(S' ° BQ D ° ´ S ³ XSVU )[ ) S ³-W  °Ra ° ´g ± O=XQ O°) ³O 

   '  /      ) , )c   #  9‚ ./  #$%z 46 _ 'iD"9 [O"P"P"P8>>O# $QO# 8846ššS< "./>898  +-# u6H 1š @  R  "W(`RT".\ Q _ ' "  #$ _ _ =L=9#%" @_ _ u0!Z2 @8H 1^K" "G' = ] #_ @FTB7 %_ # <   +-9'8H; p @B9 ‚-#@B "  DT M9#u9 '% @KG#uH

   84   " *  ,    p"$ > "O"XRQ GU T<  1    @  .:' 1^9G0 T(["98KS! ./ _ .\ ' "" !_   '  @   -'87

_ K [%M @#uM7 [ G '21š"K"$.? =8 #98 "   L="_ "K"p8-4a$_ HG "9_ H   #"FG"_a "O  ; @>>Ÿ"@X RQ9 "O8Ÿ+> K" R  .C' 1 9G0 (!@F ';‚"  " "" [_   '  Rm' ,% @K7 .\  =8 #98 " 1 BM @ š  [ %M #M7 [ @G @' ! 9_ RB " / 

 +8G$p " ‘mD[+*    8š>>Ÿ^O  RQ O # ([ @   G ' K ""*+- %"-'* ".\ mL _ _a [ 9p_  K 46- $#u "  1š"K".= #98 "8 R   L=" M"  * D!+  7,H$  GU>> "X"PRQ GUP8 T<  1    @ ([ @5  " ' 8K*8'+-> #   9KGz @@ $D2  K ! 9p_ @B "/;¯" [#$  @#u9$_‚-#R_ @B " '&=-$#u "Ÿ zFG"_a "X8p8pORQ 8p>>ŸzO"XGU@QO # ,R8O"P"P"P8 ˜m" %!+-H  8 [  _ B "8  > ^z u60  @/+-$B #2' (2H8p./ # '8 @_ m *2 uFG   =š8K"   @ K G@F+; 60  " *    _ G8 Z *zD[+ * [#uR   8z>> "P #BQ   8 ˜m.\[ #$8 @T' +G >p8 ([9#@   " $ @#@FG @ K T K"873‚ uFG @_ ! u02 ; [ %M #u7 [ - ' [>8>_ #@B " ‚;¯". +-B # ' (2H8p./ # 468;¯".\B "  @ =;¯"'Ÿ šK"_ 8'2D[  [9K   8 >>  RQO"O8z46š  8 _ _a [#$  @#u9 u7 [ - ' ! 9_ RB " 

T+8 ""  "  <   D!+   [#u@   "W8 >>  RQ#GP"W8T<  1    @  ##9 2"z $D Q‘_ %" @mZ! _š-HGmL %"F"Rp  @.\7VL=  " (!  Q  K"GR[(! +-0 8 "[' D"  .*H46 "% T=[ 9p_ ('u7 K/(THp./ #+-;¯60  *+-H8 M . 468;y".\B "˜ "98K"3ZT K"873‚ uFG @_

   ,    G $ ?   '8 @_ @ I 

 )[)   )  M !" (   ! '   ==#"987 FG RzL z @8' # @ @ 

     !    J a[_ ' šzD!+ *7,H˜O"P"P"O8  #G(X Z[ K""/+- _  K ';p$%  >N  $2  K"    K >  RQ9 @P8 T<  1š @  R  #-U ,  !"8 ' Z[ K""+ _  KH  a[,  468;y  @8#@ *; 8 [_ H8  R [, 7 G   "FG"_a‚W8‚‚O8>>  #GXRQ9  8 5 !     7  [>@  "X8  # (˜"  m!9 >z  8' ‚ "%-"   H8>z  ^'*< "8#@ >8 Tp_ H8  !    K6     '  ;y"  @KG#uH¨+-H  ./ R E S 

     ) , )c   W  i DG98 2O"P"P"P88>>ŸGO"O $QO "P8 46š  >8_ H8 K\, #_ @#u #

   [>>8G#$‘,46' G ; k H a[ % #u 8 [_ H8  !"_;¯" 46' - ; H8 K T $#u(!B šH8>z    > # RQ "W 8p46š  98 @[+7 # 6H 1š   R  W#9 #$p _š+  8'  ".\ [2 > @`  46' - ; H8 K '89_  [F8 ˜98 !+-# u6H 1    @  W"(W  [ !F"(T @98  '"  T!9 >z  Rc  46' G ; H H K a[ %M # [98 7

   + K,>O #GXRQO"W"W8z46šš./ @G^B‚ =D2 7 FG   6H;=+-98KG@cZT 2   @#, -    ! > .\ _ H   p _ ' ; ; 60  / K"    8K '/>"K"$.1p_ H8   R>  ZT ^#9 -š   @# 87 #_ 9'  \#  #u9  #RFG HG=;¯ @B9 _ -#@B " >"K"$. p_ H   R8'\ uFG   [ K"    K  Z2  R#  š  K"    8K"#"./> _  RB' >"K". 7 ./ K _ K"9pK" /#"# >8 @3  Z2 /"_ ' '-#u"_ ' K"   #"./>9 ^ # # ;¯".  2DT FG   6H ;š+-98KG@ŸZ[ .\GHG

©Kfg\…hx`/r…hjoŽw1\

 # @ FG '  ([ >_ ".\\  #". 7 >98  # # ;y".J8 /+8"_ '‘D2 FG   6H,B +8"9 91 #%" @ŸzZ[ .\GH/ \O"P"P"P8š+ # [ 8 m0 "%- KT;¯"^ m'   @M$B "/Bm 2DT FG   6H ; +G98MKG   @_ ' ;  uFG   * K"    8K   ./ . z 2;  *L 9p9  O"(X m>%M @#u@ Z2    R#$, G   M  p _ ',;  uFG   * 87 K"    K>"K". p_ H  R' >"K".3987 '  M$8' K ZT ‘#@76988" '  uFG $_*>p>z  "/;y @B9 [_ #@B " 8'˜ ;¯60  [>8-'9#u _   R 02 #$ 28 2#9 GT   @#$˜;y-#9 R