18
EE382V Software Evolution: Spring 2009, Instructor Miryung Kim Lecture 7 Empirical Studies of Software Evolution: Change Types Adaptive, Corrective, and Perfective Changes

Lectur e 7 - University of Texas at Austinusers.ece.utexas.edu/~miryung/teaching/EE382V-Spring2009...EE382V Softwar e Ev olution: Spring 2009, Instructor Mir yung Kim Kemer er and

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lectur e 7 - University of Texas at Austinusers.ece.utexas.edu/~miryung/teaching/EE382V-Spring2009...EE382V Softwar e Ev olution: Spring 2009, Instructor Mir yung Kim Kemer er and

EE382V Software Evolution: Spring 2009, Instructor Miryung Kim

Lecture 7Empirical Studies of Software Evolution: Change Types

Adaptive, Corrective, and Perfective Changes

Page 2: Lectur e 7 - University of Texas at Austinusers.ece.utexas.edu/~miryung/teaching/EE382V-Spring2009...EE382V Softwar e Ev olution: Spring 2009, Instructor Mir yung Kim Kemer er and

EE382V Software Evolution: Spring 2009, Instructor Miryung Kim

Agenda

• Presentation on Kemerer and Slaughter’s paper

• Discussion on Kemerer and Slaughter’s paper

Page 3: Lectur e 7 - University of Texas at Austinusers.ece.utexas.edu/~miryung/teaching/EE382V-Spring2009...EE382V Softwar e Ev olution: Spring 2009, Instructor Mir yung Kim Kemer er and

EE382V Software Evolution: Spring 2009, Instructor Miryung Kim

Change Types

• Adaptive changes: add new functionality to a system

• Corrective changes: fix faults in the software

• Perfective changes: improve developer’s ability to maintain the software without altering functionality or fixing faults

Page 4: Lectur e 7 - University of Texas at Austinusers.ece.utexas.edu/~miryung/teaching/EE382V-Spring2009...EE382V Softwar e Ev olution: Spring 2009, Instructor Mir yung Kim Kemer er and

EE382V Software Evolution: Spring 2009, Instructor Miryung Kim

Today’s Presenter

• Arasi Aravindhan

Page 5: Lectur e 7 - University of Texas at Austinusers.ece.utexas.edu/~miryung/teaching/EE382V-Spring2009...EE382V Softwar e Ev olution: Spring 2009, Instructor Mir yung Kim Kemer er and

EE382V Software Evolution: Spring 2009, Instructor Miryung Kim

Problem Definition

• Identify and understand the phases of software evolution

Page 6: Lectur e 7 - University of Texas at Austinusers.ece.utexas.edu/~miryung/teaching/EE382V-Spring2009...EE382V Softwar e Ev olution: Spring 2009, Instructor Mir yung Kim Kemer er and

EE382V Software Evolution: Spring 2009, Instructor Miryung Kim

What are the differences between [Eick et al, TSE 2001] and [Kemerer and

Slaughter 1999]

• Kemerer’s paper focused more on justifying & choosing an approach

• Building models that help us understand software evolution

• Data sets: abundant, detail data, unique rich data produced by following rigorous process.

• quantitative -- statistics, math focused, qualitative

Page 7: Lectur e 7 - University of Texas at Austinusers.ece.utexas.edu/~miryung/teaching/EE382V-Spring2009...EE382V Softwar e Ev olution: Spring 2009, Instructor Mir yung Kim Kemer er and

EE382V Software Evolution: Spring 2009, Instructor Miryung Kim

Kemerer and Slaughter [TSE, 2001]

• It is an *empirical study paper*

• No concrete hypotheses. In fact, the goal of this type of research is to identify hypotheses, and to discover a theory of the process of software evolution

• Often seen in grounded theory, ethnography, etc.

• It is also a survey paper of research methods in studying software evolution.

Page 8: Lectur e 7 - University of Texas at Austinusers.ece.utexas.edu/~miryung/teaching/EE382V-Spring2009...EE382V Softwar e Ev olution: Spring 2009, Instructor Mir yung Kim Kemer er and

EE382V Software Evolution: Spring 2009, Instructor Miryung Kim

Sideway Discussion: How to write a good survey paper

!"# $%&' &#(# )*!+ ,*&#-#(. !"# %/!"*( )*!#' !"%! !"#'#$%!!#( $%&' %(# 0*(# 1%'#2 /3*) !"*'# *4 !"# "/0%)*(5%)67%!6*)' 6)-*$-#2 6) !"# 0%6)!#)%)8# 3(*8#'' (%!"#(!"%) !"# 3(*3#(!6#' *4 !"# '*4!&%(# 6!'#$4+ 9) :;<= >/#)8*)!6)/#' "6' #?%06)%!6*) *4 2%!% 4(*0 !"# @AB *3#(%!6)5'C'!#0. !"6' !60# 8*)2/8!6)5 !60# '#(6#' %)%$C'6' *) !"#)/01#( *4 @)*!68#'+B D"#'# )*!68#' &#(# 6)4*(0%!6*) 6''/#2!* !"# 8*00#(86%$ /'#(' *4 !"# 'C'!#0. 2#!%6$6)5 "*& !*%-*62. 86(8/0-#)! *( 3%!8" !"# #((*( &"68" 6! 2#'8(61#' /)!6$!"# #((*( 6' 3(*3#($C 0#)2#2 6) % '/1'#E/#)! *44686%$ (#$#%'#*4 !"# *3#(%!6)5 'C'!#0+ D"# %/!"*( )*!#' !"%! 3(#-6*/''!/26#' *4 &"%! "# !#(0' @5$*1%$B 0%6)!#)%)8# 2%!%*1'#(-#2 %! !"# @5$*1%$ $#-#$B !#)2 !* '"*& 4#& 3%!!#()'.64 %)C+ D"#'# (#'/$!' &#(# 3(#-6*/'$C 6)!#(3(#!#2 %'@6)-%(6%)8#B %)2 @&#$$F2#46)#2 %-#(%5#'B %)2 $#2 !*G-*$/!6*) HC)%068'+ D"6' 3%3#( #?%06)#' !"# 0%6)!#)%)8#*4 % $%(5# 36#8# *4 '*4!&%(# %! % @'/1$#-#$.B %' &#$$ %'@5$*1%$ $#-#$.B !* /)2#('!%)2 "*& 0%6)!#)%)8# *1'#(-#2 %!!"# @'/1$#-#$B 8*)!(61/!# !* !"# *1'#(-%!6*)' 0%2# %! !"#@5$*1%$ $#-#$+B H%!% &#(# %)%$C7#2 4*( ;IJ 8%$#)2%( &##K2%!% 3*6)!'. &6!" 46-# (#$#%'#'+ D"# 2#3#)2#)! -%(6%1$# 6'!"# )/01#( *4 @)*!68#'B 3#( &##K+ 9) %226!6*) !* !"# !#'!'4(*0 :;I=. !"# %/!"*( %$'* /'#' D60# L#(6#' M)%$C'6'NL3#8!(%$ M)%$C'6' !#8")6E/#' O8*((#$*5(%0. 8"6F'E/%(#.%/!*(#5(#''6*). %/!*(#5(#''6*) 0*-6)5 %-#(%5#P %' &#$$ %'$6)#%( 46$!#(6)5 O0*-6)5 %-#(%5# !#8")6E/#P+ D"# %/!"*((#3*(!' % -%(6#!C *4 (#'/$!'. 6)8$/26)5 !"# 4%8! !"%! #?!#()%$4%8!*(' '##0 !* 3$%C % $%(5# (*$# 6) 2#!#(06)6)5 !"#%03$6!/2# *4 #%8" 3#%K %)2 !"# 6)!#(-%$ 1#!&##) '/88#''6-#3#%K'+

