You are on page 1of 12

l

undersLandlng SofLware LvoluLlon



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

You might also like