undersLandlng SofLware LvoluLlon

lranclsco Aragón
CenLro de lnvesLlgaclón en MaLemáLlcas (ClMA1) unldad ZacaLecasţ
8lvdŦ del ÞaLroclnloţ lraccŦ Lomas del ÞaLroclnloţ ZacaLecasţ ZacaLecasţ 98060ţ MexlcoŦ

May 2010

1echnlcal 8eporL


1ab|e of Contents


st of I–es


st of 1ab|es


Ŧ ntodnton
SofLware developmenL ls noL cheapŤ we musL undersLand LhaL successful sofLware producLs are
Lhose LhaL comes from prlor verslons and LhaL keep fulfllllng users' expecLaLlonsţ Lechnology
changes and ever lncreaslng quallLy levelsŦ 1hose called successful sofLware producL accounL for
up Lo 90Ʒ or more of Lhe sofLware LoLal cosL for malnLalnlng and managlng lLs evoluLlon ż24ŽŦ
ln Lhls reporL secLlon 2 brlefly descrlbes sofLware evoluLlon concepLs and relaLed meLrlcsţ secLlon 3
descrlbes several approaches Lo conLrol and supporL sofLware evoluLlon and secLlon 4 sLaLes our
concern wlLh Lhe lack of undersLandlng of sofLware evoluLlonŦ

Ŧ oftwae Lvo|ton Connepts and Metns
The softwaie is a peculiai piouuct because of its inheient piopeities namely complexity,
confoimity, changeability, anu invisibility. Changeability is what happens when successful
softwaie gets changeu because it can, anu because it's embeuueu in a cultuial matiix of
applications, useis, laws anu machine vehicles that change continually anu theii changes
inexoiably foice change upon the softwaie piouuct |ŵj. Changeability is Softwaie Evolution
(SE). Lehman anu its collaboiatois have uone extensive ieseaich aimeu to the unueistanuing
of SE foimulating a set of Laws of Evolution |ŷj foi E-type piogiams uefineu as those that
opeiate in oi auuiess a pioblem oi activity of the ieal woilu |Ÿj. The laws shown in Table ŵ
uate fiom ŵ998 anu have hau minoi iewoiuing as new obseivations aie maue as a iesult of
the FEAST¡ŵ pioject |8j.

1able 1Ŧ Laws of SofLware LvoluLlon ż8Ž
SE is being stuuieu too fiom a how peispective focusing on the technology, methous, tools anu
activities that pioviue the means to uiiect, implement anu contiol softwaie evolution|Źj.
Theie is not an accepteu theoiy that explains the natuie of softwaie evolution completely, anu
it is necessaiy to uevelop new theoiies anu mathematical mouels to inciease unueistanuing of
softwaie evolution, anu to invest in ieseaich that tiies to biiuge the gap between the what of
softwaie evolution anu the how of softwaie evolution |źj. Within softwaie uevelopment, the
Stageu Nouel |Żj wheie SE is consiueieu a phase of the softwaie uevelopment piocess, anu
seveial iteiative anu inciemental mouels such as the spiial mouel oi the Rational 0nifieu
Piocess appeai to have on some uegiee SE embeuueu, consiueiing evolution thiough seiies of
mini-cycles of whole uevelopment. Although theie is no stanuaiu, SE is uefineu as the

application of softwaie maintenance activities anu piocesses that geneiate a new opeiational
softwaie veision with a changeu customei-expeiienceu functionality oi piopeities fiom a
piioi opeiational veision, wheie the time peiiou between veisions may last fiom less than a
minute to uecaues, togethei with the associateu quality assuiance activities anu piocesses,
anu with the management of the activities anu piocesses |Ŷj. Consiueiing this SE uefinition
anu the softwaie uevelopment piocess we can expect an impact not only on the coue of the
applications but ovei all of the ielateu aitifacts uevelopeu uuiing a piioi ielease such as
iequiiement specifications, uesigns, testing aitifacts anu uocumentation.
The collection of metiics foi evolving softwaie piouucts anu the examination of the tienus
ovei time in these metiics is pait of the FEAST (Feeuback, Evolution Anu Softwaie
Technology) effoit. FEAST seeks to investigate the iole anu influence of feeuback in the
evolution of E-type softwaie systems anu on the impiovement of the softwaie piocess. It's
woith mention that when the Laws of Evolution weie foimulateu any of them weie ueiive
fiom statistical mouels of the obseiveu behavioi of the five oi so system stuuieu |9j. FEAST¡ŵ
consiueieu metiics aie shown in Table Ŷ. These metiics coulu be obtaineu fiom stoieu
iecoius anu uata in histoiic uatabases, configuiation management systems oi similai suppoit
tools i.e. fiom available uata |8j. Size in mouules anu isn weie plotteu to give insight of
evolution tienus as shown in Figuie ŵ.

1able 2Ŧ lLAS1/1 meLrlcs of sofLware evoluLlon

