Lecture 6 & 7. Empirical Studies of Software Evolution: Code Decay. EE382V Software Evolution: Spring 2009, Instructor Miryung Kim

Size: px
Start display at page:

Download "Lecture 6 & 7. Empirical Studies of Software Evolution: Code Decay. EE382V Software Evolution: Spring 2009, Instructor Miryung Kim"

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"/;',% #$% &#6",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&! %&#0*6#%, '&0"A &#6#0&#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"%& %&#0*6#%, '&0"A<6';#&= &#6#0&#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&#6"/%=?$% 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(;% &#6", 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&#6"/%=?$% /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&#3' )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&#3'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&#3' :+ *"6#&5*"% 8$5&#3 '*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&#3 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,&#7 :&) '*"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&#3'.%/#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,$-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&#3' *" )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&#3 4!' & '5/% ;0"%&4 8$5&#3'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&#3' 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&#3 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,&#7 :&) '*"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$&#5 " $!(# /" #$ (!+ #,-. 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&#3' 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$&#5 % ;!-!83)3()4!" #!(#$)43-'1 53)3-8*"35 :+ ')!)*')*6!# )4*',-$8 #3C3#1 F[&-)43!, %&#0*6#%, '&0"A &#6#0&#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&#3 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&#3 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$&#5,-$8 $"3!"$)43!"57 43"637 )*$"7 567(! ' -)7!C$*5' "3%!)*C3 "&8:3-'1H 6506(;% &#6", *"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 %&#0*6#%, '&0"A*8;#*3' &#6#0&#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&#3' 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$&#5 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&#3 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 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 information

Software Evolution: An Empirical Study of Mozilla Firefox

Software 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 information

Lecture 25 Clone Detection CCFinder. EE 382V Spring 2009 Software Evolution - Instructor Miryung Kim

Lecture 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 information

Training & Documentation. Different Users. Types of training. Reading: Chapter 10. User training (what the system does)

Training & 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 information

Software Maintainability Ontology in Open Source Software. Celia Chen ARR 2018, USC

Software 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 information

AD HOC VS. PLANNED SOFTWARE MAINTENANCE

AD 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 information

Supplementary Notes for Software Reengineering - July 8, 2011