!"!"# $%&%' %() $*+'&',-.

D#!'/* D%0%6 %)2 >*"'/K# D*(606!'/ /'#2 % E/#'!6*))%6(#'/(-#C *4 Q%3%)#'# *(5%)67%!6*)' !* #?%06)# 1/'6)#''%33$68%!6*) '*4!&%(# (#3$%8#0#)!' *-#( % RFC#%( 3#(6*2+D"#C (#3*(! % )/01#( *4 2#'8(63!6-# (#'/$!' 4*( !"#6( SR 2%!%3*6)!'. 6)8$/26)5 !"# 4%8! !"%! '0%$$#( '8%$# '*4!&%(# !#)2'!* "%-# % '"*(!#( $64#. %)2 !"%! %206)6'!(%!6-# !C3#%33$68%!6*)' O#+5+. 3#('*))#$. %88*/)!6)5P !#)2 !* "%-#$*)5#( $64# !"%) 1/'6)#'' '/33*(!6)5 !C3# %33$68%!6*)'O#+5+. '%$#' '/33*(!. 0%)/4%8!/(6)5P+

!"!"/ 0**1 %() 2*3-45

T**K %)2 U*#'8" #?%06)#2 ;V (#$#%'#' *-#( ;J 0*)!"' *4 %(#%$ !60# !#$#3"*)# '&6!8" 4(*0 % W#(0%) !#$#8*00/)68%F!6*)' 46(0 :;S=+ D"#6( 3(60%(C 4*8/' &%' *) %) #?3$*(%!*(C4%8!*( %)%$C'6' *4 '*4!&%(# 0#!(68' 4*( 8*03$#?6!C. %)2 6)3%(!68/$%(. !"# %/!"*(' 8*)8$/2# !"%! 6)4*(0%!6*) 0#!(68'3#(4*(0#2 (#$%!6-#$C !"# 1#'! -'+ *!"#( 0#!(68'. '/8" %',%$'!#%2 %)2 X8T%1# 0#!(68'. %)2 '603$# $6)#' *4 8*2#+,*&#-#(. !"#C %$'* #?%06)#2 !"# #-*$/!6*) *4 !"# 'C'!#0*-#( ;J 0*)!"' *4 2%!%. %)2 %(5/#2 !"%! !"#C 4*/)2'/33*(! 4*( !"# $%&' *4 #-*$/!6*). 86!6)5 8*)!6)/6)5 8"%)5#.6)8(#%'6)5 #)!(*3C. %)2 !*!%$ 8"%)5# )*! 1#6)5 /)64*(0+ D"#'C'!#0 5(#& 4(*0 YYZ 4/)8!6*)' !* ZRS 4/)8!6*)' 2/(6)5 !"#3#(6*2 '!/26#2+