llgure 1Ŧ CS/360 growLh Lrend by rsn ż3Ž
Noie iecently, the uoal-Question-Netiic methou was useu to ueiive a set of metiics to achieve
FEAST objectives. Such ueiiveu metiics coulu be the basis foi uata collection anu analysis
exeicises |ŵŴj. Theie is a neeu foi a compiehensive fiamewoik so that measuiement can be
puisueu on a systematic, iational anu economic basis ovei long teim evolution as shown by
the application of metiics to the long-teim evolution of a system to uetect piouuctivity
changes occuiieu ovei moie than one uecaue |ŵŵj. Softwaie metiics to unueistanu, plan anu
contiol softwaie evolution iemains as an aiea foi fuithei ieseaich, with topics like
coupling¡cohesion metiics, scalability issues, empiiical ieseaich anu iealistic case-stuuies,
long teim evolution, uetection of uiffeient kinus of evolution, change-baseu configuiation
management, softwaie quality management anu piocess issues |ŵŶj.


Ŧ oftwae Lvo|ton at the Anhtenta| eve|
As alieauy mentioneu, softwaie evolution has been stuuieu, contiolleu anu suppoiteu at the
coue level. But is the coue level the place to cope with iequests foi new featuies, the existence
of new platfoims, anu the uesiie to impiove quality attiibutes |ŵŷj. SE has impacts ovei
othei ielateu uevelopment aitifacts, among them the softwaie aichitectuie. The softwaie
aichitectuie is the appiopiiate abstiaction foi suppoiting evolution in-the-laige as shown by
Neuviuovic thiough the cieation of a methou foi suppoiting ieuse-uiiven uevelopment of
flexible, extensible anu evolvable softwaie. The methou suppoits the ieuse of existing
components anu connectoi uuiing evolution as well as the evolution of aichitectuial
configuiations |ŵŸj.
Seveial fiamewoiks baseu on uesign patteins have been cieateu to suppoit aichitectuie
evolution, leveiaging the expeiience of piactitioneis containeu on them. A fiist attempt is the
constiuction of evolutionaiy patteins of uesign in teims of uesign patteins to guiue uesigneis
to finu appiopiiate uesign patteins anu compose them in oiuei to solve complex pioblems
|ŵŻj. A similai appioach uses the concept of evolution style uefineu as a set of finite evolution
paths wheie each path uefines a sequence of aichitectuies in which the fiist element in the
path is the aichitectuie of a cuiient system anu the final element is the uesiieu taiget
aichitectuie. Link between successive noues in a path aie associateu with tiansitions that aie
composeu using a set of evolution opeiatoi foi that style |ŶŴj. Pioteus is anothei fiamewoik
which is intenueu to suppoit the uevelopment of auaptable softwaie aichitectuies using
uesign patteins |ŵ8j. Noie iecent appioaches such as the BASE fiamewoik pioviue a means
of evaluating, compaiing, anu combining techniques to suppoit self-auapting, autonomous
systems wheie the evolution oi auaptation happens uynamically in at least some uegiee of
continuous execution |ŵ9j.
0ne moie way to assist uesigneis on aichitectuie evolution is thiough the use of a catalogue
of aichitectuial bau smells. An aichitectuial smell is a commonly (although not always
intentionally) useu aichitectuial uesign uecision that negatively impacts system lifecycle
piopeities. The uetection of aichitectuial bau smells can be tiiggeieu to help avoiu the
application of a uesign solution in an inappiopiiate context, the mixing of uesign fiagments
that have unuesiiable behavioi anu the application of uesign abstiactions at the wiong level
of gianulaiity, all in teims of components, connectois, inteifaces anu configuiations |Ŷŵ, ŶŶj.
As we have seen Lhe conLrol and supporL for archlLecLure evoluLlon ls growlng and new meLhodsţ
frameworks and approaches are belng creaLedŦ

Ŧ snsson and Conn|son
In section Ŷ the concept of softwaie evolution anu ielateu metiics wheie exposeu. The
conceins that softwaie evolution iaises aie not yet well unueistoou, the Laws of Evolution aie
not the last woius as new knowleuge is gaineu thiough the stuuy of open souice softwaie
evolution |Ŷŷj anu the lack of a moie piecise theoiy is expecteu. The theoiy can be the base to
cieate the tools, methous anu piocesses that bettei answei the how question of softwaie
In section ŷ some answeis have been iecalleu foi the how of softwaie evolution at the
aichitectuial level. We consiuei equally impoitant the answeis to the why of aichitectuie
evolution. Softwaie aichitectuie allows oi piecluues neaily all of a systemŏs quality attiibutes
|ŵŹj. The iole softwaie aichitectuie plays on softwaie can be uepicteu by Figuie Ŷ |ŵźj. The
aichitectuie satisfies the system's quality attiibutes anu the lattei suppoits business goals.
Business goals aie establisheu by stakeholueis anu they incluue explicitly oi implicitly
softwaie evolution challenges. We believe softwaie aichitectuie is at the iight aichitectuial
level not only to contiol anu suppoit softwaie evolution but eithei to unueistanu it.