Supplementary 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$(-'

!#$$%&'( )&('*+) *%,#- )##.+- -#*'(*-% !) -/)'#-* (*) &&'%/) (+-*4$)33$(-' !"#$$%&'( )&('*+) *%,"#- )##.+- -#*'(*-% "!) -/)'#-* (*)0111111111111111111111 &&'%/).0 111111111111111111111111111 2-33-(+-*4$)33$(-' 111111111111111111111111111 2 )#3)%$) 111111111111111111111111111-4$()3)

More information

Lecture 22. Path Spectra Change Impact Analysis. EE 382V Spring 2009 Software Evolution - Instructor Miryung Kim

Lecture 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 information

MINFS544: Business Network Data Analytics and Applications

MINFS544: 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 information

Computer 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 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 information

Lecture 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 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 information

Lecture 24 Software Visualization and Metrics Polymetric Views. EE 382V Spring 2009 Software Evolution - Instructor Miryung Kim

Lecture 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 information

Software Evolution. Dr. James A. Bednar. With material from

Software 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 information

Cross-project defect prediction. Thomas Zimmermann Microsoft Research

Cross-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 information

2IS55 Software Evolution. Software metrics. Alexander Serebrenik

2IS55 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 information

Towards Systematic Usability Verification

Towards 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 information

PROGRESS BOOK PARENT ACCESS NAVIGATION

PROGRESS 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 information

CSC 408F/CSC2105F Lecture Notes

CSC 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 information

Mathematics Scope & Sequence Algebra I

Mathematics 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 information

Topics in Software Testing

Topics 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 information

MTAT : Software Testing

MTAT : 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 information

EmpAnADa Project. Christian Lange. June 4 th, Eindhoven University of Technology, The Netherlands.

EmpAnADa 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.

( ) = 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 information

Lecture 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 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 information

Raymond P.L. Buse and Westley R. Weimer. Presenter: Rag Mayur Chevuri

Raymond 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 information

Exposing unforeseen consequences of software change

Exposing 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 information

Handout 12 Data Warehousing and Analytics.

Handout 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 information

THE 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 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 information

Announcements. CS 188: Artificial Intelligence Spring Generative vs. Discriminative. Classification: Feature Vectors. Project 4: due Friday.

Announcements. 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 information

Lecture 3. Parnas Information Hiding

Lecture 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 information

EECS 481 Software Engineering Exam #1. You have 1 hour and 20 minutes to work on the exam.

EECS 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 information

An Introduction to Growth Curve Analysis using Structural Equation Modeling

An 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 information

Lecture 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 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 information

Your Name: Section: INTRODUCTION TO STATISTICAL REASONING Computer Lab #4 Scatterplots and Regression

Your 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 information

Predicting Vulnerable Software Components

Predicting 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 information

University of Karlsruhe (TH)

University 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 information

Workshop 8: Model selection

Workshop 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 information

Out-of-band that actually works.

Out-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 information

Computer Architecture

Computer 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?

!! 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 information

Lecture 21. Regression Testing Path Spectra. EE 382V Spring 2009 Software Evolution - Instructor Miryung Kim

Lecture 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 information

Theory and Applications of Complex Networks

Theory 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 information

Although many business owners think that Virtualization and Disaster Recovery (DR) are two separate services, the

Although 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 information

Software change. Software maintenance

Software 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 information

Testing. So let s start at the beginning, shall we

Testing. 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 information

Article II - Standards Section V - Continuing Education Requirements

Article 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 information

NOTE: New directions for accessing the Parent Portal using Single Sign On

NOTE: 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 information

Mobile Device Management: Strategies for Success. Speaker: Keith Leone

Mobile 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 information

CSE 260 Lecture 19. Parallel Programming Languages

CSE 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 information

Fuzzy 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 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 information

Feasibility 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. 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

#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 information

Why is Inheritance Important?

Why 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 information

4.1 Interval Scheduling

4.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 information

Montgomery County Schools Guide for PowerSchool Parent Portal

Montgomery 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 information

An Introduction to the Bootstrap

An 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 information

Computer Architecture!

Computer 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 information

THE 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 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 information

A Capacity Planning Methodology for Distributed E-Commerce Applications

A 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 information

Long-term vision and working programme on tunnels in the Netherlands

Long-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 information

CSE 153 Design of Operating Systems

CSE 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 information

Chapter 2: Frequency Distributions

Chapter 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 information

Basic Concepts of Reliability

Basic 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 information

Computer Architecture!

Computer 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 information

Towards Better Understanding of Software Quality Evolution Through Commit Impact Analysis

Towards 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 information

2016 Survey MANAGING APPLE DEVICES IN HIGHER EDUCATION

2016 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 information

Automate Transform Analyze

Automate 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 information

EECS 647: Introduction to Database Systems

EECS 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 information

STATISTICS (STAT) Statistics (STAT) 1

STATISTICS (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 information

Data Analysis and Solver Plugins for KSpread USER S MANUAL. Tomasz Maliszewski

Data 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 information

Hands-On Activities + Technology = Mathematical Understanding Through Authentic Modeling

Hands-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 information

CS246: Mining Massive Datasets Jure Leskovec, Stanford University

CS246: 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 information

Similarity Templates or Schemata. CS 571 Evolutionary Computation

Similarity 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 information

Information Retrieval

Information 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 information

Exploiting 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 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 information

The data quality trends report

The 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 information

What is a Network? Theory and Applications of Complex Networks. Network Example 1: High School Friendships

What 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 information

CSC 1052 Algorithms & Data Structures II: Introduction

CSC 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 information

Quantitative Vulnerability Assessment of Systems Software

Quantitative 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 information

Empirical Study on Impact of Developer Collaboration on Source Code

Empirical 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 information

General System Requirements MCS Apps

General 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 information

PowerSchool Parent Portal Directions Packet

PowerSchool 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 information

Modelling data networks research summary and modelling tools

Modelling 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 information

CMSC 201 Spring 2017 Project 1 Number Classifier

CMSC 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 information

Lecture 1: Overview

Lecture 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 information

Economics of Information Networks

Economics 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 information

WEB-CAT. Exploring Trends and Student Behaviors from Data Collected on an Automated Grading and Testing System

WEB-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 information

Cisco Tetration Analytics

Cisco 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 information

Notebook Paper will be essential for notetaking and completing assignments.

Notebook 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 information

Technical Debt in Large Systems: Understanding the cost of software complexity

Technical 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 information

Page 1. Recap: File System Goals" Recap: Linked Allocation"

Page 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 information

Leading the Digital Transformation from the Centre of Government

Leading 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 information

The Basics of Network Structure

The 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 information

How Emerson s I/O on Demand Is Changing the Automation Infrastructure

How 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 information

Solving Linear Recurrence Relations (8.2)

Solving 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 information

Student name and surname: Student ID: EXAMINATION

Student 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 information

Midterm Exam Search Engines ( / ) October 20, 2015

Midterm 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 information

CS 188: Artificial Intelligence Fall Machine Learning

CS 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 information

Automated Documentation Inference to Explain Failed Tests

Automated 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