!"!"6 7383( %() 945(3:3+;3+

W#4#) %)2 L8")#1#(5#( #?3$*(#2 !&* 26'!(61/!6*) 3%!!#()'*4 '*4!&%(# 0%6)!#)%)8# 0*26468%!6*)' O8*)'!%)! %)22#8(#%'6)5P !* 2#!#(06)# 64 !"# '*4!&%(# 0%6)!#)%)8#

26'!(61/!6*) 6' "*0*5#)#*/' :YY=+ D"# %/!"*(' '!/26#2L*4!&%(# [(*1$#0 U#3*(!' OL[U'P 4(*0 % \W] 'C'!#0+X*)!"$C 2%!% OYSP 3*6)!' &#(# 8*$$#8!#2+ D"#'# L[U' &#(#8"%(%8!#(67#2 1C 0*26468%!6*) !C3# O8*((#8!6-# *( %2%3!6-#P.3$/' !"# )/01#( *4 )#& @%33$68%!6*)'+B 9) %226!6*). !"#C!(%8K#2 !"# )/01#( *4 0*26468%!6*)' 8%/'#2 1C 3(#-6*/'0*26468%!6*)'+ D"#C )*!#2 !"%! !"# (%!# *4 0%6)!#)%)8#0*26468%!6*)' 2#8(#%'#' *-#( !60# 6) !"# %55(#5%!#. 1/! )*!64 -6#&#2 6) 6)26-62/%$ 3"%'#'. &"68" !"#C 2#'8(61# %'@'!%16$67%!6*).B @603(*-#0#)!.B %)2 @#?3%)'6*)+B

!"!"< =%-'>' 3, %>"

M (#$%!6-#$C 0*(# (#8#)! '!/2C 1C A%'6$6 #! %$+ #?%06)#2 YR'*4!&%(# (#$#%'#' *4 ;V 2644#(#)! 'C'!#0' %! ^MLM W*22%(2.6)8$/26)5 *-#( ;VV '*4!&%(# 'C'!#0' !*!%$6)5 %1*/! \+R06$$6*) ]_T :J=+ M 4*8/' *4 !"# '!/2C &%' !* 8"%(%8!#(67# !"#!C3#' *4 0%6)!#)%)8# %8!6-6!6#' %)2 #?%06)# 1*!" !"# !*!%$#44*(! %)2 !"# #44*(! 26'!(61/!6*)' %8(*'' !"#'# 0%6)!#)%)8#3(*`#8!'+ H%!% 8*$$#8!6*) $%'!#2 ;J 0*)!"'+ D"# '!/2C $**K#2%! !"# !"(## L&%)'*) 0%6)!#)%)8# 8"%)5# !C3#' O8*((#8!6-#.%2%3!6-#. 3#(4#8!6-#P %)2 % '#! *4 0%6)!#)%)8# %8!6-6!6#' 4*(#%8"+ D"#C 4*/)2 !"%! #((*( 8*((#8!6*) #44*(!'. !C368%$$C'0%$$ 8"%)5#'. (#E/6(#2 '65)6468%)! 6'*$%!6*) %8!6-6!C. &"6$##)"%)8#0#)!' (#E/6(#2 0*(# !60# *) 6)'3#8!6*) %)28#(!6468%!6*)+ G44*(! 4*( 2#'65) %)2 8*26)5 %)2 /)6! !#'!6)5OTaDP &#(# '606$%( 4*( !"# !&* !C3#'+ L!%!6'!68%$ %)%$C'6' *4!"#'# 2644#(#)8#' &%' )#8#''%(6$C $606!#2+ [6# 8"%(!' *)#44*(! 3#(8#)!%5#' 1C !%'K !C3# 1C 'C'!#0 %)2 *) L&%)'*)!C3*$*5C %(# 3(#'#)!#2+ L606$%( !* #%($6#( &*(K 6) )#&2#-#$*30#)!. !"6' 3%3#( %(5/#' %5%6)'! '0%$$ (#$#%'#'.3(#'/0%1$C 2/# !* '8%$# #8*)*06#' :I=. :R=. :<=+

!"!"? @35&%( 3, %>"

X*'! (#8#)!$C. ]#"0%) %)2 "6' 8*$$#%5/#' "%-# 1#5/) %)#& '#(6#' *4 6)-#'!65%!6*)' 6)!* '*4!&%(# #-*$/!6*). $%1#$#2!"# bGMLD 3(*`#8! :ZZ=+ 9) %) #%($C 3%3#(. !"#C 2#'8(61# %)#036(68%$ %)%$C'6' *4 %) JFC#%( *$2 46)%)86%$ !(%)'%8!6*)'C'!#0+ _4 !"# !*!%$ *4 ;VV (#$#%'#' O6)8$/26)5 -#(C '0%$$ %2"*8 (#$#%'#' 4*( '3#86468 8$6#)!'P. !"# (#'#%(8"#(' #?%06)#2Y; (#$#%'#' '3%))6)5 R C#%(' *4 #-*$/!6*)+ b*( #%8" (#$#%'#!"#C )*!#2 6!' '67# 6) !#(0' *4 )/01#( *4 0*2/$#' %)2 !"#)/01#( *4 0*2/$#' 8"%)5#2+ 9) %226!6*). '*0# '!%!6'!68%$0*2#$6)5 &%' %$'* 2*)#. 2#-#$*36)5 % 5(*&!" 0*2#$ 4*(0*2/$# '67# 3#( (#$#%'# /'6)5 %) 6)-#('# 'E/%(# 0*2#$+ _)#*4 !"# (#'/$!' *4 !"6' 0*2#$ &%' !"%! !"# *1'#(-#2 3%!!#() *4'C'!#0 5(*&!" &%' #'!%1$6'"#2 1C !"# '6?!" (#$#%'#+9)!#(#'!6)5$C. %' 6) !"# 8%'# *4 !"# #%($6#( _LNZIV '!/2C.!"# 46)%$ 4#& *1'#(-%!6*)' %(# '##) %' */!$6#(' !* !"#5#)#(%$$C '0**!" 5(*&!" 0*2#$+ D"6' 3%3#( %$'* /32%!#'%)2 '/00%(67#' &"%! %(# )*& #65"! $%&' *4 '*4!&%(##-*$/!6*)+M$$ *4 !"#'# 3(#-6*/' '!/26#' %(# '/00%(67#2 6) D%1$# ;+

A(6#4$C. !"# *-#(%$$ %(#% 8%) 1# '/00%(67#2 6) % )/01#( *4&%C'+ b6('!. %)2 4*(#0*'!. 6' !"# 5#)#(%$ 3%/86!C *4 %)C K6)2*4 #036(68%$ &*(K+ M' )*!#2 %1*-#. !"6' 8%) 1# %!!(61/!#2 !*% -%(6#!C *4 3(%8!68%$ 8*)8#()' #-62#)8#2 6) %$$ #036(68%$&*(K 6) '*4!&%(# 0%6)!#)%)8#. 3$/' !"# %226!6*)%$ *1'!%8$#'4%86)5 '*4!&%(# #-*$/!6*) &*(K+ M)2. &6!"6) !"%! '0%$$ '#!*4 &*(K. !"# 5(#%!#'! 8*)!(61/!6*) "%' 1##) 0%2# 1C A#$%2C.]#"0%). %)2 !"#6( '!/2#)!. >/#). '/55#'!6)5 !"%! !"# !*!%$

!"#"$"$ %&' ()%*+,-"$. %& "#/0$01%) %//$2%1, -2 (-*'30&+ (24-5%$" "62)*-02& 789

Authorized licensed use limited to: IEEE Xplore. Downloaded on February 9, 2009 at 12:02 from IEEE Xplore. Restrictions apply.

!"#$%& #' (#")*+&+*, -%.+)+%.+%& /+0+!/(1 -0 +2+% 0"!**+/&1!% 3!4*+ 5 6#$*. 0$77+0&8

9$/&1+/ +:!"-%!&-#% #' 3!4*+ 5 /+2+!*0 &1!& )/-#//+0+!/(1+/0 1!2+ 7+%+/!**, 4++% *-"-&+. -% &1+ 0#)1-0&-(!;&-#% #' &1+-/ !%!*,0-0 .$+ &# &1+ 0"!** 0!")*+ 0-<+0 (/+!&+.4, '#($0-%7 #%= '#/ +:!")*+= 0,0&+" /+*+!0+0 !0 &1+ $%-& #'!%!*,0-08 31-0 "+!%0 &1!& &,)-(!**, #%*, 0-%7*+ 2!/-!4*+ >?@/+7/+00-#% "#.+*0 1!2+ 4++% +0&-"!&+.8 A:(+)&-#%0 &# &1-0=-%(*$.-%7 B$+%= +")*#, &-"+ 0+/-+0 !%!*,0-0 #% *!/7+/ .!&!0+&08 C#6+2+/= 7+%+/!**, '+6 /+0$*&0 6+/+ 7+%+/!&+. 4, 1-0&-"+ 0+/-+0 !%!*,0+08 D@#"+ )#00-4*+ /+!0#%0 '#/ &1-0 !/+0$77+0&+. -% &1+ /+0$*&0 0+(&-#% #' &1+ ($//+%& )!)+/8E9-%!**,= &1+ 6#/F 1!0 4++% .-00+"-%!&+. !*"#0& +:(*$0-2+*,&1/#$71 (#%'+/+%(+ )/#(++.-%70= !%. 6-&1-% &1#0+= )/-"!/;-*, &1+ G#%'+/+%(+ #% @#'&6!/+ H!-%&+%!%(+= 61-(1 !/+7+%+/!**, *+00 !((+00-4*+ &# /+0+!/(1+/0 -%&+/+0&+. -% 0#'&;6!/+ +2#*$&-#% &1!% !/(1-2!* I#$/%!*08

! "#$#%"&' %((")%&'

!*+ ),-.,/-0

C!2-%7 (#")*+&+. &1+ !4#2+ /+2-+6 #' &1+ *-&+/!&$/+= 6+.+0-7%+. #$/ /+0+!/(1 )/#7/!" &# "!:-"-<+ -&0 (#%&/-4$&-#%&# &1-0 0&/+!" #' 6#/F8 9-/0& !%. '#/+"#0&= 6+ 6+/+-%&+/+0&+. -% (#%.$(&-%7 ! *#%7-&$.-%!* +")-/-(!* 0&$., #'0#'&6!/+ +2#*$&-#%= !0 "$(1 #' &1+ )/-#/ 6#/F -% &1-0 !/+!

1!0 4++% (/#00;0+(&-#%!*= *-"-&+. -% 0(#)+= #/ (#%(+)&$!*8@+(#%. 6+ )/+'+//+. &# 0&$., !(&$!* 4$0-%+00 0,0&+"0 -%/+!* #/7!%-<!&-#%08 J& -0 2!*$!4*+ &# #40+/2+ 1#6 0#'&6!/++2#*2+0 -% &1+ /+!* 6#/*. 4+(!$0+ &1-0 #40+/2!&-#% (!% 4+$0+. &# 1+*) 4$-*. &1+#/-+0 #' 0#'&6!/+ +2#*$&-#% &1!& (!% 4+7+%+/!*-<+. &# #&1+/ (#""+/(-!* #/7!%-<!&-#%08 9-%!**,= 6+0#$71& ! /+0+!/(1 0-&+ &1!& (#**+(&+. /-(1= .+&!-*+.= 1-71K$!*-&, (1!%7+ 1-0&#/, .!&! #% 0#'&6!/+ 0,0&+"0 #2+/ &-"+89/#" &1+ )#-%& #' 2-+6 #' /+0+!/(1 "+&1#.0= 6+ 6+/+ "#0&-%&+/+0&+. -% &1#0+ &1!& +:)*#-&+. &1+ *#%7-&$.-%!* !%..+&!-*+. %!&$/+ #' &1+ .!&! 6+ 6+/+ )*!%%-%7 #% (#**+(&-%78

!*! $/1- $-2-31/45 657 8616 #,62961/45

L+ 0+*+(&+. ! *!/7+ M%-&+. @&!&+0 "-.6+0&+/% /+&!-*+/D1+/+!'&+/ /+'+//+. &# !0 &1+ N+&!-*+/E !0 #$/ /+0+!/(1 0-&+831-0 0-&+ -0 -.+!* -% &+/"0 #' "++&-%7 #$/ #4I+(&-2+08 31+N+&!-*+/ 1!0 ! *!/7+= (+%&/!*-<+. J%'#/"!&-#% @,0&+"0 DJ@E.+)!/&"+%& &1!& 1!%.*+0 -%'#/"!&-#% )/#(+00-%7 '#/ !** #'-&0 2!/-#$0 .+)!/&"+%& 0&#/+08 31+ (+%&/!*-<+. *#(!&-#%)/#2-.+0 ! (#%2+%-+%& )#-%& #' !((+00 '#/ .!&! (#**+(&-#%831+ N+&!-*+/O0 J@ .+)!/&"+%& 1!0 0+)!/!&+ .+2+*#)"+%& !%."!-%&+%!%(+ $%-&08 31-0 #/7!%-<!&-#%!* .+0-7% (#%&/-4$&+0&# &1+ N+&!-*+/O0 !4-*-&, &# 4+&&+/ (#%&/#*= "!%!7+= !%."+!0$/+ "!-%&+%!%(+ !(&-2-&-+0 PQQR8 31+ "!-%&+%!%(+ $%-&&/!(F0 *#%7-&$.-%!* .!&! /+*!&-%7 &# (1!%7+0= (#0&0= !%.+''#/& &# "!-%&!-% !** #' &1+ 0,0&+"0 $%.+/ -&0 !/+! #'

!"# $%%% &'()*(+&$,)* ,) *,-&.('% %)/$)%%'$)/0 1,23 450 ),3 !0 67289(7/7*& :"""

&(;2% :%<=>?>@AB *CDEFA?G %HCBIE>CJ 'GKGA?@L

Authorized licensed use limited to: IEEE Xplore. Downloaded on February 9, 2009 at 12:02 from IEEE Xplore. Restrictions apply.

=> (1) Longitudinal study of (2) rich data from actual, business systems in real organization is required.

Page 9: Lectur e 7 - University of Texas at Austinusers.ece.utexas.edu/~miryung/teaching/EE382V-Spring2009...EE382V Softwar e Ev olution: Spring 2009, Instructor Mir yung Kim Kemer er and

EE382V Software Evolution: Spring 2009, Instructor Miryung Kim

Study Approach

• Data Collection & Data Transformation

• Identify Measurement Variables

• Analysis

• Time Series Analysis

• Sequence Analysis

• Phase Mapping

Page 10: Lectur e 7 - University of Texas at Austinusers.ece.utexas.edu/~miryung/teaching/EE382V-Spring2009...EE382V Softwar e Ev olution: Spring 2009, Instructor Mir yung Kim Kemer er and

EE382V Software Evolution: Spring 2009, Instructor Miryung Kim

Study Approach: (1) Data Collection

• Some retailer system written in Cobol

• Stability of development & management teams

• 20 years of data collection

• 25000 change log events

• module, author, function, date

• english description of the change

Page 11: Lectur e 7 - University of Texas at Austinusers.ece.utexas.edu/~miryung/teaching/EE382V-Spring2009...EE382V Softwar e Ev olution: Spring 2009, Instructor Mir yung Kim Kemer er and

EE382V Software Evolution: Spring 2009, Instructor Miryung Kim

Study Approach: (2) Data Transformation

• Three independent coders manually coded change log data using content analytic approach

• To maximize inter-rater reliability,

• A standard coding procedure was developed.

• Several trial data coding processes were performed and Cohen’s K measure improved 0.42 to 0.78.

Page 12: Lectur e 7 - University of Texas at Austinusers.ece.utexas.edu/~miryung/teaching/EE382V-Spring2009...EE382V Softwar e Ev olution: Spring 2009, Instructor Mir yung Kim Kemer er and

EE382V Software Evolution: Spring 2009, Instructor Miryung Kim

Study Approach: (3)-1 Time Series Analysis

• Identification of a quantified, continuous variable:

• # of changes per time period

• Per year => not sufficient number of time periods

• Per week or day => not sufficient number of changes per time period

• ARIMA (autoregressive integrated moving average)

• Data were not stationary

• Data series occurred in a largely random fashion

Page 13: Lectur e 7 - University of Texas at Austinusers.ece.utexas.edu/~miryung/teaching/EE382V-Spring2009...EE382V Softwar e Ev olution: Spring 2009, Instructor Mir yung Kim Kemer er and

EE382V Software Evolution: Spring 2009, Instructor Miryung Kim

Study Approach: (3)-2 Sequence Analysis used in Social

Science

• Identification sequences of acts or phases from a long series of categorical data

• Phase mapping

• group by four consecutive events of the same type

• gamma sequence analysis -- Goodman-Kruskal score that assesses the proportion of phase order

Page 14: Lectur e 7 - University of Texas at Austinusers.ece.utexas.edu/~miryung/teaching/EE382V-Spring2009...EE382V Softwar e Ev olution: Spring 2009, Instructor Mir yung Kim Kemer er and

EE382V Software Evolution: Spring 2009, Instructor Miryung Kim

Results from Sequence Analysis

!"# !$%& %'()'*'+!), -'**#"#)+#%. /0# (!11! 1!2 *&" ,0#3')!)+'!$ 4!$#% 5#2&",')( 46%,#1 7#(')% 8',0 ! $!"(# 20!%#') 80'+0 )#8 1&-9$#% !"# '),"&-9+#-: !)- +0!)(#% !"#1!-# ,& -!,! 0!)-$')(: $&('+: !)- 9%#" '),#"*!+#%. /0# )#;,20!%# ')+$9-#% !--','&)% !)- -#$#,'&)% &* -!,! 0!)-$')(!)- +0!)(#% ,& +&129,!,'&)%. /0'% 20!%# '% *&$$&8#- 76%#2!"!,# 20!%#% *&" -#$#,'&) &* $&('+: +&""#+,'&)% ,& $&('+:!)- !-!2,!,'&)% ,& ,0# 9%#" '),#"*!+#. /0# *')!$ 20!%# ') ,0#,62&$&(6 ')+$9-#% -#$#,'&)% &* -!,! 0!)-$')(.

/0# #<&$9,'&)!"6 20!%# ,62&$&(6 *&" ,0# =!)'*#%,40'22')( 46%,#1 7#(')% 8',0 ,0# 20!%# &* )#8 1&-9$#'),"&-9+,'&) *&$$&8#- 76 $&('+ !-!2,!,'&)%. /0# )#;, $!"(#20!%# ')+$9-#% *'"%, ! %9720!%# ') 80'+0 $&('+ !)- 9%#"'),#"*!+#% !"# +0!)(#- !)- +&""#+,#-. /0'% %9720!%# '%*&$$&8#- 76 ! %9720!%# ,0!, *&+9%#% &) !--%: +0!)(#%: !)-+&""#+,'&)% ,& -!,! 0!)-$')(. /0# *')!$ 20!%# ') ,0# ,62&$&(6*&+9%#% &) -#$#,'&)% &* -!,! 0!)-$')(.

>&12!"')( ,0# ,62&$&('#% *&" ,0# %6%,#1%: ', !22#!"% ,0!,7&,0 %6%,#1% %,!", !)- #)- 8',0 "!,0#" %'1'$!" 20!%#%.?#)#"!$$6 7&,0 %6%,#1% 7#(') 8',0 '),"&-9+,'&) &* )#81&-9$#% !)- +0!)(#% ,& $&('+ !)- 9%#" '),#"*!+#%. @&,0%6%,#1% !22#!" ,& 0!<# $!,#" 20!%#% ') 80'+0 $&('+ &" -!,!0!)-$')( !"# -#$#,#-. A&8#<#": ,0# '),#"<#)')( 20!%#% !"#B9',# -'**#"#), *&" ,0# %6%,#1%. 39",0#" !)!$6%'% +&9$-

#;!1')# +0!"!+,#"'%,'+% &* ,0# %6%,#1% ,0!, 1!6 #;2$!')-'**#"#)+#% ') ,0#'" #<&$9,'&)!"6 2!,0%. /0#%# +0!"!+,#"'%,'+%+&9$- ')+$9-# 79%')#%% !)- #)<'"&)1#),!$ *!+,&"% !% 8#$$ !%,#+0)'+!$ #$#1#),% &* ,0# %6%,#1%.

/& '$$9%,"!,#: &)# +&9$- "#$!,# ,0# %'C#: +&12$#;',6 !)-+&%, +0!"!+,#"'%,'+% &* ,0# %6%,#1% ,& ,0# #<#), *"#B9#)+6:20!%# 1!2%: !)- (!11! 1!2% !)- 9%# ,0#1 ,& 1!D# !)917#" &* &7%#"<!,'&)% !)- 2"&2&%','&)%. /0# 3')!)+'!$4!$#% 5#2&",')( %6%,#1 0!% 0'(0#" +&12$#;',6 ') ,#"1% &*-!,! !)- +&129,!,'&)% "#$!,'<# ,& ,0# =!)'*#%, %6%,#1 E!%"#*$#+,#- ') ,0# )&"1!$'C#- +&12$#;',6 1#,"'+%F. 49+0+&12$#;',6 1!6 7# +&""#$!,#- 8',0 ,0# 0'(0#" *"#B9#)+6&* +&""#+,'&)%: !-!2,!,'&)%: !)- #)0!)+#1#),% ,& -!,!0!)-$')( !)- +&129,!,'&)% *&" ,0# 3')!)+'!$ %6%,#1. /0#=!)'*#%, 40'22')( %6%,#1 '% 1&"# '),#"!+,'<# !% "#*$#+,#- 76,0# 0'(0 2#"+#), &* &)G$')# EHI 2#"+#),F <%. 7!,+0 EJK2#"+#),F 1&-9$#%. /0'% 1!6 "#$!,# ,& ,0# 0'(0#" *"#B9#)+68',0 80'+0 ,0# 9%#" '),#"*!+# '% 1&-'*'#- ') ,0'% %6%,#1./09%: &)# +&9$- 2"#-'+, #<&$9,'&) 2!,,#")% 7!%#- 92&) ,0#-#%'() +0!"!+,#"'%,'+% !)- *9)+,'&)!$',6 #17&-'#- ') ,0#%6%,#1%. L)# +&9$- !$%& *&"19$!,# 062&,0#%#% ,& 2"#-'+, ,0#+&)%#B9#)+#% &* *&$$&8')( -'**#"#), #<&$9,'&) ,62&$&('#%.3&" &9" %6%,#1%: ,0# (!11! 1!2 *&" ,0# 3')!)+'!$ %6%,#1!22#!"% ,& 7# 1&"# -'%&"(!)'C#- !)- $#%% 2"')+'2$#- E,0#

!"#"$"$ %&' ()%*+,-"$. %& "#/0$01%) %//$2%1, -2 (-*'30&+ (24-5%$" "62)*-02& 787

49:; <; 49=>=?9>@ A>@BA CBDECF9=: AGAFBH DI>AB H>D;

49:; J; #>=9KBAF AI9DD9=: AGAFBH DI>AB H>D;

Authorized licensed use limited to: IEEE Xplore. Downloaded on February 9, 2009 at 12:02 from IEEE Xplore. Restrictions apply.

Financial Sales System!"# !$%& %'()'*'+!), -'**#"#)+#%. /0# (!11! 1!2 *&" ,0#3')!)+'!$ 4!$#% 5#2&",')( 46%,#1 7#(')% 8',0 ! $!"(# 20!%#') 80'+0 )#8 1&-9$#% !"# '),"&-9+#-: !)- +0!)(#% !"#1!-# ,& -!,! 0!)-$')(: $&('+: !)- 9%#" '),#"*!+#%. /0# )#;,20!%# ')+$9-#% !--','&)% !)- -#$#,'&)% &* -!,! 0!)-$')(!)- +0!)(#% ,& +&129,!,'&)%. /0'% 20!%# '% *&$$&8#- 76%#2!"!,# 20!%#% *&" -#$#,'&) &* $&('+: +&""#+,'&)% ,& $&('+:!)- !-!2,!,'&)% ,& ,0# 9%#" '),#"*!+#. /0# *')!$ 20!%# ') ,0#,62&$&(6 ')+$9-#% -#$#,'&)% &* -!,! 0!)-$')(.

/0# #<&$9,'&)!"6 20!%# ,62&$&(6 *&" ,0# =!)'*#%,40'22')( 46%,#1 7#(')% 8',0 ,0# 20!%# &* )#8 1&-9$#'),"&-9+,'&) *&$$&8#- 76 $&('+ !-!2,!,'&)%. /0# )#;, $!"(#20!%# ')+$9-#% *'"%, ! %9720!%# ') 80'+0 $&('+ !)- 9%#"'),#"*!+#% !"# +0!)(#- !)- +&""#+,#-. /0'% %9720!%# '%*&$$&8#- 76 ! %9720!%# ,0!, *&+9%#% &) !--%: +0!)(#%: !)-+&""#+,'&)% ,& -!,! 0!)-$')(. /0# *')!$ 20!%# ') ,0# ,62&$&(6*&+9%#% &) -#$#,'&)% &* -!,! 0!)-$')(.

>&12!"')( ,0# ,62&$&('#% *&" ,0# %6%,#1%: ', !22#!"% ,0!,7&,0 %6%,#1% %,!", !)- #)- 8',0 "!,0#" %'1'$!" 20!%#%.?#)#"!$$6 7&,0 %6%,#1% 7#(') 8',0 '),"&-9+,'&) &* )#81&-9$#% !)- +0!)(#% ,& $&('+ !)- 9%#" '),#"*!+#%. @&,0%6%,#1% !22#!" ,& 0!<# $!,#" 20!%#% ') 80'+0 $&('+ &" -!,!0!)-$')( !"# -#$#,#-. A&8#<#": ,0# '),#"<#)')( 20!%#% !"#B9',# -'**#"#), *&" ,0# %6%,#1%. 39",0#" !)!$6%'% +&9$-

#;!1')# +0!"!+,#"'%,'+% &* ,0# %6%,#1% ,0!, 1!6 #;2$!')-'**#"#)+#% ') ,0#'" #<&$9,'&)!"6 2!,0%. /0#%# +0!"!+,#"'%,'+%+&9$- ')+$9-# 79%')#%% !)- #)<'"&)1#),!$ *!+,&"% !% 8#$$ !%,#+0)'+!$ #$#1#),% &* ,0# %6%,#1%.

/& '$$9%,"!,#: &)# +&9$- "#$!,# ,0# %'C#: +&12$#;',6 !)-+&%, +0!"!+,#"'%,'+% &* ,0# %6%,#1% ,& ,0# #<#), *"#B9#)+6:20!%# 1!2%: !)- (!11! 1!2% !)- 9%# ,0#1 ,& 1!D# !)917#" &* &7%#"<!,'&)% !)- 2"&2&%','&)%. /0# 3')!)+'!$4!$#% 5#2&",')( %6%,#1 0!% 0'(0#" +&12$#;',6 ') ,#"1% &*-!,! !)- +&129,!,'&)% "#$!,'<# ,& ,0# =!)'*#%, %6%,#1 E!%"#*$#+,#- ') ,0# )&"1!$'C#- +&12$#;',6 1#,"'+%F. 49+0+&12$#;',6 1!6 7# +&""#$!,#- 8',0 ,0# 0'(0#" *"#B9#)+6&* +&""#+,'&)%: !-!2,!,'&)%: !)- #)0!)+#1#),% ,& -!,!0!)-$')( !)- +&129,!,'&)% *&" ,0# 3')!)+'!$ %6%,#1. /0#=!)'*#%, 40'22')( %6%,#1 '% 1&"# '),#"!+,'<# !% "#*$#+,#- 76,0# 0'(0 2#"+#), &* &)G$')# EHI 2#"+#),F <%. 7!,+0 EJK2#"+#),F 1&-9$#%. /0'% 1!6 "#$!,# ,& ,0# 0'(0#" *"#B9#)+68',0 80'+0 ,0# 9%#" '),#"*!+# '% 1&-'*'#- ') ,0'% %6%,#1./09%: &)# +&9$- 2"#-'+, #<&$9,'&) 2!,,#")% 7!%#- 92&) ,0#-#%'() +0!"!+,#"'%,'+% !)- *9)+,'&)!$',6 #17&-'#- ') ,0#%6%,#1%. L)# +&9$- !$%& *&"19$!,# 062&,0#%#% ,& 2"#-'+, ,0#+&)%#B9#)+#% &* *&$$&8')( -'**#"#), #<&$9,'&) ,62&$&('#%.3&" &9" %6%,#1%: ,0# (!11! 1!2 *&" ,0# 3')!)+'!$ %6%,#1!22#!"% ,& 7# 1&"# -'%&"(!)'C#- !)- $#%% 2"')+'2$#- E,0#

!"#"$"$ %&' ()%*+,-"$. %& "#/0$01%) %//$2%1, -2 (-*'30&+ (24-5%$" "62)*-02& 787

49:; <; 49=>=?9>@ A>@BA CBDECF9=: AGAFBH DI>AB H>D;

49:; J; #>=9KBAF AI9DD9=: AGAFBH DI>AB H>D;

Authorized licensed use limited to: IEEE Xplore. Downloaded on February 9, 2009 at 12:02 from IEEE Xplore. Restrictions apply.

Manifest Shipping System

Page 15: Lectur e 7 - University of Texas at Austinusers.ece.utexas.edu/~miryung/teaching/EE382V-Spring2009...EE382V Softwar e Ev olution: Spring 2009, Instructor Mir yung Kim Kemer er and

EE382V Software Evolution: Spring 2009, Instructor Miryung Kim

Results from Sequence Analysis -2

!"#"$!%& '( #)*+,$!" "-)./+')( '# #) !$!".0 $%%)12.'#&"34 '(&'(3#'5&+4 ,&$+ $!" #""( $# +&" %!'+'%$. #/%%"## *$%+)!# $(31"+&)3).)5'%$. '##/"# &"!"6

7)#+ '12)!+$(+ *)! +&" #/%%"## )* "12'!'%$. !"#"$!%& )(#)*+,$!" "-)./+')( '# +&" 2$!+'%'2$+')( )* $ 5))3 %)11"!%'$.2$!+("!8 9&" 1'('1/1 %&$!$%+"!'#+'%# )* $ 5))3 3$+$ #'+" *)!+&'# +02" )* !"#"$!%& 1/#+ '(%./3" $ #'+" +&$+ !"+$'(# $#'5('*'%$(+ (/1:"! )* 2$#+ -"!#')(# )! !"."$#"# )* +&"#)*+,$!" #0#+"1# :"'(5 #+/3'"38 ;(*)!+/($+".04 #'(%" 1)#+)!5$('<$+')(# 3) ()+ !"=/'!" +&"#" 2!"-')/# -"!#')(# +)%)(3/%+ 3$0>+)>3$0 )2"!$+')(#4 +&"0 $!" +02'%$..0 3'#>%$!3"34 ,&'%& 1"$(# +&$+ +&"'! -$./" $# $!+'*$%+# '(!"#"$!%&'(5 $(3 '12!)-'(5 +&" )!5$('<$+')(?# #)*+,$!"2!)%"## %$(()+ :" +$22"38 @"%)(34 $(3 !".$+"3 +) +&" *'!#+4()+ )(.0 3'3 +&'# )!5$('<$+')( &$-" +&" 2!')! #0#+"1-"!#')(#4 :/+ +&" 2!')! -"!#')(# ,"!" 1"$('(5*/.4 :"%$/#"+&" )!5$('<$+')( &$3 "(*)!%"3 5))3 %&$(5" %)(+!). 3'#>%'2.'("8 7)3'*'%$+')(# +) #0#+"1# ,"!" %)(#'#+"(+.0 .)55"389&'# $..),"3 +&" !"#"$!%& +"$1 +) !"%!"$+" +&" #0#+"1?#&'#+)!08 A'($..04 $(3 $( )-"!$!%&'(5 %!'+"!')(4 +&" )!5$('<$>+')( ,$# &'5&.0 %))2"!$+'-" $(3 5"("!)/# ,'+& +&" !"#"$!%&+"$14 #&$!'(5 ()+ )(.0 +&"'! 3$+$4 :/+ $.#) #+$** +'1" $(3)+&"! !"#)/!%"#8 B'+&)/+ +&'# %))2"!$+')(4 +&" !"#"$!%&,)/.3 ()+ &$-" :""( 2)##':."8

C()+&"! ,&)." %$+"5)!0 )* %!'+'%$. #/%%"## *$%+)!#'(%./3"# +&" !"%)5('+')( +&$+4 '( )!3"! +) %)(3/%+ $("12'!'%$. !"#"$!%& 2!)5!$1 )* +&'# 1$5('+/3"4 $ &'5&.03'#%'2.'("3 !"#"$!%& $22!)$%& '# !"=/'!"38 9&" #'5('*'%$(+.0.$!5"! #%$." )* +&" 3$+$ DEF4GGG %&$(5" "-"(+# -#8 +02'%$. EF!"."$#"# '( 2!')! !"#"$!%&H 1"$(+ +&$+ 1)!" +02'%$.4!".$+'-".0 $3 &)% $22!)$%&"# +) #/%& 2!)%"3/!"# $# 3$+$%).."%+')( $(3 3$+$ $($.0#'#4 ,)/.3 ()+ :" "**"%+'-"8 I($33'+')(4 +&" #%$." )* +&" 2!)J"%+ 1"$(+ +&$+ $ !".$+'-".0.$!5"! !"#"$!%& +"$1 ,)/.3 (""3 +) :" $##"1:."3 '( )!3"!+) 2!)-'3" :)+& +&" 1$(2),"! $(3 +&" -$!'"+0 )* #K'..#("%"##$!0 +) $%%)12.'#& +&" ,)!K8 L* %)/!#"4 #/%& $($22!)$%& '# #'5('*'%$(+.0 1)!" %)#+.0 +&$( '# /#/$.8 I($33'+')(4 &$-'(5 $ !"#"$!%& +"$1 '12.'"# +&$+ $++"(+')( 1/#+:" 2$'3 +) $ -$!'"+0 )* %))!3'($+')( +$#K#M *)!1$. 2!)%">3/!"#4 3)%/1"(+$+')(4 +!$'('(54 !".'$:'.'+0 +"#+'(54 $(33$+$:$#" 1$($5"1"(+4 +) ($1" +&" 1)#+ '12)!+$(+8

I( $33'+')( +) 2"!*)!1'(5 )!'5'($. .)(5'+/3'($. !"#"$!%&'( #)*+,$!" "-)./+')(4 ," $.#) &$3 +&" 3"#'!" +) "N2$(3/2)( 2!')! #)*+,$!" 1$'(+"($(%" !"#"$!%&4 "8584 &$-'(5 $("!!)! %.$##'*'%$+')( #%&"1" ,'+& OG %$+"5)!'"# !$+&"! +&$()(.0 +&" +02'%$. +&!"" D%)!!"%+'-"4 $3$2+'-"4 $(3 2"!*"%+'-"H8

@/%& $( $22!)$%&4 ,&'." 3"#'!$:." *!)1 +&" #+$(32)'(+ )*'12!)-'(5 +&" !'%&("## )* +&" 3$+$ $(3 $..),'(5 *)! 1)!"3"+$'."3 "N$1'($+')( )* +&" 2!)%"##4 $33# #'5('*'%$(+.0 +)+&" +'1" $(3 %)#+ )* +&" ,)!K8

B" &$3 :)+& $ ,'..'(5("## $(3 $ (""3 +) %)(#'3"!$($.0+'%$. $22!)$%&"# *!)1 )+&"! !"#"$!%& 3)1$'(# $(33'#%'2.'("#8 9&" (""3 $!)#" *!)1 +&" !".$+'-".0 .'1'+"3 2!')!"12'!'%$. !"#"$!%& '( #)*+,$!" "-)./+')(4 ,&'%& 3)"# ()+2!)-'3" $ :!)$3 :$#" *)! +&'# ,)!K8 C# $ %)(#"=/"(%"4 1$(0(", %&)'%"# )( !"#"$!%& 1"+&)3# &$3 +) :" 1$3"8 I( +&'#$!+'%."4 ," &$-" '../#+!$+"3 )(" #/%& (", 1"+&)34 2&$#'%$($.0#'# *!)1 +&" #)%'$. #%'"(%"#8 B" &$-" *)/(3 +&" #)%'$.#%'"(%"# +) :" !".$+'-".0 $3-$(%"3 '( +&" "N$1'($+')( )*&'#+)!'%$. 2$++"!(# $(3 2!)%"##"# $(3 :".'"-" 1$(0 )* +&"1"+&)3# 3"-".)2"3 '( +&"#" 3'#%'2.'("# %$( :" 5$'(*/..0$22.'"3 '( $($.0<'(5 +&" "-)./+')( )* #)*+,$!" #0#+"1#8

!"# $%&&'()

I( +&'# 2$2"!4 ," &$-" *)%/#"3 )( +&" 2!)%"##"#4 3"#'5(4 $(3#+!/%+/!" )* )/! "12'!'%$. !"#"$!%& '(+) #)*+,$!" "-)./+')(8B" :"5$( :0 !"-'",'(5 +&" 2!')! !"#"$!%& )* #)*+,$!""-)./+')(8 L/! !"-'", !"-"$."3 $ .'1'+"3 (/1:"! )* #+/3'"#+&$+ &$-" :""( .$!5".0 *)%/#"3 '( +,) 1$J)! $!"$#M /(3"!>#+$(3'(5 $(3 3"#%!':'(5 +&" 30($1'%# )* #)*+,$!" "-)./+')($(3 3"-".)2'(5 $ +$N)()10 )* 1$'(+"($(%" %$+"5)!'"#89&"#" #+/3'"# &$-" !"-"$."3 '('+'$. '(#'5&+# '(+) #)*+,$!""-)./+')(4 #/55"#+'(5 +&$+ +&"!" 1$0 :" !"%)5('<$:."2$++"!(# '( +&" "-)./+')( )* #)*+,$!" #0#+"1#4 $(3 +&$+#/%& 2$++"!(# 1$0 :" $##)%'$+"3 ,'+& #0#+"1 "(+!)20 $(3)+&"! )/+%)1"#8 B&'." '(+!'5/'(54 +&" #%)2" )* +&"#" #+/3'"#&$# :""( .'1'+"3 '( +"!1# )* !"#"$!%& $22!)$%& $(3"12'!'%$. 3$+$8 B" $!5/" +&$+ +&"!" '# $ (""3 *)! 1)!".)(5'+/3'($. !"#"$!%& )* #)*+,$!" 1$'(+"($(%"8 7$(0 )* +&"2!):."1# '( #)*+,$!" 1$'(+"($(%" $!" %$/#"3 :0 $ .$%K )*2!"%'#" K(),."35" )* +&" 1$'(+"($(%" 2!)%"## $(3 )* +&"%$/#" $(3 "**"%+ !".$+')(#&'2# :"+,""( #)*+,$!" 2!$%+'%"#$(3 1$'(+"($(%" )/+%)1"#8 9&" 1$J)! :"("*'+# $(32"($.+'"# )* #)*+,$!" 2!$%+'%"# *)! 1$'(+"($(%" $!" !"$.'<"3)-"! +&" .'*" %0%." )* +&" #)*+,$!"4 $ .'*" %0%." +&$+ +02'%$..0"N+"(3# +) 1$(0 0"$!# $(3 '(-).-"# 1$(0 3'**"!"(+ K'(3# )*1$'(+"($(%" $%+'-'+'"#8 C( /(3"!#+$(3'(5 )* &), #)*+,$!"1$'(+"($(%" $%+'-'+'"# $(3 %)#+# %&$(5" )-"! +'1" %$('(*)!1 %/!!"(+ 1$'(+"($(%" $(3 3"-".)21"(+ 2!$%+'%"8P)(5'+/3'($. "12'!'%$. #+/3'"# )* #)*+,$!" "-)./+')( $!""##"(+'$. '( 2!)-'3'(5 +&" 3$+$ ("%"##$!0 +) 2"!*)!1 #/%&

!"#"$"$ %&' ()%*+,-"$. %& "#/0$01%) %//$2%1, -2 (-*'30&+ (24-5%$" "62)*-02& 789

4:;< =< +>??> ?>@ ABC A:D>DE:>F G>FHG CH@BCI:D; GJGIH?<

4:;< K8< +>??> ?>@ ABC ?>D:AHGI GL:@@:D; GJGIH?<

Authorized licensed use limited to: IEEE Xplore. Downloaded on February 9, 2009 at 12:02 from IEEE Xplore. Restrictions apply.

Page 16: Lectur e 7 - University of Texas at Austinusers.ece.utexas.edu/~miryung/teaching/EE382V-Spring2009...EE382V Softwar e Ev olution: Spring 2009, Instructor Mir yung Kim Kemer er and

EE382V Software Evolution: Spring 2009, Instructor Miryung Kim

Threats to Validity

• External Validity: Does this work generalize to other situations?

• Construct Validity: Was the manual labeling /categorization process reliable and reproducible? Did programmers follow a rigorous data collection procedure?

• Conclusion Validity: Would the authors get the same results by grouping events with n consecutive events instead of 4 and by using a different parameter for phase analysis?

Page 17: Lectur e 7 - University of Texas at Austinusers.ece.utexas.edu/~miryung/teaching/EE382V-Spring2009...EE382V Softwar e Ev olution: Spring 2009, Instructor Mir yung Kim Kemer er and

EE382V Software Evolution: Spring 2009, Instructor Miryung Kim

Any surprising results?

• More than 60% were enhancement and perfective changes.

Page 18: Lectur e 7 - University of Texas at Austinusers.ece.utexas.edu/~miryung/teaching/EE382V-Spring2009...EE382V Softwar e Ev olution: Spring 2009, Instructor Mir yung Kim Kemer er and

EE382V Software Evolution: Spring 2009, Instructor Miryung Kim

My general thoughts on Kemerer and Slaughter [TSE, 1999]

• A highly disciplined qualitative study approach

• Attempt to understand software evolution processes from bottom-up using qualitative methods

• Nice attempt to incorporate change types

• In-depth, longitudinal study of two systems

• Results are hard to understand --- It is difficult to find any meaningful conclusions from the phase maps and gamma tables