lranclsco Aragn CenLro de lnvesLlgacln en MaLemLlcas (ClMA1) unldad ZacaLecas 8lvd del aLroclnlo lracc Lomas del aLroclnlo ZacaLecas ZacaLecas 98060 Mexlco f[aragon[clmaLmx
May 2010
1echnlcal 8eporL
ll
1ab|e of Contents LlsL of llgures lll LlsL of 1ables lv 1 lnLroducLlon 1 2 SofLware LvoluLlon ConcepLs and MeLrlcs 2 3 SofLware LvoluLlon aL Lhe ArchlLecLural Level 3 4 ulscusslon and Concluslon 6 3 8eferences 7
lll
st of Ies llgure 1 CS/360 growLh Lrend by rsn 4 llgure 2 ArchlLecLure quallLy aLLrlbuLes and buslness goals 6
lv
st of 1ab|es 1able 1 Laws of SofLware LvoluLlon 2 1able 2 lLAS1/1 meLrlcs of sofLware evoluLlon 3
1
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 2
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 3
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 4
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 couplingcohesion 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.
3
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 6
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 evolution. 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 systems 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. 7
efeennes 1 lrederlck 8rooks !r no sllver bulleL essence and accldenLs of sofLware englneerlng lLLL CompuLer vol 20(4) pp 1019 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 nP Madhav[l ! lernandez8amll u erry SofLware LvoluLlon and leedback 1heory and racLlce Wlley 2006 lS8n 0470871806 3 1 Mens and S uemeyer SofLware LvoluLlon Sprlngerverlag 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 (lWSL) pages 1322 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 LWS196 nancy 9 11 CcL 1996 10 Wernlck ldenLlfylng and !usLlfylng MeLrlcs for SofLware LvoluLlon lnvesLlgaLlons uslng Lhe CoalCuesLlon MeLrlc MeLhod lLAS1 2000 Workshop lmperlal College London 1012 !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 199209 Los AlamlLos CA 2001 12 1om Mens and Serge uemeyer luLure 1rends ln SofLware LvoluLlon MeLrlcs ln roceedlngs lWSL2001 (lnLernaLlonal Workshop on rlnclples of SofLware LvoluLlon) Ld 1eLsuo 1amal Mlklo Aoyama and kelLh 8enneLL SepLember ACM ress pp 8386 2001 13 M W Codfrey and u M Cerman 1he pasL presenL and fuLure of sofLware evoluLlon ln lronLlers of SofLware MalnLenance 2008 pp 129138 2008 14 n Medvldovlc ArchlLecLurebased SpeclflcaLlonLlme SofLware LvoluLlon hu ulsserLaLlon unlverslLy of Callfornla lrvlne uec 1998 13 ClemenLs 8 kazman and M kleln LvaluaLlng SofLware ArchlLecLures MeLhods and Case SLudles AddlsonWesley rofesslonal !anuary 2002 16 l 8achman Pow Lo LffecLlvely LvaluaLe SofLware ArchlLecLure and ldenLlfy 8lsks Weblnar avallable onllne aL hLLp//wwwselcmuedu/llbrary/absLracLs/weblnars/10sep2009cfm 17 M Aoyama LvoluLlonary paLLerns of deslgn and deslgn paLLerns rlnclples of SofLware LvoluLlon 2000 roceedlngs lnLernaLlonal Symposlum on vol no pp110116 2000 18 L Chung k Cooper and A ?l ueveloplng adapLable sofLware archlLecLures uslng deslgn paLLerns an nl8 approach CompuLer SLandards and lnLerfaces 23233260 2003 19 8 n 1aylor eL al ArchlLecLural sLyles for runLlme sofLware adapLaLlon ln WlCSA/LCSA pages 171180 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 8
21 ! Carcla u opescu C Ldwards and n Medvldovlc ldenLlfylng archlLecLural bad smells ln Andreas WlnLer 8udolf lerenc and !ens knodel edlLors CSM8 pages 233238 lLLL 2009 22 ! Carcla eL al 1oward a caLalogue of archlLecLural bad smells ln CoSA 09 roc 3Lh lnLl Conf on CuallLy of SofLware ArchlLecLures pages 146162 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[yufl/kosklnen/smcosLshLm as of May 24 2010