Lecture 6 & 7. Empirical Studies of Software Evolution: Code Decay. EE382V Software Evolution: Spring 2009, Instructor Miryung Kim
|
|
- Cody Lang
- 5 years ago
- Views:
Transcription
1 Lecture 6 & 7 Empirical Studies of Software Evolution: Code Decay
2 Announcement Your proposals have been graded. Literature Survey & Tool Evaluation: Each in the range of 1-4 Project Proposal: Each in the range of 1-8
3 Today s Agenda Divya s presentation on the code decay paper Discuss Belady & Lehman s paper Discuss Code Decay paper Q and A session on my feedback to your proposals
4 Today s Presenter Divya Gopinath (Skeptic)
5 A Model of Large Software Development L.A Belady and M.M Lehman 1976 IBM OS/360 Seminal empirical study paper in software evolution
6 What was it like in 1976? IBM PC came out around 1984 Apple introduced PC in 1970s
7 What was it like in 1976? E.W. Dijkstra: a program must as a mathematical theorem should and can be provable Increasing cost of building and maintaining software was alarming
8 Subject Program & Data OS/ years old 20 user-oriented releases Starting with the available data, they attempted to deduce the nature of consecutive releases of OS/360
9 When observing software evolution, what can you measure? # of bugs (reported problems) # of modules => # of directories, # of files performance metrics => times, memory usage, CPU usage, IPC change types: corrective, adaptive, perfective # of developers working in the organization, # of deveopers per module size of code changes => # of lines of changed code how wide spread the changes are => # of files or modules touched by the same change age in calendar year, days, months / age in logical unit such as release, check-in, version
10 Variables observed in Belady and Lehman 1976 The release number Days between releases The size of the system The number of modules added, deleted, and changed Complexity: the fraction of the released system modules that were handled during the course of release MH_r / M_r Manpower, machine time, and costs involved in each release
11 Growth Trends of System Attribute Counts With Time COMPONENTS. TIME MODULES HANDLED
12 Growth Trends Figure 2 Average growth trends of system attributes Figure 3 Average growth trends of system attributes compared with planned growth Figure 4 Serial and average growth trends of a particular attribute REND VERAGE LEGEND: 0 SIZE IN MODULES X MODULES HANDLED +RELEASE INTERVAL I AVERAGE RELEASE SEQUENCE NUMBER I LEGEND: 0 Sl2E IN MODULES X MODULES HANDLED + RELEASE INTERVAL I AVERAGE RELEASE SEQUENCE NUMBER RELEASE SEQUENCE NUMBE
13 What can you deduce from these graphs? It takes longer and longer to release the next release The size of increases over time Figure 3 Average growth trends of system attributes compared with planned growth It requires modifying more and more modules per each release I LEGEND: 0 Sl2E IN MODULES X MODULES HANDLED + RELEASE INTERVAL I AVERAGE RELEASE SEQUENCE NUMBER
14 What can you deduce from these graphs? Figure 4 Serial and average growth trends of a particular attribute Handling fewer number of modules as the software evolves REND VERAGE RELEASE SEQUENCE NUMBE
15 Belady & Lehman: the Law of Program Evolution Dynamics 1. Law of continuing change: a system that is used undergoes continuing change until it is judged more cost effective to freeze and recreate it 2. Law of increasing entropy: the entropy of a system (its unstructuredness) increases with time, unless specific work is executed to maintain or reduce it.
16 Belady & Lehman: the Law of Program Evolution Dynamics 3. Law of statistically smooth growth: Growth trend measures of global system attributes may appear to be stochastic locally in time and space, but statistically, they are cyclically self-regulating, with well-defined longrange trends
17 Belady & Lehman: the Law of Program Evolution Dynamics Law of continuing change: a system that is used undergoes continuing change until it is judged more cost effective to freeze and recreate it!m_r = S1 + Z1 Law of increasing entropy: the entropy of a system (its unstructuredness) increases with time, unless specific work is executed to maintain or reduce it. C_r = R^2 + S2 + Z2 Law of statistically smooth growth: Growth trend measures of global system attributes may appear to be stochastic locally in time and space, but statistically, they are cyclically selfregulating, with well-defined long-range trends M_r = R + S + Z (where S and Z represents cyclic and stochastic components)
18 As a skeptic: Laws are presumptive How do you use for real daily software development? External validity: does the law hold for other projects? Factors:
19 As a skeptic: What is the unit of a module and a component? What is the granularity of a release? Do they have the same amount of functionality addition per each release? What types of changes does each release include? Any changes in the organization structures & developers? Are they laws or just hypotheses? What are potential contributions / benefits of understanding software evolution?
20 My general thoughts on Belady & Lehman Very insightful paper at the time of 1976 The first use of statistical regression for characterizing software evolution Discussed the nature of software evolution, characterized it using their empirical data Deduction of laws from one system s evolution --- very weak external validity, perhaps hasty conclusions
21 Does Code Decay? Eick et al. TSE 2001 (almost 25 years after Belady & Lehman s Study)
22 Problem Definition What do the authors mean by code decay? it is harder to change than it should be related to Belady & Lehman s second law: the entropy of a system increases with time, unless specific work is executed to maintain or reduce it.
23 Discussed Problem Check whether code decay is real: Does Code Really Decay? how code decay can be characterized the extent to which each risk factor matters *Empirical Study* Paper
24 Hypotheses What the authors are trying or expecting to find? The span of files increases over time (age) Effort has some relations to many measurable variables. Modularity breaks over time Fault potential has some relation to many measurable variables.
25 Hypotheses What the authors are trying or expecting to find? 1. The span of changes increases over time 2. Breakdown of modularity increases over time 3. Fault potential, the likelihood of changes to induce faults has some relations to Efforts has some relationship too Usually *good* empirical study paper either finds surprising empirical evidence that contradicts conventional wisdom or provides thorough empirical evidence that validates well known hypotheses.
26 Study Approach Data selection Selection of measurement variables (so called independent variables) Study method that finds *relationships* among the measurement variables
27 Study Approach: (1) Data Selection Rich data set Telephone switching system This system evolved by following a well-defined process. Structured, manually labeled data Easy to group related changes 100 million LOC 5000 modules 50 major subsystems in C and C+
28 Study Approach: (2) Measure Independent Variables c denotes changes (mostly a MR) Variables DELTAS(c) = # of deltas associated with c ADD(c) = # of lines added by c DEL(c) = # of lines deleted by c DATE(c) = the date on which c is completed INT(c) = the interval of c (calendar time required to implement c) DEV(c) = number of developers implementing c
29 Study Approach: (2) Measure Independent Variables Derived variables ˆ FREQ(m, I) = X 1fDATE c 2 Ig; / I c e > m FILES(c) = # of files touched for change c NCSL (m) = # of non-commentary source lines per module AGE(m) = average age of its consequent lines
30 Study Approach: (3) Finding Correlation Linking risk factors to symptoms Statistical regression This requires designing some template models
31 =DEF<1 )=F=G G<HG<I<B?I?;< J:< => J I=EGK< K=D< F9B<1 %J9BL=A K=F=G<D L=M<I G<HG<I<B? >G<NE<B?FO K;JB:<D >9F<I. B< C=DEF<1 )=F=G G<HG<I<B?I?;< J:< => J I=EGK< K=D< F9B<1 %J9BL=A K=F=G<D L=M<I G<HG<I<B? >G<NE<B?FO K;JB:<D >9F<I. <I<B? >9F<I?;J? K;JB:<D F9??F< I9BK<?;<9G KG<J?9=B1 < G<HG<I<B? >9F<I?;J? K;JB:<D F9??F< I9BK<?;<9G KG<J?9=B1 Study Approach: (3) Finding Correlation,)&#',) -.%/#01" !"#$% 0"/5%6&%& 120(30&-/ -.%/#01"!"#$% 0"/5%6&%&!"#"+!"#"+,-./0,-./0 120(30&-/ 9! 89! :51,'/%& /;%65 89!& 65% 65% <'"/#01"& <'"/#01"&1< 1<89!& 89!& Q'6"#0<) 0& :51,'/%& /;%65&/0%"#0<0/4 &/0%"#0<0/4 P5%,0/#07% P5%,0/#07% 89!& #$6##$6# Q'6"#0<) /1,%,%/6)4 6& 6&,0&/'&&%, 1< /1,%,%/6)4,0&/'&&%,0"0" &)*:#1*& 15 50&N 50&N <6/#15& <6/#15&6", 6",65%65% 0"#%",%, #1 :5%,0/# &)*:#1*& 15 0"#%",%, #1 :5%,0/# #$% %<<15#40"#%576;4 0"#%576;4 Q'6;0#)= #$% N%) N%) 5%&:1"&%& 5%&:1"&%& 1<1< %<<15#4 6",6", Q'6;0#)= I% I% :5%&%"# #$5%% #$5%% &'/$,%6;0"A +0#$ Q'6;0#) 6", 6", :5%&%"# &'/$ 0",0/%&4 0",0/%&4#+1 #+1,%6;0"A +0#$ Q'6;0#) 1"% +0#$ +0#$ %<<15#4 %<<15#4 +$0/$ *15% #$151'A$;) 0" 0" 1"% +$0/$65% 65%,0&/'&&%,,0&/'&&%, *15% #$151'A$;)! $6& 6;5%6,) (%%",%<0"%, 6& $6& 6;5%6,) (%%",%<0"%, 6&.%/#01"&.%/#01"& 2=R 2=R 6", 6", 2=J= 2=J= 1< "1"/1**%"#65) &1'5/% ;0"%&4 P5%,0/#15& 1< #$% <6';#& #$6##$6# +0;;+0;; $67%$67% #1 (%#1 (% "1"/1**%"#65) &1'5/% ;0"%&4 P5%,0/#15& 1< #$%"'*(%5 "'*(%51< 1< <6';#& 17%5 6;; <0;%& " (%;1"A0"A #1!= <0C%, 0" *1,';%! -6",4 #$'&4 1< #$% Q'6;0#) 5%&:1"&%3 0" 6 Fault Potential 1. The! number faults thatq'6;0#) will have to be fixed 5 6;; <0;%& " (%;1"A0"A #1!= 0" *1,';% -6",4 of #$'&4 1< #$% 5%&:1"&%3 0" 6in module m %;6(156#% 0".%/#01" 24 %C#%"&07% <0C%, <'#'5% 0"#%576; 1< #0*%4 #6N%" <51* FKSH4 0"/;',% #$% in the future.0"#%576; Change 1< effects are#6n%" dampened 156#% 0".%/#01" 24 %C#%"&07% #0*%4 <51*over FKSH4time 0"/;',% #$% ",65, &1<#+65% D/1*:;%C0#)E <'#'5% +%0A$#%, #0*%,6*: *1,%;,65, &1<#+65% D/1*:;%C0#)E!"#$!% &'()#0*% *+!,,6*: #+*! *!#&-. %1!!2"*!/#! 34+5 #1&/0! 5&/&0!5!/% *&%& *1,%;&,,!,,"/0 # :%5<%/#;) /155%;6#%, +0#$ &'%# 0" +%0A$#%,! <%/#;) /155%;6#%,&)"1")*1'& +0#$ &'%#+0#$ 0" ($)%*$.)-$!1"&!+,-.!(# /" 0& %<<%/#07%;)!/0 " :;45 4< =91!(#*!"" /" #$!+,-. %0 &(,!!"#$%&#!' #( )! #+&, &" $, (./($)%*$.)-$!1"& '&#&01 2#&#$"#$3&*!5" %<<%/#07%;) &)"1")*1'& +0#$ "!#.)-$!1"'/ &,&*4"!" (5 #+! %('!*" &66!&/ 2!3#$(, 7181 % &!#$,.)-$!1"'/!5"H+! CUK SKDV2 (5 :80 %!&"./!" #+ ' 234%")..!1# (" (.$#!1# ("& +(G %&,4 3('!.,$#" :5$*!"0,!!' ' 234 % )..!1# (" (.$#!1# (" &!"#"$ %&&'() II. The number faults that will have to be fixed $%6*!%!,# in a module 6", #$% A%"%56;0@%, ;0"%65 of *1,%; $#1 >, $,3/!&"! $, #+! $!(" 1< 6 &1<#+65% '"0#! 6& Fault #$% Potential 9,! %&4Faults 3(,"#/.3# 6/!'$3#(/" #+!!55(/# :6!/"(,;+(./"0! in 6the6", future. are less likely in(5older code)*$!(" (when beta is <1) "4%6#(%&#$3 (5 '!3&4- &" '$"3."" #$% A%"%56;0@%, ;0"%65 *1,%; #0#'%"# ;0"%&=?$% '"0# '&% 1<!)*$ 0" 1< 6 &1<#+65% 6& #$% &!(# /" # $ '!*%!+ ' + #!9"!+ /!<.$/!' *#6 #( $%6*!%!,# & 3+&,=! )4 5$##$,= /!=/!""$(, 7 " S$=1 8 "+(G" #+&# "6&, $" $,3/ 6#%, 0".%/#01" J=K=2=! %)8 "# ;0"%&=?$% '&% 1< )*$ 0" 6!<.&#$(," 5(/ %!&"./!%!,#" (5!55(/# &" 5.,3#$(," (5 5&3#(/" )*$!(" &!+ ' +!*% #!9".,'!/ "#.'41 H+!/!- G! '$"6*&4 #+!+*#6!(# /" # $7 ' % 76506(0;0#) 1< #$% 6A%& 1< #$% ;0"%& " >S #+&# &55!3#!55(/#1 > "&%6*! 5(/% 5(/ ".3+ & /!=/!""$(, 0".%/#01" J=K=2= ': #1 #0*% * 6", )*$ 0& #$%! &, PQ #(.3+!" %(/! #+&, ( %)8.1<# 70%+ F>LH 0" M0A= K &$1+& #$% +$%5% 8 0& #$% %"#05% &%# 1<,%;#6& /!*&#$(,"+$6 $"? 06(0;0#) 1< #$% 6A%& 1< #$% ;0"%& 0".%/#01" of J=K=J +$%5% )4 +4 $0 4 6", $7 65% $, G+$3+!&3+ 6($,# 3(//!"6(,'" Effort,0&/'&&%, Model: predictors the6", person-hours >S *1,';%=?$% <0;%& 65% 5%:5%&%"#%, ': #1 #0*% * 6", )*$ 0& +$%5% 8 0& #$% %"#05% &%# 1<,%;#6&! %�*6#%, '&0"A #0�/6; 6"6;)&0&= 3((/'$,&#! $" #$%! /!6/!"!,#!' )4 70%+ F>LH 0" K &$1+& #$% %" /$6"A%, <15M0A= /1"<0,%"#06;0#)3 6", $ "&'"' $!) %%#+4!""!#" #!$ $!J=K=J % "&'!(!#" 4 6", $ 65%,0&/'&&%, 0".%/#01" 6", +$%5% )4 $ T1#$ 1< #$%&% 0",0/%& 0;;'*0"6#% /$6"A% 6&"#$%0 :50*65)7 ';3((/'$,&#! $" (,! G+!, %(/! #+,';%=?$% <0;%& 65% " 65% 5%:5%&%"#%, () 5%:5%&%"#%, /1;15%, ;0"%& %�*6#%, '&0"A<6';#&= #0�/6; 6A%"# /5%6#0"A -U7%"6"6;)&0&= #$1'A$ <6';#&,1 "1# 650&%!1" A!/( (#+!/G$"!1 H+/!! *(3&* *$,!& $6"A%, /1"<0,%"#06;0#)3 6", ;%"A#$& <15 1< #$%&% /1;15%, ;0"%& 65% +,,!#" $!,!'!#" $! * &:1"#6"%1'&;)4 #$0& 0& "1# 60;;'*0"6#% #6'#1;1A)O?$% 6(&%"/% 1< 1#$%5 T1#$ 1< #$%&% 0",0/%& /$6"A% 6& #$% :50*65)&,' XOOY 5(/ $,#/('.3#$(, &,' '$"3 *(%5& 1< /$656/#%5& 0" #$% ;0"%& 5%:5%&%"#%, () /1;15%, ;0"%&1< #%5*& &'/$ 6& &0@% $!1,!2!#"%!. &/0!#" 6", /1*:;%C0#) 0& $0A$;) 0"<15*6#07%=3 6A%"# /5%6#0"A <6';#&= -U7%" $#$1'A$ <6';#&,1 "1# 650&%#(6 6*(#1 H+!"! "%((#+" &/!! + 0"#%5:5%#%, 6& ;11N0"A 6# 6 #$&/6"1<(%#$%&% /1;15%, ;0"%& 65%?$% 0",0/%&,%:0/#,0<<%50"A #%*:156; %<<%/#&=Miryung!" -J34Kim #$%1#$%5&E!/&=!"- G+!/! #+! G!$=+#" +&E! &:1"#6"%1'&;)4 #$0& "1#Spring #6'#1;1A)O 1< EE382V Evolution: 2009,(5 '!,(#!" #+!0&"$A! $,6 BC2D #+!?$% 5$*! 6(&%"/% "1 * 6,0"/%=?$% 1< 6 ;0"% & 1< /$656/#%5& 0" /1;15 #$% ;0"%& 1< %<<%/#&&'/$ 1< /$6"A%& D,6*:%,E 6", 6##%"'6#% 17%5 #0*%4 G$'#+" (5 #+! G$,'(G" :$1!1- "# #%5*& 6& &0@%65% 6", $0A$;) 0"<15*6#07%=3 9,! %(#$E&#$(, 5(/ #+!/1*:;%C0#) 5(/%."!' $,0&:F0 $" #( '$"#$,=.$"+ " +$0/$ 6A% 0& $0A$;) 76506(;% ", G!$=+# 5.,3#$(,0 &/! ( # $%* :6./ " (% 0"#%5:5%#%, 6& ;11N0"A 6# 6 +$0;% 0" -234 <6';#& 65% ;%&& ;0N%;) 0" 1;,%5 -:5170,%,, 0& #+!!"#"$!"$%& '(")*"+! &""(3$&#!' G$#+ /1,% & 3+&,=!0",0/%&,%:0/#,0<<%50"A #%*:156; %<<%/#&= 3&6#./!'!" -J34 #$% "(1+ /1;15&=?$% <0;%& #$6# /$6"A%,?$% 3(*(/!' 3./E!0- &,' ( # 3%. :)*.!,0"/%=?$% /1;15 1< 6 ;0"%
32 Results: (1) The span of changes increases over time?
33 Results: (2) Breakdown of modularity increases over time? If modules have changed together as a part of the same MR, they were placed to close to each other.
34 Q43 )4-&')+-$,./01*2 )43'3 8$53#' *' )$ ;-35*6) )43 5*')-*:&)*$"!"# $%&'()*(+, *8;-$C3,!6)$)43 ;-35*6)*$"'7 $"63 '*B3!"5 )*83 $, 64!"%3 *" )4*' -3%!-51 $% 0"/5%6&%& ="!"#"+,-./0 $,,&)&-3,!&#)' $C3-8$5' )43 >36)*$"?1.7 *53")*,*35 (&!#*)+ *"!' )43 $"3 '&:'+')38 $, ) ,-$8!-3 )!93" *")$!66$&")1 =" ;!-)*6&#!-7 ;-35*6)*$"' 5$ "& "$ [*"!##+7 6$"6&--3") #!-%3 65 &/0%"#0<0/4-3';$"'3' 8$5'R 64!"%3 4*')$-+1 Q43 :3') #$6# 8$53#' ;-35*6)35 P5%,0/#07% 65% <'"/#01"& 1< '&88!-*B3 89!& Q'6"#0<) )$ 89!& 6$53 536!+1 *8;-$C3 8$5' :+ *"6#&5*"% 8$5 '*B3 ;$)3")*!# $- $)43 5*5 "$)3*)436$")-*:&)3 )$,!&#) ;< J:< => J I=EGK< K=D< F9B<1 %J9BL=A K=F=G<D L=M<I G<HG<I<B? >G<NE<B?FO K;JB:<D >9F<I.,0&/'&&%, 0" #*"9*"%,!&#)' 15 *",!&#)' )43 )$ '+8;)$8' $, 6$53 &)*:#1*& 50&N '$,)@!-3 <6/#15& 65% 0"#%",%, #1 536!+7 :5%,0/# "&8:3-' $, &'*"% 6", "&8:3-' $, 64!"%3' )$ )43 8$5 83!'&-3' )4*' F83)-*6'H $, '$,)@!-3 *" $& '&%%3')' )4!) )436$8;#3O*)+ 536#*"3 $,F@4*64 8$5&#!-*)+ F9??F< I9BK<?;<9G&'*"% KG<J?9=B1 $, FGH!"5 )* $, FIH1 )43 ;-35*6)*C3 DE=' )* #$%*" N%) 5%&:1"&%& 1< %<<15#4 0"#%576;4 6",F*1317 Q'6;0#)= I% 5!)!$,!-3 6$--3#!)35 3''3")*!##+ '*B3H )43 ;!')7 )43 5!)3' $,+,)43'3 64!"%3'./0)43 "3%!)*C3 >36)*$" I1L 8!+ "$) :3 4!-8, :&) '*"63 )43 ' J$-3 6$8;#3)3 5*'6&''*$" $, )4*',!&#) ;$)3")*!# 8$53#*"% :5%&%"# #$5%% 83!'&-35 &'/$ 0",0/%&4,%6;0"A +0#$ Q'6;0#) )43*-!%3'7 *" #+1 +3!-'H7!"5 )43*'*B3'7!'6", *" FGHS Q4&'7 64!"%3' )$ 6$53!-3 8$-3-3';$"'*:#3,$-,!&#) )43*- ';!"7 *) *' 8$-3 #*93 % 0"/5%6&%&!;;3!-' *" %<<15#4 KLMN1 =" )4*' )43!&)4$-' 6$&")35 )430" )4!" )43 *'!"#"+,-./0 120(30&-/ 1"% +0#$ +$0/$,0&/'&&%, *15% #$151'A$;) 6$8;#3O*)+ $, )43 6$531 " '*8;#+ '33*"% )43 '*B3 C!-*!:#3 8!'9 )43 3,,3 " &/0%"#0<0/4,%<0"%, 6& )$&6435 3!6489!& $, )43 8$5'.%/#01"&$,2=R 6", 2=J= $1%,*O3' &<'"/#01"& &$!(#!-2,3$4%! #$6# )* +,P5%,0/#07% 89!& 65% 1< Q'6"#0<)J$-3$C3-7 )43 "&8:3- $, 53C3#$;3-' )$&64*"%! 8$5&#! 6$53 &1'5/% *"! )@$ +3!!"5(% 4!5 "$ 3,,36) $" *)',!&#) ;$)3")*!#1.L V"3 ;$''*:#! '&:'+')38 )43 P5%,0/#15&15$, 1< 50&N #$% IP>> "'*(%5 1<6", +0;;;3-*$5 $67%#1#1 # $ %<6';#& /'&&%,;0"%&4 0" *"&)*:#1*& <6/#15& 65%#$6#0"#%",%, :5%,0/#$'%!"3 4+'&12 -+% 5--+%* # ')!)*')*6!# 8$53#',$-1<)43'3,!&#) 6$&")' &'*"% "A0"A #1!= 53C3#$;35 <0C%, 0" *1,';%! -6",4 #$'&4 #$% Q'6;0#) 5%&:1"&%3 0" 6 3O;#!"!)*$" *' )4!) ')-$"% $-%!"*B!)*$" ;-$%-!88*" #$% N%) 5%&:1"&%& 1< %<<15#4 6", Q'6;0#)= 567(2--$4' ' -3/$4' 1%)' )433,,36)'1 3C*53"63,$- W:$))$8 #*"3 $" )43 8$5' :3,$-3 24 %C#%"&07% 83!'&-383")' <'#'5% 0"#%576; 1< #0*%4 #6N%" <51* FKSH4 0"/;',% #$% ')!"5!-5'A3-37!))3"&!)3!"+ '&64 Q43 64!"%3,-$8 6$5 :5%&%"# &'/$ 0",0/%&4 ')!-) $,#$5%% )43 +3!;3-*$51#+1,%6;0"A +0#$ Q'6;0#) 6", 6$53 536!+S $@"3-'4*; D!" )43 3,,$-) )$ *8;#3 /1*:;%C0#)E )43 +%0A$#%, #0*%)@$,6*: *1,%; $@"3-'4*; )$ 64!"%3 FK.<NH-3(&*-35 *'! )43 ;!-!83)3(*'#!(#;-35*6) 53)3-8*"35 :+ ')!)*')*6!# 1"% +0#$ %<<15#4 +$0/$ 65%,0&/'&&%, *15% #$151'A$;) 0" Q43 )4-&') $, )43'3 8$53#' )$ )43 5*')-*:&)*$" :3 ;-35*6)35 +0#$ &'%# 0"! -363") 64!"%3'!55 )43,!6)$*" )4*' -3%!-51,-$8 '+8;)$8'!"5 -*'9,!6)$-'!"!#+'*' F'33 KLMNH1 Q4&'7 #!-%37 8$') $)%*$.)-$!1"&,%<0"%, 6& $,.%/#01"&,&)&-3,!&#)' $C38$5' *" )43 '&:'+')38,-$8 )43!(# /"2=J= #$0 (!+ 2=R 6",,-. 38;#$+'! C!-*!") $, )43 ;-35*6)*C3 ")*1'& +0#$ [*"!##+7!"!#+'*' 6$"6&--3") #!-%3 "&8:3-' $, $)43D )$,!&#)64!"%3 ;$)3")*!#!"5 )43 "&8:3$, )*83'! 8$5 4!' & '5/% ;0"%&4 8$5'R 4*')$-+1 Q43 :3') 8$53#' ;-35*6)35 %!#.)-$!1"'/ P5%,0/#15& 1< #$% "'*(%5 1< <6';#& #$6# +0;; $67% #1 (%!5" " )436$")-*:&)3 W'&8 $, )$&6435,*#3 '*B3'X *" F< 8$5' 5*5 )$,!&#) ;$)3")*!#1 =" )3-8 $"3 '3"'3 :33" $,64!"%35 *'!"&8:3-' :3))3- $, ;-35*6)$)4!" *)' '*B3 $, &'*"% 64!"%3' )$ )43 8$5 0"A #1!= "&8:3-' <0C%, 0" *1,';%! -6",4 1< (" #$%(Q'6;0#) 5%&:1"&%3 0" 6 '&%%3')' )4*' )4!)!-3 )43'&%%3')*C3 536#*"3 $,:&)7 8$5&#!-*)+ *" ' 234#$'&4 %)..!1#.$#!1# (" & -3'&#)' :36!&'353'6-*:35 $, )43 '8! "&8:3$,,!&#)' '&,,3*" )43,&)&-31 Q4!) ( # * $ *' )43 *" )43 ;!')7 )43 5!)3' $, )43'3 64!"%3' F*1317 )43 "3%!)*C3 $, Large, recent changes %C#%"&07% <'#'5% 0"#%576; 1< #0*%4 #6N%" <51* FKSH4 0"/;',% >36)*$" I1L"$) 8!+ "$) :3 4!-8, :&) '*"63 )43 '*B3 $, 64!"%3 #$% 53,*"*)*C31 )43*!%3'7 83!'&-35 *" +3!-'H7!"5 )43*'*B3'7!' *" FGHS ;-*8!-+ F!"5 5*-36)H 3C*53"63 )4!) 64!"%3' *"5&63,!&#)'S 6", #$% A%"%56;0@%, ;0"%65 *1,%; "0#! 6& #$% +%0A$#%, #0*%,6*: *1,%; *'add )43*8$-3 5!)! #*93#+,-$8 most to ';!"7 fault *:;%C0#)E *),*)*'&'*"%! '3) " T43-3 ( # $7 ;!') 64!"%3' $, )43 '!83 :3! )*$ 0" $!(#!-2,3$4% '33*"% )43 '*B3 3,,36)!-3 $, ';!"1 )*$!(" $1<&'%# 0" 6 &!+! $1%/"&#,-$8! ' )* 2' "$)35 *"C!-*!:#3 >36)*$"8!'9 L1.7 )43,3!)&-3' )43 & $7 '& $"3!*% +$)%*$.)-$!1"& #!9" '*8;#+!++,*#6!(# potential. *"5*')*"%&*'4!:#3!"$)43!"57 43"637 "$"3 6$ " $!(# /" #$ (!+ #,-. 0% %)8 *1'& +0#$,&"6)*$"!#*)+ $'%!"3 4+'&12 -+% 5--+%*F31%17 :3 ;$'*)35 )$ 4!C3#!"+ ';36*,*6 3,,36)1 & 1< #$% ;0"%& % &!# >S.)-$!1"'/!5"!"5!-3,$-)$$!%%-3%!)35,$- 8$ " 1% ' -3/$4' )' ': #1 #0*%1% *)4!) 6",'$83 )*$ 0& 8 0&8$53# #$% %"#05% &%#(2--$4' 1< ;-$C*53,%;#6& F/H 567 5$3' 3C*53"63 8$5' 3O)3"535!''3'' )43 3C*53"63 W:$))$8 #*"3X -3#3C!"63 K &$1+& #$% +$%5%Q43 Code having many lines A$@3C3-7 3,,$-) 5!)! F;3-'$" 4$&-'H!-3!C $7*''&3,0&/'&&%, 0"536!+35.%/#01" J=K=J 6", +$%5% )4 +4 $0 4 6", ' 234 %)..!1# (.$#!1# (" &65% 6$53 536!+S D!" )43 3,,$-) -3(&*-35 )$ *8;#383") 64!"%3!-3)43 8$-3 =" (" ;-*"6*;#37 )4*' 6$ % ;!-!83)3()4!" #!(#$)43-'1 53)3-8*"35 :+ ')!)*')*6!# )4*',-$8 #3C3#1 F[&-)43!, %�*6#%, '&0"A #0�/6; 6"6;)&0&= :3 ;-35*6)35 '+8;)$8'!"5a!"!#+'*' -*'9,!6)$-'$,,$-,!6)$-' 536!+\ Q4 :3!55-3''35 :+!##$@*"% ( )$64!"%3' :3 8$5 53;3"53")7 :&) that have survived for %"#06;0#)3 6",!"!#+'*' F'33 KLMNH1 Q4&'7 #!-%37 *1,%; -363")!55 )43 8$') 6", #$% A%"%56;0@%, ;0"%65 T1#$ 1< #$%&% 0",0/%& 0;;'*0"6#% 6& #$% :50*65)!"!#+'*' 38;#$+'! 6& #$% :!'35 $" #!-%3- $, 5!)! :&) -3(&*-*"%! C!-*!") )43 '3)' ;-35*6)*C3 DE= P[[ $,)43 4!C3 "$)!"5 +3) 5$"3 )4*'1 $,/$6"A% /1;15%, ;0"%& )$,!&#) ;$)3")*!# )43 "&8:3)*83'! 8$5 4!' long time is likely to be! 6A%"#2" /5%6#0"A <6';#&=F!"5 -U7%" <6';#&8$53#7,1)*$!(" "1# )43 W'&8,*#3 '*B3'X 64!"%3' )3-8 *" F<H%*C3" $8*))351!%% Q4 3,,$-)$, )$&6435,$- *"5*C*5&!# )*$ 0" 65% 6 :33"!#)3-"!)*C3 #3''#$1'A$ ;$@3-,&#H &'*"% DE= 64!"%35 *'! :3))3;-35*6)$)4!" *)' '*B3 $, )43 5%, ;0"%& &!(# /" # $ '!*%!+ ' + #!9"!+ *#6 #$0& 0& "1#7 6 #6'#1;1A)O"?$% 6(&%"/% 1< 1#$%5-3'&#)'!-3 '&%%3')*C3 :&)7 :36!&'3 $, )43 '8!## '!8;#3 '*B3 &:1"#6"%1'&;)4 relatively free faults. *' of *" KLIN1H $, FIH$,!"5 )43*) '!83 5!)!*"!' F/H7,&)&-31! %3"3-!#*B35 *' '&,,3)43 Q4!) ( *# #*"3!$ *' )438$53#7 #$% ;0"%& 1< "&8:3%)8 #%5*& &'/$ 6& &0@% 6", /1*:;%C0#) 0& $0A$;) 0"<15*6#07%=3 "$) 53,*"*)*C31 PO)-383 C!-*!:*#*)+ $, )43,3!)&-3U#3C3# 5! )4!) 64!"%3' *"5&63,!&#)'S 1< #$% ;0"%& & ;11N0"A 6# 6 ;-*8!-+ F!"5 5*-36)H 3C*53"63 " >S 2.3$1%?$% 0",0/%&,%:0/#,0<<%50"A #%*:156; %<<%/#&=!" -J34 #$% Q43 &'*"% 5!)!,-$8! '3) $, FQ43 IG!"#$%&"' $ ': #1 #0*% * 6", )*$ 0& +$%5% 8 0& #$% %"#05% &%# 1<,%;#6& $1% 64!"%3' #!$!(!$, )43!+#'!83 %,!!%& $!$% )!9*"% # $7 ;!') :3! #$%!-*)48' $,!## C!-*!:#3'1!6)&./0 &$1+& ;15 1< 6#$% ;0"% T43-3 ()* # %<<%/#& 1< /$6"A%& 65% D,6*:%,E 6", 6##%"'6#% 17%5 #0*%4 2' "$)35 *" >36)*$" L1.7,3!)&-3'!-3 )43 &"*)' $, '+')38 # 6", $7 65%,0&/'&&%, 0".%/#01" J=K=J 6", +$%5% )4 +4"$"3 $0 4 6$,-$8 $"3!"$)43!"57 43"637 )*$"7 567(! ' -)7!C$*5' "3%!)*C3 "&8:3-'1H 6506(;% ", *"5*')*"%&*'4!:#3 %:5%&%"#%, +$0;% 0" -234 <6';#& 65% ;%&& ;0N%;) 0" 1;,%5 /1,% -:5170,%,, 0&,&"6)*$"!#*)+ F31%17 )43 '+')38 * :3 ;$'*)35 )$ 4!C3!"+ ';36*,*6 3,,36)1 %�*6#%, '&0"A*8;#*3' #0�/6; *' #$6# /$6"A%, Q4*' 8$53# )4!)6"6;)&0&= 6$53 4!C*"% 8!"+ #*"3' )4!)3O)3"535 4!C3 8$53# 06;0#)3 6",!"5!-3 )$$!%%-3%!)35,$- 8$') ;&-;$'3' Q43 8$53# F/H 5$3' ;-$C*53 3C*53"63 )4!) '$83 8$5' T1#$ 1</$6"A%& #$%&% 0;;'*0"6#% #$% :50*65) >S= V%5%4,%;#6& 56#$%5 #$6" WX&= /$6"A% ;% $'%=;0"%& '&-C*C35,$- 65%!0",0/%& #$"% )*83 *' #*93#+ )$ :3 6& -3#!)*C3#+,-33 $, A$@3C3-7 3,,$-) 5!)! F;3-'$" 4$&-'H!-3!C!*#!:#3 $"#+! 15%,!-3 8$-3 536!+35 )4!" $)43-'1 =" ;-*"6*;#37 )4*' *''&3 6$ 567$! ' 3))$4%% #!"8 '!!" $567(! ' )9/3: 6A%"# /5%6#0"A <6';#&= -U7%" #$1'A$ <6';#&,1 "1# 650&%,!&#)'1 J$-3 ;-36*'3#+7 )$ F.MH7 6$53!:&) +3!- )4*' $#53-#3C3#1 F[&-)43!"!#+'*' $,,!6)$-'!,,36)*"% 3,,$, ;0"%& 65% :3!55-3''35 :+!##$@*"% (!66$-5*"% )$ :3 8$5 53;3"53")7 8 EE382V Software Evolution: Spring 2009, Instructor Miryung Kim &:1"#6"%1'&;)4 #$0& 0& "1# 6 #6'#1;1A)O?$% 6(&%"/% 1< 1#$%5 )4!" "$) $)43-@*'3 '*8*#!6$53 )3"5' )$ 4!C3 $"#+ )@$U)4*-5'.!$'$567(! ' -3/$4%)% :!'35 $" #!-%35!)! '3)' :&) -3(&*-*"% )43 *8;&)!)*$" 4!C3 +3) 5$"3 )4*'1 $% ;0"%& 1< #%5*& &'/$,!&#)'1 6& &0@% /1*:;%C0#) 0& $0A$;) 0"<15*6#07%=3!'!#)3-"!)*C3 8!"+ %*C3" 3,,$2" F!"5 6", #3'' ;$@3-,&#H 8$53#7 &'*"% )43 DE= 3,,$-),$- *"5*C*5&!# 64!"%3' '!!8 567(!!%%-3%!)35 ' 2--$4%) 567(! 11N0"A 6# 6 0",0/%&,%:0/#,0<<%50"A #%*:156; %<<%/#&= -J34 #$% *' *" KLIN1H V"3 )$ 3C!#&!)3 )43'3 8$53#' *'8$53#7 :+!"6$8;!-*'$" $,?$% FIH!"5 )43@!+ '!83 5!)!!' F/H7! %3"3-!#*B35 #*"3!*' C!#&3'7 '!!! 567(! ' 9;,$4%) 1< 6 ;0"% Results: (3) Fault potential, the likelihood of changes to induce faults increases over time
35 Results: (4) Prediction of efforts increases over time X EFF c ˆ a 0 a 1 FILES c a 2 1fc > e fgjfj a 3 ADD c a 4 DEL c a 5 INT c a 6 DEV c : j j f log 1 EFF c ˆ :32 :13 log 1 FILES c Š 2 :09 log 1 DEL c Š 2 :12 log 1 ADD c Š log 1 DEL c Š :11 log 1 INT c Š :47 log 1 DELTAS c Š: File span has positive correlation. Large deletions are implemented rather easily. Hardest changes require both additions and deletions. Large number of editing changes are rather easy to implement.
36 Expected results? Any unexpected results?... The number of developers does not have much impact Complexity metrics did not play much roles compared to size and number of changes
37 Expected results? File span increases over time. Size and time of changes have some positive correlation with fault potential Modularity degrades over time. Any unexpected results? Once size and time of changes are taken into account, other variables (e.g. # developers, complexity metrics, span of files) did not play much roles in predicting faults. Large number of editing changes are rather easy to implement. In the beginning of evolution, file span was relatively large.
38 Threats to Validity? Limitations?
39 Four types of threats to validity External Validity: Can we generalize to other situations? Internal Validity: Assuming that there is a relationship in this study, is the relationship a causal one? Construction Validity: Assuming that there is a causal relationship in this study, can we claim that the program reflected well our construct of the program and measure? Conclusion Validity: Is there a relationship between the cause and effect?
40 Another way of looking at Validity Theory: what you think Cause Construct cause effect constructs Effect Construct Program programoutcome Observations Observation: what you test
41 Example: WWW => Student Learning Theory: WWW virtual classroom improves student understanding of course materials WWW virtual classroom cause effect constructs Understanding Second life instruction programoutcome Test score Observation: Let one half of EE382V to use second-life virtual class room and let the other half come to regular lecture. Compare their test scores at the end.
42 External Validity Theory: WWW virtual classroom improves student understanding of course WWW virtual classroom cause effect constructs Understanding Second life instruction programoutcome Test score Observation: Let one half of EE382V to use www site and let the other half External Validity: Does this study generalize to students of EE322c?
43 Internal Validity Theory: WWW virtual classroom improves student understanding of course WWW virtual classroom cause effect constructs Understanding Second life instruction programoutcome Test score Observation: Let one half of EE382V to use www site and let the other half Internal Validity: Assuming that students using WWW did better in their test, isn t it because these students have more money (apparently they have computers & high-speed internet) and rich students have more experiences with objective tests (due to their parents sending them to prep-schools.)
44 Construct Validity Theory: WWW virtual classroom improves student understanding of course WWW virtual classroom cause effect constructs Understanding Second life instruction programoutcome Test score Observation: Let one half of EE382V to use www site and let the other half Construct Validity: Is the operationalization method valid? Do objective test scores truly reflect students understanding of core concepts? Don t students who are familiar with second life interface just test better?
45 Conclusion Validity Theory: WWW virtual classroom improves student understanding of course WWW virtual classroom cause effect constructs Understanding Second life instruction programoutcome Test score Observation: Let one half of EE382V to use www site and let the other half Conclusion Validity: Are the correlation between second-life virtual classroom use and test scores significant?
46 1. Temporal Behavior of the Span of Code Changes Cause Construct cause effect constructs Effect Construct Program programoutcome Observations
47 1. Temporal Behavior of the Span of Code Changes External Validity Internal Validity Construct Validity Conclusion Validity
48 2. Time Behavior of Modularity Cause Construct cause effect constructs Effect Construct Program programoutcome Observations
49 2. Time Behavior of Modularity External Validity Internal Validity Construct Validity Conclusion Validity
50 3. Prediction of Faults Cause Construct cause effect constructs Effect Construct Program programoutcome Observations
51 3. Prediction of Faults External Validity Internal Validity Construct Validity Conclusion Validity
52 4. Models of Effort Cause Construct cause effect constructs Effect Construct Program programoutcome Observations
53 4. Models of Effort External Validity Internal Validity Construct Validity Conclusion Validity
54 My general thoughts on Code Decay Paper Rich data set!!! Scientific research method Identification of hypotheses => identify key variables and measure them = > create statistical models => statistical regression What do identified coefficients real mean? Can programmers use any of these findings for daily development activities?
55 Recap Code decay can be mapped to specific measured / derived variables. e.g., span of changes => file span, non-localized changes => changes that spans module boundaries Early mining software repositories research in late 90s that is based on statistical regression analysis and visualization These types of research require having good insights. e.g., weighted time dampened model Identified which factors do mater! => some surprising results that complexity metrics do not matter
56 Limitations Carefully designed model that may have over-fitted data? Their model did not consider change types or change content Their model cannot handle module specific information Their results do not generalize to other systems because most changes in open source system does not map to a logical software change
A Model of Large Software Development
A Model of Large Software Development L.A Belady and M.M Lehman 1976 IBM OS/360 Seminal empirical study paper in software evolution What was it like in 1976? computers were huge computers were slow no
More informationSoftware Evolution: An Empirical Study of Mozilla Firefox
Software Evolution: An Empirical Study of Mozilla Firefox Anita Ganpati Dr. Arvind Kalia Dr. Hardeep Singh Computer Science Dept. Computer Science Dept. Computer Sci. & Engg. Dept. Himachal Pradesh University,
More informationLecture 25 Clone Detection CCFinder. EE 382V Spring 2009 Software Evolution - Instructor Miryung Kim
Lecture 25 Clone Detection CCFinder Today s Agenda (1) Recap of Polymetric Views Class Presentation Suchitra (advocate) Reza (skeptic) Today s Agenda (2) CCFinder, Kamiya et al. TSE 2002 Recap of Polymetric
More informationTraining & Documentation. Different Users. Types of training. Reading: Chapter 10. User training (what the system does)
Training & Documentation Reading: Chapter 10 Different Users Types of training User training (what the system does) Operator training (how the system works) Special training needs: new users vs. brush-up
More informationSoftware Maintainability Ontology in Open Source Software. Celia Chen ARR 2018, USC
Software Maintainability Ontology in Open Source Software Celia Chen qianqiac@usc.edu ARR 2018, USC How do others measure software maintainability? Most popular methods: Automated analysis of the code
More informationAD HOC VS. PLANNED SOFTWARE MAINTENANCE
AD HOC VS. PLANNED SOFTWARE MAINTENANCE INTRODUCTION Warren Harrison Portland State University Portland, OR 97207-0751 warren@cs.pdx.edu In a series of papers, Belady and Lehman [Belady & Lehman, 1976]
More informationSupplementary Notes for Software Reengineering - July 8, 2011
Supplementary Notes for Software Reengineering - July 8, 2011 Note that these add to the material presented in the lecture slides. There will be exam question(s) on this topic! Most of our courses have
More information!"#$$%&'( )&('*+) *%,"#- )##.+- -#*'(*-% "!) -/)'#-* (*) &&'%/) (+-*4$)33$(-'
!"#$$%&'( )&('*+) *%,"#- )##.+- -#*'(*-% "!) -/)'#-* (*)0111111111111111111111 &&'%/).0 111111111111111111111111111 2-33-(+-*4$)33$(-' 111111111111111111111111111 2 )#3)%$) 111111111111111111111111111-4$()3)
More informationLecture 22. Path Spectra Change Impact Analysis. EE 382V Spring 2009 Software Evolution - Instructor Miryung Kim
Lecture 22 Path Spectra Change Impact Analysis Today s Agenda (1) Recap of RTS Presentation Reza (advocate) Xin (skeptic) Brief Discussion on Program Profiling Class activity on statement, branch and path
More informationMINFS544: Business Network Data Analytics and Applications
MINFS544: Business Network Data Analytics and Applications Feb 21 th, 2017 Daning Hu, Ph.D., Department of Informatics University of Zurich F Schweitzer et al. Science 2009 Stop Contagious Failures in
More informationComputer Science and Software Engineering University of Wisconsin - Platteville 9-Software Testing, Verification and Validation
Computer Science and Software Engineering University of Wisconsin - Platteville 9-Software Testing, Verification and Validation Yan Shi SE 2730 Lecture Notes Verification and Validation Verification: Are
More informationLecture 20. Delta Debugging Regression Testing. EE 382V Spring 2009 Software Evolution - Instructor Miryung Kim
Lecture 20 Delta Debugging Regression Testing EE 382V Spring 2009 Software Evolution - Instructor Miryung Kim Today s Agenda Regression Testing Delta Debugging: Presentation by Divya (advocate) Presentation
More informationLecture 24 Software Visualization and Metrics Polymetric Views. EE 382V Spring 2009 Software Evolution - Instructor Miryung Kim
Lecture 24 Software Visualization and Metrics Polymetric Views Today s Agenda (1) Discussion on Practical Applications of Software Evolution Research Concern Graph Delta Debugging Regression Test Selection
More informationSoftware Evolution. Dr. James A. Bednar. With material from
Software Evolution Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar With material from Massimo Felici, Conrad Hughes, and Perdita Stevens SAPM Spring 2012: Evolution 1 Software
More informationCross-project defect prediction. Thomas Zimmermann Microsoft Research
Cross-project defect prediction Thomas Zimmermann Microsoft Research Upcoming Events ICSE 2010: http://www.sbs.co.za/icse2010/ New Ideas and Emerging Results ACM Student Research Competition (SRC) sponsored
More information2IS55 Software Evolution. Software metrics. Alexander Serebrenik
2IS55 Software Evolution Software metrics Alexander Serebrenik Assignments Assignment 3: Feedback: 3.875/5 BUT only 8 responces Evaluation Q3: Feedback: Thank you! BUT only 6 responces Assignment 4: Deadline:
More informationTowards Systematic Usability Verification
Towards Systematic Usability Verification Max Möllers RWTH Aachen University 52056 Aachen, Germany max@cs.rwth-aachen.de Jonathan Diehl RWTH Aachen University 52056 Aachen, Germany diehl@cs.rwth-aachen.de
More informationPROGRESS BOOK PARENT ACCESS NAVIGATION
PROGRESS BOOK PARENT ACCESS NAVIGATION Enter the following web address into your internet browser. https://parent.laca.org From the resulting screen, you can click on your child s school district icon.
More informationCSC 408F/CSC2105F Lecture Notes
CSC 408F/CSC2105F Lecture Notes These lecture notes are provided for the personal use of students taking CSC 408H/CSC 2105H in the Fall term 2004/2005 at the University of Toronto. Copying for purposes
More informationMathematics Scope & Sequence Algebra I
Mathematics Scope & Sequence 2016-17 Algebra I Revised: June 20, 2016 First Grading Period (24 ) Readiness Standard(s) Solving Equations and Inequalities A.5A solve linear equations in one variable, including
More informationTopics in Software Testing
Dependable Software Systems Topics in Software Testing Material drawn from [Beizer, Sommerville] Software Testing Software testing is a critical element of software quality assurance and represents the
More informationMTAT : Software Testing
MTAT.03.159: Software Testing Lecture 04: Static Testing (Inspection) and Defect Estimation (Textbook Ch. 10 & 12) Spring 2013 Dietmar Pfahl email: dietmar.pfahl@ut.ee Lecture Reading Chapter 10: Reviews
More informationEmpAnADa Project. Christian Lange. June 4 th, Eindhoven University of Technology, The Netherlands.
EmpAnADa Project C.F.J.Lange@tue.nl June 4 th, 2004 Eindhoven University of Technology, The Netherlands Outline EmpAnADa introduction Part I Completeness and consistency in detail Part II Background UML
More information( ) = Y ˆ. Calibration Definition A model is calibrated if its predictions are right on average: ave(response Predicted value) = Predicted value.
Calibration OVERVIEW... 2 INTRODUCTION... 2 CALIBRATION... 3 ANOTHER REASON FOR CALIBRATION... 4 CHECKING THE CALIBRATION OF A REGRESSION... 5 CALIBRATION IN SIMPLE REGRESSION (DISPLAY.JMP)... 5 TESTING
More informationLecture 18. Delta Debugging-- Yesterday my program worked, it does not. Why? EE 382V Spring 2009 Software Evolution - Instructor Miryung Kim
Lecture 18 Delta Debugging-- Yesterday my program worked, it does not. Why? EE 382V Spring 2009 Software Evolution - Instructor Miryung Kim This Week - Fault Localization Debugging is a process of finding
More informationRaymond P.L. Buse and Westley R. Weimer. Presenter: Rag Mayur Chevuri
Raymond P.L. Buse and Westley R. Weimer {buse,weimer}@cs.virginia.edu Presenter: Rag Mayur Chevuri Maintenance consumes 70% of total life cycle cost Reading code Most time-consuming component of maintenance
More informationExposing unforeseen consequences of software change
Exposing unforeseen consequences of software change David Notkin University of Washington February 2010 Joint work with Reid Holmes Thank you! My first trip to India and I am sure not my last! Wonderful
More informationHandout 12 Data Warehousing and Analytics.
Handout 12 CS-605 Spring 17 Page 1 of 6 Handout 12 Data Warehousing and Analytics. Operational (aka transactional) system a system that is used to run a business in real time, based on current data; also
More informationTHE UNIVERSITY OF TEXAS AT AUSTIN MIS373 e-discovery and Digital Forensics SPRING 2015 Unique#: (03665) VERSION: 2_011718
THE UNIVERSITY OF TEXAS AT AUSTIN MIS373 e-discovery and SPRING 2015 Unique#: (03665) VERSION: 2_011718 Instructor : Juan Reyes, Lecturer Class times : Tuesday and Thursday, 3:30-5:00pm Class location
More informationAnnouncements. CS 188: Artificial Intelligence Spring Generative vs. Discriminative. Classification: Feature Vectors. Project 4: due Friday.
CS 188: Artificial Intelligence Spring 2011 Lecture 21: Perceptrons 4/13/2010 Announcements Project 4: due Friday. Final Contest: up and running! Project 5 out! Pieter Abbeel UC Berkeley Many slides adapted
More informationLecture 3. Parnas Information Hiding
Lecture 3 Parnas Information Hiding Announcement SSE: Students in Software Engineering http://www.edge.utexas.edu/sse/ Software Engineering Reading Group 11AM - 12PM on every other friday http://users.ece.utexas.edu/~miryung/
More informationEECS 481 Software Engineering Exam #1. You have 1 hour and 20 minutes to work on the exam.
EECS 481 Software Engineering Exam #1 Write your name and UM uniqname on the exam. There are ten (10) pages in this exam (including this one) and seven (7) questions, each with multiple parts. Some questions
More informationAn Introduction to Growth Curve Analysis using Structural Equation Modeling
An Introduction to Growth Curve Analysis using Structural Equation Modeling James Jaccard New York University 1 Overview Will introduce the basics of growth curve analysis (GCA) and the fundamental questions
More informationLecture 19. Delta Debugging Cooperative Bug Isolation. EE 382V Spring 2009 Software Evolution - Instructor Miryung Kim
Lecture 19 Delta Debugging Cooperative Bug Isolation EE 382V Spring 2009 Software Evolution - Instructor Miryung Kim Today s Agenda Presentation: Chris on Cooperative Bug Isolation Quiz on Delta Debugging
More informationYour Name: Section: INTRODUCTION TO STATISTICAL REASONING Computer Lab #4 Scatterplots and Regression
Your Name: Section: 36-201 INTRODUCTION TO STATISTICAL REASONING Computer Lab #4 Scatterplots and Regression Objectives: 1. To learn how to interpret scatterplots. Specifically you will investigate, using
More informationPredicting Vulnerable Software Components
Predicting Vulnerable Software Components Stephan Neuhaus, et. al. 10/29/2008 Stuart A Jaskowiak, CSC 682 1 What's in the paper? Introduction Scope of this Work Components and Vulnerabilities Imports and
More informationUniversity of Karlsruhe (TH)
University of Karlsruhe (TH) Research University founded 1825 Technical Briefing Session Multicore Software Engineering @ ICSE 2009 Transactional Memory versus Locks - A Comparative Case Study Victor Pankratius
More informationWorkshop 8: Model selection
Workshop 8: Model selection Selecting among candidate models requires a criterion for evaluating and comparing models, and a strategy for searching the possibilities. In this workshop we will explore some
More informationOut-of-band that actually works.
Out-of-band that actually works. The time to know if your gear works is before your need it Nobody wants to be up the creek without a paddle Out-of-band isn t a new concept. As network requirements have
More informationComputer Architecture
Informatics 3 Computer Architecture Dr. Boris Grot and Dr. Vijay Nagarajan Institute for Computing Systems Architecture, School of Informatics University of Edinburgh General Information Instructors: Boris
More information!! What is virtual memory and when is it useful? !! What is demand paging? !! When should pages in memory be replaced?
Chapter 10: Virtual Memory Questions? CSCI [4 6] 730 Operating Systems Virtual Memory!! What is virtual memory and when is it useful?!! What is demand paging?!! When should pages in memory be replaced?!!
More informationLecture 21. Regression Testing Path Spectra. EE 382V Spring 2009 Software Evolution - Instructor Miryung Kim
Lecture 21 Regression Testing Path Spectra Today s Agenda (1) Regression Test Selection Path Spectra Presentation by David (skeptic) Presentation by Sidd (advocate) Presentation by Srinivas (skeptic) Today
More informationTheory and Applications of Complex Networks
Theory and Applications of Complex Networks 1 Theory and Applications of Complex Networks Class One College of the Atlantic David P. Feldman 12 September 2008 http://hornacek.coa.edu/dave/ 1. What is a
More informationAlthough many business owners think that Virtualization and Disaster Recovery (DR) are two separate services, the
E-NEWS www.e-safetech.om 1-412-944-2402 2018 E-Safe Technologies All rights reserved. August 2018 In this issue Quick Guide to Virtualization as a DR plan Virtualization Security Risks and Management E-Safe
More informationSoftware change. Software maintenance
Software change 1 Software change is inevitable New requirements emerge when the software is used The business environment changes Errors must be repaired New equipment must be accommodated The performance
More informationTesting. So let s start at the beginning, shall we
Testing Today we are going to talk about testing. Before you all lapse into comas in anticipation of how exciting this lecture will be, let me say that testing actually is kind of interesting. I can t
More informationArticle II - Standards Section V - Continuing Education Requirements
Article II - Standards Section V - Continuing Education Requirements 2.5.1 CONTINUING PROFESSIONAL EDUCATION Internal auditors are responsible for maintaining their knowledge and skills. They should update
More informationNOTE: New directions for accessing the Parent Portal using Single Sign On
NOTE: New directions for accessing the Parent Portal using Single Sign On PROCESS STEPS SCREEN SHOTS Launch a web browser (Internet Explorer, Safari, or FireFox) and go to PowerSchool Parent Portal URL:
More informationMobile Device Management: Strategies for Success. Speaker: Keith Leone
Mobile Device Management: Strategies for Success Speaker: Keith Leone 1 Agenda Mobile Device Snapshot Current Statistics and Trends BYOD Why and How? Profile Management Tips & Tricks Implementing MDM 2
More informationCSE 260 Lecture 19. Parallel Programming Languages
CSE 260 Lecture 19 Parallel Programming Languages Announcements Thursday s office hours are cancelled Office hours on Weds 2p to 4pm Jing will hold OH, too, see Moodle Scott B. Baden /CSE 260/ Winter 2014
More informationFuzzy Sets and Systems. Lecture 1 (Introduction) Bu- Ali Sina University Computer Engineering Dep. Spring 2010
Fuzzy Sets and Systems Lecture 1 (Introduction) Bu- Ali Sina University Computer Engineering Dep. Spring 2010 Fuzzy sets and system Introduction and syllabus References Grading Fuzzy sets and system Syllabus
More informationFeasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code (contd)
Feasibility of Testing to Code (contd) Feasibility of Testing to Code (contd) An incorrect code fragment for determining if three integers are equal, together with two test cases Flowchart has over 10
More information#mstrworld. Best Practices for Enterprise Caliber Dashboard Design
Best Practices for Enterprise Caliber Dashboard Design Agenda What is Visual Design Design Principles Challenges Characteristics of a Dashboard Good Practices Q & A 2 What is Visual Design? Who? (Roles)
More informationWhy is Inheritance Important?
Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 A Controlled Experiment on Inheritance Depth as a Cost Factor in Maintenance Walter F. Tichy University of Karlsruhe Why is Inheritance Important?
More information4.1 Interval Scheduling
41 Interval Scheduling Interval Scheduling Interval scheduling Job j starts at s j and finishes at f j Two jobs compatible if they don't overlap Goal: find maximum subset of mutually compatible jobs a
More informationMontgomery County Schools Guide for PowerSchool Parent Portal
Montgomery County Schools Guide for PowerSchool Parent Portal Getting Started The login page allows authorized users to access the web pages containing their student s information. Please keep this information
More informationAn Introduction to the Bootstrap
An Introduction to the Bootstrap Bradley Efron Department of Statistics Stanford University and Robert J. Tibshirani Department of Preventative Medicine and Biostatistics and Department of Statistics,
More informationComputer Architecture!
Informatics 3 Computer Architecture! Dr. Boris Grot and Dr. Vijay Nagarajan!! Institute for Computing Systems Architecture, School of Informatics! University of Edinburgh! General Information! Instructors:!
More informationTHE UNIVERSITY OF TEXAS AT AUSTIN MIS373 e-discovery and Digital Forensics SPRING 2015 Unique#: (03883) VERSION: 1/23/2015
THE UNIVERSITY OF TEXAS AT AUSTIN MIS373 e-discovery and SPRING 2015 Unique#: (03883) VERSION: 1/23/2015 Instructor : Juan Reyes, Lecturer Class times : Monday and Wednesday, 3:30-5:00pm Class location
More informationA Capacity Planning Methodology for Distributed E-Commerce Applications
A Capacity Planning Methodology for Distributed E-Commerce Applications I. Introduction Most of today s e-commerce environments are based on distributed, multi-tiered, component-based architectures. The
More informationLong-term vision and working programme on tunnels in the Netherlands
Long-term vision and working programme on tunnels in the Netherlands Karin de Haas Manager tunnel programme COB WE THINK UNDERGROUND SPACE ITACUS Open Session @ WTC 2018 Dubai, UAE Introduction Introduction
More informationCSE 153 Design of Operating Systems
CSE 153 Design of Operating Systems Winter 18 Lecture 18/19: Page Replacement Memory Management Memory management systems Physical and virtual addressing; address translation Techniques: Partitioning,
More informationChapter 2: Frequency Distributions
Chapter 2: Frequency Distributions Chapter Outline 2.1 Introduction to Frequency Distributions 2.2 Frequency Distribution Tables Obtaining ΣX from a Frequency Distribution Table Proportions and Percentages
More informationBasic Concepts of Reliability
Basic Concepts of Reliability Reliability is a broad concept. It is applied whenever we expect something to behave in a certain way. Reliability is one of the metrics that are used to measure quality.
More informationComputer Architecture!
Informatics 3 Computer Architecture! Dr. Boris Grot and Dr. Vijay Nagarajan!! Institute for Computing Systems Architecture, School of Informatics! University of Edinburgh! General Information! Instructors
More informationTowards Better Understanding of Software Quality Evolution Through Commit Impact Analysis
Towards Better Understanding of Software Quality Evolution Through Commit Impact Analysis Sponsor: DASD(SE) By Mr. Pooyan Behnamghader 5 th Annual SERC Doctoral Students Forum November 7, 2017 FHI 360
More information2016 Survey MANAGING APPLE DEVICES IN HIGHER EDUCATION
2016 Survey MANAGING APPLE DEVICES IN HIGHER EDUCATION 2016 Survey MANAGING APPLE DEVICES IN HIGHER EDUCATION The annual Jamf Trends Survey looked at Apple in higher education evaluating growth, key drivers
More informationAutomate Transform Analyze
Competitive Intelligence 2.0 Turning the Web s Big Data into Big Insights Automate Transform Analyze Introduction Today, the web continues to grow at a dizzying pace. There are more than 1 billion websites
More informationEECS 647: Introduction to Database Systems
EECS 647: Introduction to Database Systems Instructor: Luke Huan Spring 2009 Queries for Today What is a database? What is a database management system? Why take a database course? Who will teach? How
More informationSTATISTICS (STAT) Statistics (STAT) 1
Statistics (STAT) 1 STATISTICS (STAT) STAT 2013 Elementary Statistics (A) Prerequisites: MATH 1483 or MATH 1513, each with a grade of "C" or better; or an acceptable placement score (see placement.okstate.edu).
More informationData Analysis and Solver Plugins for KSpread USER S MANUAL. Tomasz Maliszewski
Data Analysis and Solver Plugins for KSpread USER S MANUAL Tomasz Maliszewski tmaliszewski@wp.pl Table of Content CHAPTER 1: INTRODUCTION... 3 1.1. ABOUT DATA ANALYSIS PLUGIN... 3 1.3. ABOUT SOLVER PLUGIN...
More informationHands-On Activities + Technology = Mathematical Understanding Through Authentic Modeling
Session #176, Beatini Hands-On Activities + Technology = Mathematical Understanding Through Authentic Modeling Hands-On Activities + Technology = Mathematical Understanding Through Authentic Modeling NCTM
More informationCS246: Mining Massive Datasets Jure Leskovec, Stanford University
CS6: Mining Massive Datasets Jure Leskovec, Stanford University http://cs6.stanford.edu Training data 00 million ratings, 80,000 users, 7,770 movies 6 years of data: 000 00 Test data Last few ratings of
More informationSimilarity Templates or Schemata. CS 571 Evolutionary Computation
Similarity Templates or Schemata CS 571 Evolutionary Computation Similarities among Strings in a Population A GA has a population of strings (solutions) that change from generation to generation. What
More informationInformation Retrieval
Introduction to Information Retrieval CS3245 Information Retrieval Lecture 9: IR Evaluation 9 Ch. 7 Last Time The VSM Reloaded optimized for your pleasure! Improvements to the computation and selection
More informationExploiting IT Log Analytics to Find and Fix Problems Before They Become Outages
Exploiting IT Log Analytics to Find and Fix Problems Before They Become Outages Clyde Richardson (richarcl@us.ibm.com) Technical Sales Specialist Sarah Knowles (seli@us.ibm.com) Strategy and Portfolio
More informationThe data quality trends report
Report The 2015 email data quality trends report How organizations today are managing and using email Table of contents: Summary...1 Research methodology...1 Key findings...2 Email collection and database
More informationWhat is a Network? Theory and Applications of Complex Networks. Network Example 1: High School Friendships
1 2 Class One 1. A collection of nodes What is a Network? 2. A collection of edges connecting nodes College of the Atlantic 12 September 2008 http://hornacek.coa.edu/dave/ 1. What is a network? 2. Many
More informationCSC 1052 Algorithms & Data Structures II: Introduction
CSC 1052 Algorithms & Data Structures II: Introduction Professor Henry Carter Spring 2018 Programming This course... We will investigate a series of data structures and algorithms designed to solve common
More informationQuantitative Vulnerability Assessment of Systems Software
Quantitative Vulnerability Assessment of Systems Software Omar H. Alhazmi Yashwant K. Malaiya Colorado State University Motivation Vulnerabilities: defect which enables an attacker to bypass security measures
More informationEmpirical Study on Impact of Developer Collaboration on Source Code
Empirical Study on Impact of Developer Collaboration on Source Code Akshay Chopra University of Waterloo Waterloo, Ontario a22chopr@uwaterloo.ca Parul Verma University of Waterloo Waterloo, Ontario p7verma@uwaterloo.ca
More informationGeneral System Requirements MCS Apps
General System Requirements MCS Apps Document status Document owner LIVE Thomas Verdyck Goals Get insight on the minimal hardware & software requirements needed for running an app of the MCS Software suite.
More informationPowerSchool Parent Portal Directions Packet
PowerSchool Parent Portal Directions Packet PowerSchool is Susquehanna Valley s easy-to-use web-based student information system. Through PowerSchool Parent Portal you can access your high school or middle
More informationModelling data networks research summary and modelling tools
Modelling data networks research summary and modelling tools a 1, 3 1, 2 2, 2 b 0, 3 2, 3 u 1, 3 α 1, 6 c 0, 3 v 2, 2 β 1, 1 Richard G. Clegg (richard@richardclegg.org) December 2011 Available online at
More informationCMSC 201 Spring 2017 Project 1 Number Classifier
CMSC 201 Spring 2017 Project 1 Number Classifier Assignment: Project 1 Number Classifier Due Date: Design Document: Saturday, March 11th, 2017 by 8:59:59 PM Project: Friday, March 17th, 2017 by 8:59:59
More informationLecture 1: Overview
15-150 Lecture 1: Overview Lecture by Stefan Muller May 21, 2018 Welcome to 15-150! Today s lecture was an overview that showed the highlights of everything you re learning this semester, which also meant
More informationEconomics of Information Networks
Economics of Information Networks Stephen Turnbull Division of Policy and Planning Sciences Lecture 4: December 7, 2017 Abstract We continue discussion of the modern economics of networks, which considers
More informationWEB-CAT. Exploring Trends and Student Behaviors from Data Collected on an Automated Grading and Testing System
Exploring Trends and Student Behaviors from Data Collected on an Automated Grading and Testing System WEB-CAT Tony Allevato, Stephen Edwards allevato@vt.edu, edwards@cs.vt.edu Virginia Tech Department
More informationCisco Tetration Analytics
Cisco Tetration Analytics Real-time application visibility and policy management using advanced analytics Yogesh Kaushik, Sr. Director Product Management PSOACI-2100 Agenda Market context Introduction:
More informationNotebook Paper will be essential for notetaking and completing assignments.
Lindblom Mathematics and Science Academy School Year 2017/2018 Geometry Syllabus Email: Room Office Hours Ms. Parsons aparsons1@cps.edu 326 Tues. 3:15-4pm Wed. Flex 2 and 3 Fri. 3:15-4pm (Appointment Only)
More informationTechnical Debt in Large Systems: Understanding the cost of software complexity
Technical Debt in Large Systems: Understanding the cost of software complexity Dan Sturtevant, Ph.D. dan.sturtevant@sloan.mit.edu INCOSE Webinar June th, 2013 With thanks to: Alan MacCormack, Steven Eppinger,
More informationPage 1. Recap: File System Goals" Recap: Linked Allocation"
Recap: File System Goals" CS162 Operating Systems and Systems Programming Lecture 14 File Systems (cont d), Key Value Storage Systems" Maximize sequential performance Efiicient random access to file Easy
More informationLeading the Digital Transformation from the Centre of Government
37th Meeting of Senior Officials from Centres of Government Leading the Digital Transformation from the Centre of Government Dublin, Ireland, 8-9 November 2018 Agenda 2 GOV/PGC/MPM/A(2018)1/REV1 19.00
More informationThe Basics of Network Structure
The Basics of Network Structure James M. Cook University of Maine at Augusta james.m.cook@maine.edu Keywords Betweenness; Centrality; Closeness; Degree; Density; Diameter; Distance; Clique; Connected Component;
More informationHow Emerson s I/O on Demand Is Changing the Automation Infrastructure
ARC VIEW MARCH 25, 2010 How Emerson s I/O on Demand Is Changing the Automation Infrastructure By Larry O Brien Summary Many factors at work today are radically changing the world of conventional I/O. Fieldbus
More informationSolving Linear Recurrence Relations (8.2)
EECS 203 Spring 2016 Lecture 18 Page 1 of 10 Review: Recurrence relations (Chapter 8) Last time we started in on recurrence relations. In computer science, one of the primary reasons we look at solving
More informationStudent name and surname: Student ID: EXAMINATION
Student name and surname: Student ID: EXAMINATION The exam is open-book, open-laptop, and open-internet. You are not allowed to share information with anyone during the exam other than the lecturer. You
More informationMidterm Exam Search Engines ( / ) October 20, 2015
Student Name: Andrew ID: Seat Number: Midterm Exam Search Engines (11-442 / 11-642) October 20, 2015 Answer all of the following questions. Each answer should be thorough, complete, and relevant. Points
More informationCS 188: Artificial Intelligence Fall Machine Learning
CS 188: Artificial Intelligence Fall 2007 Lecture 23: Naïve Bayes 11/15/2007 Dan Klein UC Berkeley Machine Learning Up till now: how to reason or make decisions using a model Machine learning: how to select
More informationAutomated Documentation Inference to Explain Failed Tests
Automated Documentation Inference to Explain Failed Tests Sai Zhang University of Washington Joint work with: Cheng Zhang, Michael D. Ernst A failed test reveals a potential bug Before bug-fixing, programmers
More information