llgure 2Ŧ ArchlLecLureţ quallLy aLLrlbuLes and buslness goals
In this iepoit we have uesciibeu the concept of softwaie evolutions anu metiics pioposeu to
contiol anu suppoit it. As well as seveial appioaches taken to contiol anu suppoit softwaie
evolution at the aichitectuial level. Anu finally the stiong concein on the unueistanuing of
softwaie evolution to leveiage the mentioneu appioaches anu the cieation of new ones.

Ŧ efeennes
1Ŧ lrederlck ÞŦ 8rooks !rŦ no sllver bulleL ŴŴ essence and accldenLs of sofLware englneerlngŦ
lLLL CompuLer volŦ 20(4) ppŦ 10Ŵ19ţ Aprll 1987Ŧ
2Ŧ nŦ Chaplnţ !Ŧ Paleţ kŦ khanţ !Ŧ 8amllţ and WŦ 1anŦ 1ypes of sofLware evoluLlon and sofLware
malnLenanceŦ !ournal of SofLware MalnLenance and LvoluLlonť 8esearch and ÞracLlceţ
13(1)ţ !anuary/lebruary 2001Ŧ
3Ŧ MŦ MŦ Lehmanţ !Ŧ lŦ 8amllţ ÞŦ uŦ Wernlckţ uŦ LŦ Þerryţ and WŦ MŦ 1ursklŦ MeLrlcs and laws of
sofLware evoluLlonŸ 1he nlneLles vlewŦ ln ÞrocŦ of Lhe lourLh lnLlŦ SofLware MeLrlcs
Symposlumţ Albuquerqueţ nMţ november 1997Ŧ
4Ŧ nŦPŦ Madhav[lţ !Ŧ lernandezŴ8amllţ uŦ Þerryţ SofLware LvoluLlon and leedbackť 1heory and
ÞracLlceŦ Wlley 2006Ŧ lS8n 0Ŵ470Ŵ87180Ŵ6
3Ŧ 1Ŧ Mens and SŦ uemeyerŦ SofLware LvoluLlonŦ SprlngerŴverlagţ 2008Ŧ
6Ŧ 1Ŧ Mensţ MŦ Wermellngerţ SŦ uucasseţ SŦ uemeyerţ 8Ŧ Plrschfeldţ and MŦ !azayerlŦ
Challenges ln sofLware evoluLlonŦ ln ÞrocŦ of Lhe lnL'l Workshop on Þrlnclples of SofLware
LvoluLlon (lWÞSL)ţ pages 13Ŷ22Ŧ lLLLţ 2003Ŧ
7Ŧ kŦ 8enneLL and vŦ 8a[llchŦ SofLware malnLenance and evoluLlonť A roadmapŦ ln ÞrocŦ of Lhe
Conference on 1he luLure of SofLware Lnglneerlngţ Llmerlckţ lrelandţ May 2000Ŧ
8Ŧ MŦ MŦ Lehmanţ uŦ LŦ Þerryţ and !Ŧ lŦ 8amllŦ lmpllcaLlons of evoluLlon meLrlcs on sofLware
malnLenanceŦ ln ÞrocŦ Cf Lhe 1998 lnLlŦ ConfŦ on SofLware MalnLenance (lCSM'98)ţ
8eLhesdaţ Marylandţ nov 1998Ŧ
9Ŧ Lehman MMţ Laws of SofLware LvoluLlon 8evlslLedţ ÞrocŦ LWSÞ1ƌ96ţ nancyţ 9 Ŵ 11 CcLŦ
10Ŧ ÞŦ Wernlckţ ldenLlfylng and !usLlfylng MeLrlcs for SofLware LvoluLlon lnvesLlgaLlons uslng
Lhe CoalŴCuesLlon MeLrlc MeLhodţ lLAS1 2000 Workshopţ lmperlal Collegeţ Londonţ 10Ŵ12
!uly 2000Ŧ
11Ŧ !Ŧ 8amllţ MŦ LehmanŦ ueflnlng and applylng meLrlcs ln Lhe conLexL of conLlnulng sofLware
evoluLlonŦ Þroceedlngs of Lhe 7Lh lnLernaLlonal Symposlum on SofLware MeLrlcs (ML18lCS
'01)Ŧ lLLL CompuLer SocleLy Þress ppŦ 199Ŷ209ţ Los AlamlLos CAţ 2001Ŧ
12Ŧ 1om Mens and Serge uemeyerŦ luLure 1rends ln SofLware LvoluLlon MeLrlcsţ ln
Þroceedlngs lWÞSLƌ2001 (lnLernaLlonal Workshop on Þrlnclples of SofLware LvoluLlon)ţ LdŦ
1eLsuo 1amalţ Mlklo Aoyamaţ and kelLh 8enneLLţ SepLemberţ ACM Þressţ ppŦ 83Ŵ86ţ 2001
13Ŧ MŦ WŦ Codfrey and uŦ MŦ Cermanţ ƍ1he pasLţ presenLţ and fuLure of sofLware evoluLlonţƍ
ln lronLlers of SofLware MalnLenanceţ 2008Ŧ ppŦ 129Ŵ138Ŧ 2008Ŧ
14Ŧ nŦ MedvldovlcŦ ArchlLecLureŴbased SpeclflcaLlonŴLlme SofLware LvoluLlonŦ ÞhŦuŦ
ulsserLaLlonţ unlverslLy of Callfornlaţ lrvlneţ uecŦ 1998Ŧ
13Ŧ ÞŦ ClemenLsţ 8Ŧ kazmanţ and MŦ klelnţ LvaluaLlng SofLware ArchlLecLuresť MeLhods and
Case SLudlesŦ AddlsonŴWesley Þrofesslonalţ !anuary 2002Ŧ
16Ŧ lŦ 8achmanţ Pow Lo LffecLlvely LvaluaLe SofLware ArchlLecLure and ldenLlfy 8lsksŦ Weblnar
avallable onllne aL hLLpť//wwwŦselŦcmuŦedu/llbrary/absLracLs/weblnars/10sep2009Ŧcfm
17Ŧ MŦ Aoyamaţ ƍLvoluLlonary paLLerns of deslgn and deslgn paLLernsţƍ Þrlnclples of SofLware
LvoluLlonţ 2000Ŧ ÞroceedlngsŦ lnLernaLlonal Symposlum on ţ volŦţ noŦţ ppŦ110Ŵ116ţ 2000
18Ŧ LŦ Chungţ kŦ Cooperţ and AŦ ?lŦ ueveloplng adapLable sofLware archlLecLures uslng deslgn
paLLernsť an nl8 approachŦ CompuLer SLandards and lnLerfacesţ 23ť233Ŵ260ţ 2003Ŧ
19Ŧ 8Ŧ nŦ 1aylor eL alŦ ArchlLecLural sLyles for runLlme sofLware adapLaLlonŦ ln WlCSA/LCSAţ
pages 171Ŷ180ţ 2009Ŧ
20Ŧ uŦ Carlanţ !Ŧ 8arnesţ 8Ŧ Schmerlţ and CŦ CellkuŦ LvoluLlon SLylesť loundaLlons and 1ool
SupporL for SofLware ArchlLecLure LvoluLlonŦ ln ÞrocŦ of WlCSA'09ţ 2009Ŧ

21Ŧ !Ŧ Carclaţ uŦ Þopescuţ CŦ Ldwardsţ and nŦ MedvldovlcŦ ldenLlfylng archlLecLural bad smellsŦ
ln Andreas WlnLerţ 8udolf lerencţ and !ens knodelţ edlLorsţ CSM8ţ pages 233Ŷ238Ŧ lLLLţ
22Ŧ !Ŧ Carcla eL alŦ 1oward a caLalogue of archlLecLural bad smellsŦ ln CoSA ƌ09ť ÞrocŦ 3Lh lnLƌl
ConfŦ on CuallLy of SofLware ArchlLecLuresţ pages 146Ŵ162ţ 2009Ŧ
23Ŧ MŦ WŦ Codfrey and CŦ 1uŦ LvoluLlon ln open source sofLwareť A case sLudyŦ ln ÞrocŦ Cf
2000 lLLL lnLlŦ Conference on SofLware MalnLenanceţ CcLober 2000Ŧ
24Ŧ !Ŧ kosklnenŦ SofLware MalnLenance CosLsŦ Avallable onllne aL
hLLpť//usersŦ[yuŦfl/Ƌkosklnen/smcosLsŦhLm as of May 24ţ 2010Ŧ

° ° ¾–fn° °.f ¯hnf¾%.

.xn  €©ff–°'n¯f ¯  .@%D° f fnf nf¾    9fn° fnn ¯f¾ 9fn° fnf nf¾ fnf nf¾  .f  @ n°nf ½     .

@f  €.

° °¾ ¾€– ¾ ¾€@f  ¾      ° n° €f °.

°n ½¾f° . n¾ €f °f n nf   ¾n¾¾°f° .

°n¾°  €  °n ¾             .

¾€– ¾ –  $– °  ¾° –  n n ff  ¾f°  ¾° ¾¾–f¾       .

¾€@f  ¾ @f   f¾€€f ° @f   @$¯ n¾€¾€f  °       .

  ° n° €f   ½¯ °¾°n f½  ¯¾° ¾f° f¾nn ¾¾€¾€f ½ n¾f  ¾ fn¯ ¾€¯½ ¾°¾f° f ½€€°–¾ ¾# ½ nf°¾  n°– nf°– ¾f°   °n f¾°–f  ¾ @¾ nf ¾nn ¾¾€¾€f ½ nfnn°€ ½ ¯ € ¾€f fn¾€¯f°f°°–f° ¯f°f–°–¾ °   °¾ ½¾ n°  € ¾n ¾¾€f  °n°n ½¾f°  f ¯ n¾ ¾ n° ¾n ¾¾  ff½½fn ¾n°f° ¾½½¾€f  °f° ¾ n°¾f ¾ n°n ° fn€° ¾f° °–€¾€f  °     .

  €f °.

n¾ W_[X`cS^W_S\WUaS^\^[VaU`TWUSa_W[X`_ZW^WZ`\^[\W^`W_ZSW U[\W `  U[ZX[^` USZYWST` SZVZb_T` SZYWST` _cS`S\WZ_cWZ_aUUW__Xa _[X`cS^WYW`_USZYWVTWUSa_W`USZSZVTWUSa_W`_WTWVVWVZSUa`a^SS`^ [X S\US`[Z_a_W^_Sc_SZVSUZWbWUW_`S`USZYWU[Z`ZaS SZV`W^USZYW_ ZW [^ST X[^UWUSZYWa\[Z`W_[X`cS^W\^[VaU` ÒSZYWST` _[X`cS^Wb[a`[Z  WSZSZV`_U[ST[^S`[^_SbWV[ZWW `WZ_bW^W_WS^USWV`[`WaZVW^_`SZVZY [XX[^aS`ZYS_W`[X Sc_[Xb[a`[Z ÒX[^` \W\^[Y^S_VWXZWVS_`[_W`S` [\W^S`WZ[^SVV^W__S\^[TW[^SU`b` [X`W^WSc[^V ÒWSc__[cZZSTW  VS`WX^[ %%%SZVSbWSVZ[^^Wc[^VZYS_ZWc[T_W^bS`[Z_S^WSVWS_S^W_a`[X `W È \^[WU`%Ò  @f   f¾€€f °   _TWZY_`aVWV`[[X^[S[c\W^_\WU`bWX[Ua_ZY[Z`W`WUZ[[Y W`[V_`[[_SZV SU`b`W_`S`\^[bVW`WWSZ_`[V^WU`\WWZ`SZVU[Z`^[_[X`cS^WWb[a`[Z Ò W^W_Z[`SZSUUW Understanding Software Evolution | Science And Technology | Software

WV`W[^ `S`W \SZ_`WZS`a^W[X_[X`cS^WWb[a`[ZU[\W`W SZV `_ZWUW__S^ `[VWbW[\ZWc`W[^W_SZVS`WS`US[VW_`[ZU^WS_WaZVW^_`SZVZY[X _[X`cS^WWb[a`[ZSZV`[ZbW_`Z^W_WS^U`S``^W_`[T^VYW`WYS\TW`cWWZ`WcS`[X _[X`cS^WWb[a`[ZSZV`W[c[X_[X`cS^WWb[a`[Z Ò`Z_[X`cS^WVWbW[\WZ``W `SYWV [VW ÒcW^W_U[Z_VW^WVS\S_W[X`W_[X`cS^WVWbW[\WZ`\^[UW__SZV _WbW^S`W^S`bWSZVZU^WWZ`S[VW__aUS_`W_\^S[VW[^`WS`[ZSZXWV ^[UW__S\WS^`[SbW[Z_[WVWY^WWWTWVVWVU[Z_VW^ZYWb[a`[Z`^[aY_W^W_[X ZU UW_[Xc[WVWbW[\WZ``[aY`W^W_Z[_`SZVS^V_VWXZWVS_`W   .°n ½¾f° .

S\US`[Z[X_[X`cS^WSZ`WZSZUWSU`b`W_SZV\^[UW__W_`S`YWZW^S`WSZWc[\W^S`[ZS _[X`cS^WbW^_[Zc`SUSZYWVUa_`[W^W \W^WZUWVXaZU`[ZS` [^\^[\W^`W_X^[S \^[^[\W^S`[ZSbW^_[ZcW^W`W`W\W^[VTW`cWWZbW^_[Z_S S_`X^[W__`SZS Za`W`[VWUSVW_`[YW`W^c``WS__[US`WV]aS` S__a^SZUWSU`b`W_SZV\^[UW__W_ SZVc``WSZSYWWZ`[X`WSU`b`W_SZV\^[UW__W_ Ò[Z_VW^ZY`_VWXZ`[Z SZV`W_[X`cS^WVWbW[\WZ`\^[UW__cWUSZW \WU`SZ\SU`Z[`[Z [Z`WU[VW[X`W S\US`[Z_Ta`[bW^S[X`W^WS`WVS^`XSU`_VWbW[\WVVa^ZYS\^[^^WWS_W_aUS_ ^W]a^WWZ`_\WUXUS`[Z_VW_YZ_`W_`ZYS^`XSU`_SZVV[UaWZ`S`[Z WU[WU`[Z[XW`^U_X[^Wb[bZY_[X`cS^W\^[VaU`_SZV`WW SZS`[Z[X`W`^WZV_ [bW^`WZ`W_WW`^U__\S^`[X`W  WWVTSUb[a`[ZZV[X`cS^W WUZ[[Y WXX[^` _WW_`[ZbW_`YS`W`W^[WSZVZXaWZUW[XXWWVTSUZ`W Wb[a`[Z[X` \W_[X`cS^W_ _`W_SZV[Z`W\^[bWWZ`[X`W_[X`cS^W\^[UW__ `_ c[^`WZ`[Z`S`cWZ`W Sc_[Xb[a`[ZcW^WX[^aS`WVSZ [X`WcW^WVW^bW X^[_`S`_`US[VW_[X`W[T_W^bWVTWSb[^[X`WXbW[^_[_ _`W_`aVWV%Ò È  U[Z_VW^WVW`^U_S^W_[cZZSTW W_WW`^U_U[aVTW[T`SZWVX^[_`[^WV ^WU[^V_SZVVS`SZ_`[^UVS`STS_W_U[ZXYa^S`[ZSZSYWWZ`_ _`W_[^_S^_a\[^` `[[_WX^[SbSSTWVS`S%Ò WZ[VaW_SZV^_ZcW^W\[``WV`[YbWZ_Y`[X Wb[a`[Z`^WZV_S__[cZZ Ya^W   @f   @$¯ n¾€¾€f  °   .

 –  $– °  ¾°   [^W^WUWZ` `W [SaW_`[Z W`^UW`[VcS_a_WV`[VW^bWS_W`[XW`^U_`[SUWbW [TWU`bW_aUVW^bWVW`^U_U[aVTW`WTS__X[^VS`SU[WU`[ZSZVSZS __ W W^U_W_ ÒW^W_SZWWVX[^SU[\^WWZ_bWX^SWc[^_[`S`WS_a^WWZ`USZTW \a^_aWV[ZS_ _`WS`U^S`[ZSSZVWU[Z[UTS__[bW^[ZY`W^Wb[a`[ZS__[cZT  `WS\US`[Z[XW`^U_`[`W[ZY`W^Wb[a`[Z[XS_ _`W`[VW`WU`\^[VaU`b`  USZYW_[UUa^^WV[bW^[^W`SZ[ZWVWUSVW Ò[X`cS^WW`^U_`[aZVW^_`SZV\SZSZV U[Z`^[_[X`cS^WWb[a`[Z^WSZ_S_SZS^WSX[^Xa^`W^^W_WS^Uc``[\U_W U[a\ZYÈU[W_[ZW`^U__USST` __aW_W\^US^W_WS^USZV^WS_`UUS_W_`aVW_ [ZY`W^Wb[a`[ZVW`WU`[Z[XVXXW^WZ`ZV_[XWb[a`[ZUSZYWTS_WVU[ZXYa^S`[Z SZSYWWZ`_[X`cS^W]aS` SZSYWWZ`SZV\^[UW____aW_ Ò     .

  €f °f n nf   _S^WSV WZ`[ZWV_[X`cS^WWb[a`[ZS_TWWZ_`aVWVU[Z`^[WVSZV_a\[^`WVS``W U[VWWbWa`_`WU[VWWbW`W\SUW`[U[\Wc`^W]aW_`_X[^ZWcXWS`a^W_`WW _`WZUW [XZWc\S`X[^_SZV`WVW_^W`[\^[bW]aS` S``^Ta`W_ ÒS_\SU`_[bW^ [`W^^WS`WVVWbW[\WZ`S^`XSU`_S[ZY`W`W_[X`cS^WS^U`WU`a^WW_[X`cS^W S^U`WU`a^W_`WS\^[\^S`WST_`^SU`[ZX[^_a\[^`ZYWb[a`[ZZ`WS^YWS__[cZT  WVbV[bU`^[aY`WU^WS`[Z[XSW`[VX[^_a\[^`ZY^Wa_WV^bWZVWbW[\WZ`[X XW TWW `WZ_TWSZVWb[bSTW_[X`cS^WWW`[V_a\[^`_`W^Wa_W[XW _`ZY U[\[ZWZ`_SZVU[ZZWU`[^Va^ZYWb[a`[ZS_cWS_`WWb[a`[Z[XS^U`WU`a^S U[ZXYa^S`[Z_ Ò WbW^SX^SWc[^_TS_WV[ZVW_YZ\S``W^Z_SbWTWWZU^WS`WV`[_a\[^`S^U`WU`a^W Wb[a`[ZWbW^SYZY`WW \W^WZUW[X\^SU``[ZW^_U[Z`SZWV[Z`WX^_`S``W Understanding Software Evolution | Science And Technology | Software

_`W U[Z_`^aU`[Z[XWb[a`[ZS^ \S``W^Z_[XVW_YZZ`W^_[XVW_YZ\S``W^Z_`[YaVWVW_YZW^_ `[XZVS\^[\^S`WVW_YZ\S``W^Z_SZVU[\[_W`WZ[^VW^`[_[bWU[\W \^[TW_  Ò_S^S\^[SUa_W_`WU[ZUW Understanding Software Evolution | Science And Technology | Software
[XWb[a`[Z_` WVWXZWVS_S_W`[XXZ`WWb[a`[Z \S`_cW^WWSU\S`VWXZW_S_W]aWZUW[XS^U`WU`a^W_ZcU`WX^_`WWWZ`Z`W \S`_`WS^U`WU`a^W[XSUa^^WZ`_ _`WSZV`WXZSWWWZ`_`WVW_^WV`S^YW` S^U`WU`a^W ZTW`cWWZ_aUUW__bWZ[VW_ZS\S`S^WS__[US`WVc``^SZ_`[Z_`S`S^W U[\[_WVa_ZYS_W`[XWb[a`[Z[\W^S`[^X[^`S`_` W Ò ^[`Wa__SZ[`W^X^SWc[^ cU_Z`WZVWV`[_a\[^``WVWbW[\WZ`[XSVS Understanding Software Evolution | Science And Technology | Software
STW_[X`cS^WS^U`WU`a^W_a_ZY VW_YZ\S``W^Z_ %Ò [^W^WUWZ`S\^[SUW__aUS_`WX^SWc[^\^[bVWSWSZ_ [XWbSaS`ZYU[\S^ZYSZVU[TZZY`WUZ]aW_`[_a\[^`_WXSVS Understanding Software Evolution | Science And Technology | Software
ZYSa`[Z[[a_ _ _`W_cW^W`WWb[a`[Z[^SVS Understanding Software Evolution | Science And Technology | Software

ZW[^WcS `[S___`VW_YZW^_[ZS^U`WU`a^WWb[a`[Z_`^[aY`Wa_W[XSUS`S[YaW [XS^U`WU`a^STSV_W_ZS^U`WU`a^S_W_SU[[Z S`[aYZ[`ScS _ Z`WZ`[ZS a_WVS^U`WU`a^SVW_YZVWU_[Z`S`ZWYS`bW \SU`__ _`WXWU UW \^[\W^`W_WVW`WU`[Z[XS^U`WU`a^STSV_W_USZTW`^YYW^WV`[W\Sb[V`W S\US`[Z[XSVW_YZ_[a`[ZZSZZS\^[\^S`WU[Z`W ``W ZY[XVW_YZX^SYWZ`_ `S`SbWaZVW_^STWTWSb[^SZV`WS\US`[Z[XVW_YZST_`^SU`[Z_S``Wc^[ZYWbW [XY^SZaS^` SZ`W^_[XU[\[ZWZ`_U[ZZWU`[^_Z`W^XSUW_SZVU[ZXYa^S`[Z_  Ò ¾ f ¾ ° n°f° ¾½½€fn n  °¾–°–f° ° ¯  ¾  €f¯ ¾f° f½½fn ¾f  °–n f     .

  ¾n¾¾°f° .

°n¾° Z_WU`[Z `WU[ZUW Understanding Software Evolution | Science And Technology | Software

[X_[X`cS^WWb[a`[ZSZV^WS`WVW`^U_cW^WW \[_WVW U[ZUW^Z_`S`_[X`cS^WWb[a`[Z^S_W_S^WZ[` W`cWaZVW^_`[[V`W Sc_[Xb[a`[ZS^W Z[``WS_`c[^V_S_ZWcZ[cWVYW_YSZWV`^[aY`W_`aV [X[\WZ_[a^UW_[X`cS^W Wb[a`[Z ÒSZV`WSU[XS[^W\^WU_W`W[^ _W \WU`WVW`W[^ USZTW`WTS_W`[ U^WS`W`W`[[_W`[V_SZV\^[UW__W_`S`TW``W^SZ_cW^`W[c]aW_`[Z[X_[X`cS^W Wb[a`[Z Z_WU`[Z _[WSZ_cW^_SbWTWWZ^WUSWVX[^`W[c[X_[X`cS^WWb[a`[ZS``W S^U`WU`a^SWbWWU[Z_VW^W]aS \[^`SZ``WSZ_cW^_`[`Wc [XS^U`WU`a^W Wb[a`[Z[X`cS^WS^U`WU`a^WS[c_[^\^WUaVW_ZWS^ S[XS_ _`W _]aS` S``^Ta`W_  ÒW^[W_[X`cS^WS^U`WU`a^W\S _[Z_[X`cS^WUSZTWVW\U`WVT  Ya^W  ÒW S^U`WU`a^W_S`_XW_`W_ _`W_]aS` S``^Ta`W_SZV`WS``W^_a\[^`_Ta_ZW__Y[S_ a_ZW__Y[S_S^WW_`ST_WVT _`SW[VW^_SZV`W ZUaVWW \U` [^\U`  _[X`cS^WWb[a`[ZUSWZYW_WTWWbW_[X`cS^WS^U`WU`a^W_S``W^Y`S^U`WU`a^S WbWZ[`[Z `[U[Z`^[SZV_a\[^`_[X`cS^WWb[a`[ZTa`W`W^`[aZVW^_`SZV`  –  n n ff  ¾f°  ¾° ¾¾–f¾ Z`_^W\[^`cWSbWVW_U^TWV`WU[ZUW Understanding Software Evolution | Science And Technology | Software
[X_[X`cS^WWb[a`[Z_SZVW`^U_\^[\[_WV`[ U[Z`^[SZV_a\[^``_cWS__WbW^SS\^[SUW_`SWZ`[U[Z`^[SZV_a\[^`_[X`cS^W Wb[a`[ZS``WS^U`WU`a^SWbWZVXZS `W_`^[ZYU[ZUW^Z[Z`WaZVW^_`SZVZY[X _[X`cS^WWb[a`[Z`[WbW^SYW`WWZ`[ZWVS\^[SUW_SZV`WU^WS`[Z[XZWc[ZW_   .

   €  °n ¾    n9  ¾ -¾     ¾¾ °n f° fnn °¾€¾€f  °–° °–  .

¯½ I %%½½   ½    ..

@¾ . n¾ ¯½¾¯    -. n¾f° f¾€ ¾€f  ° @ °°  ¾  °9n € ° €f . .  ¯f°   f¯ 9  J °n   9  f° J . J ¯ °–   nf¾¾   ¯    ¾n€  f° .f° °f°n f° °  ¾ fnf° 9fnn  %% f°f$ f    . °¾f°   ¯   €f ° ½°–  I f–     @ . ff   .f½°  f  f°  f¯ f° J @f° @½ ¾€¾€f  °f° ¾€f  ¯f° °f°n °f€€f . °¾ . . - ¯     .f f©   °f°  f¯  9  €f °f°  fn @ f°  9fnn J   -      @ .

f °– ¾°¾€f  ° °9n € °#J¾½°9°n½ ¾€€f  °%J9% ½f– ¾         °° f° I f©n €f ¯f° °f°n f°  ° f ¯f½ °9n €  .

°€  °n °@  €€f °–° °– ¯ n  f° .f    . .  ¯f°   9  f°   f¯ ¯½nf°¾€ °¯ n¾°¾€f  ¯f° °f°n °9n € ° .

f° °f°n %.°€ °€f .

f¾€€f ° ¾ 9n J9@  -f°n  n    9 J °n  °€°–f° ¾€°–...  @J¾½ ¯½ f.#%   ¾ f . ¾°.ff° -     ¯f°. n¾€€f °° ¾–f°¾D¾°–  f . n.

@.  ¯f°  €°°–f° f½½°–¯ n¾° n° €n°°°–¾€f  ° 9n °–¾€ ° °f°f¯½¾¯°€f . – ° °       f¯ . n¾%.

 #% .

¯½ n 9 ¾¾½½   ¾f¯¾.

f¯f f°   °°   ½ ¯  .    @¯. °¾f°  –  ¯    @ ° ¾°€f °. n¾ ° 9n °–¾J9 %° °f°fJ¾½°9°n½ ¾€€f °%   @ ¾@f¯f .

J  € f°  .9 ¾¾ ½½     ..  n n n f¾ ½ n€nf° ¯ €f ° 9   ¾¾ f° D° ¾€.  ¯f°  @ ½f¾ ½ ¾ ° f° € €¾€f  °  °° ¾€€f ..f° °f°n  ½½      .

f€°f °  n    9 .

 ° ff°–€f n n ¾ .  ¾f°  . ¯ °¾  f¯f° f° .

f¯f  °f½f °¾€ ¾–°f°  ¾–°½f °¾ 9°n½ ¾€€f  °  9n °–¾ ° °f°f¯½¾¯°  ° ½½      .f¾   ¾  ¾° J ¾ 9€ ¾¾°f f°f     fn¯f° €€ n ff €f n n f°  °€¾¾ J °f fff  °° f½ $$ ¾  n¯ $ f$f ¾fn¾$ °f¾$¾ ½ n€¯  .

°–  .

½  f°     ½°–f f½f  ¾€f fn n ¾¾°– ¾–° ½f °¾ f°-f½½fn .

@f f n nf¾ ¾€°¯ ¾€f f f½f° °J.¯½ f° f ¾f° ° €fn ¾        .


  ½f– ¾      ff°   f° ¾  n¯  f°  .

 ° ¾ ° f°¾f° @ ½½€€f n n ° °9n €J.

#     .

 n  °€°–fn nf f ¾¯ ¾  °°  f¾J°   €  °n f°  °¾°   ¾ ..  fnf  9½ ¾n   f ¾ f° .

 ½f– ¾        fnf f @f fnff– €fn nf f ¾¯ ¾ °..  9n °  .

f€€f n n ¾ ½f– ¾     .°€ °. @ °°½ °¾n ¾€f nf¾ ¾  °9n € ° . J  € f° .

f° °f°n .f° °f°n n     ¾° ° €f .°€  °n °€f .

f      .¾¾ ff  °° f ½ $$¾ ¾ © €$ ¾° °$¾¯n¾¾ ¯f¾€.