1Architecture-BasedSoftwareReliabilityModelingWen-LiWangDaiPanMei-HwaChenComputerScienceDepartmentSUNYAlbany(wlwang,dpan,mhc)@cs.albany.eduAbstractInthispaper,wepresentanarchitecture-basedapproachformodelingsoftwarereliability.Ourapproachaimsatmodelingreliabilityonvarioussoftwareinfrastructuresandinanystageofsoftwarelifecycles.Tothisend,weutilizecharacteristicsofarchitecturalstylestocapturenon-uniformbehaviorsofsoftwareembodyingheterogeneousarchitecture.Furthermore,astatemodelthatsynthesizesalldifferentarchitecturalstylesembeddedinthesystemisdeveloped,allowingtheMarkov-basedreliabilitymodeltobeemployed.Ourmodelcanbeappliedtosoftwarewithheterogeneousarchitecture,canfacilitatethemakingofarchitecturedesigndecision,andissuitableforuseinthetestingandmaintenancephasesduringwhichsoftwarechangestakeplace.Tovalidatethemodel,weappliedittoanindustrialreal-timecomponent-basedfinancialsystemandobtainedsignificantpromisingresults.Itisexpectedthatourmodelhavegreatpotentialforusetoimprovesoftwarequalityeffectively.Keywords:SoftwareArchitecture,ArchitecturalStyle,MarkovModel,andReliabilityEstimation1.INTRODUCTIONSoftwaresystemshavesignificantimpactontheworld.Afailureoperationofsoftwarecanleadtoeconomiclossandmayevencauselossofhumanlives,thusprovingitsimportanceinourdailylife.Therefore,unreliablesoftwareisnotacceptableandshouldbeidentifiedintheearlystageofsoftwaredevelopment.Softwarereliabilityisoneofthekeymetricsfordeterminingthequalityofsoftware.Itisoftendefinedastheprobabilityofafailure-freeoperationofacomputerprogramwithinaspecifiedexposuretimeinterval[33].Overthepasttwodecades,anumberofstudieshavebeenconducted2formeasuringreliabilityofgivensoftware.Asaresult,anumberofanalyticalmodels[14,33]havebeenintroduced.Mostoftheseanalyticalmodelsfocusonobservingthebehaviorsofsoftware,basedonanoperationalprofile.Measurementsaremadeusingthedatacollectedovertheobservationperiod,regardlessofthestructureofthesoftware.Theyaremainlyappliedduringthelatephaseofthesoftwaredevelopmentinordertodetermineifthesoftwaremeetsitsreliabilityrequirements.Thesemodels,whichusestatisticalmeans,aredifficulttoapplyifnosufficienttestdataisavailableorwhenchangesaremadetothesoftware.OtherapproachesutilizeMarkovpropertyandmakeuseofthestructureofsoftware,whichistypicallyappliedtosoftwarewithsimplehomogeneousarchitecture.However,modernsoftwareoftenembodiescomplexheterogeneousarchitecturetoachievemultiplequalityrequirements,suchastheuseofaparallelarchitecturetoincreaseperformanceand/orintroduceaback-upcomponenttoprovidefaulttolerance.Moreover,vastgrowingcomponent-basedsoftwarethatassembledusingcertainthirdpartycomponentsrequiresadaptingfrequentcomponentupgrade.Thosewiththeseinfrastructurescannotbeapplieddirectlyusingtheexistingwhite-boxMarkov-basedmodel.Theaimofourmodelistotakeheterogeneityofsoftwarearchitectureintoaccountandallowittobeappliedtovarioustypesofsoftwareinfrastructuresatanearlystageofsoftwaredevelopment.Softwarearchitecture,whichdescribesthestructureofsoftwareatanabstractlevel[17,34],consistsofasetofcomponents,connectorsandconfigurations.Furthermore,apatternthatcharacterizestheconfigurationsofcomponentsandconnectorsofsoftwarearchitecturesisconsideredanarchitecturalstyle[13,15].Manyarchitecturalstyleshavebeenidentified[17,36,40]withnewstylescontinuouslyemerging[32].Thus,apractitionercanbefacedwiththechallengeofselectingsuitablestylesand/ormodelingconfigurationsofselectedstylesfordesigningthearchitectureofagivensoftwarespecification.Insuchasituation,amethodormodeltopredictorevaluatethereliabilityofaheterogeneoussoftwaresystemcancertainlyprovideameansthroughwhichdesignerscanconfigurethearchitecturethatbestfitstheirquality3demands.Ourpreviousstudies[8,41]suggestthatitispossibletoselectanarchitecturalstylethatcanprovidebetterperformanceand/oravailabilityatthearchitecturedesignstage.Inourapproach,weutilizeexistingarchitecturalstylesthathavewell-definedcharacteristicstoanalyzearchitectureofthesoftwaresystemthathasnon-uniformbehaviorsindifferentportionsofthesystem.Wefirstidentifythearchitecturalstylesinthesystemanddevelopastatemachineforeachstylebasedonthebehaviorencapsulated.Next,thestatemachinethatunifiestherenderingsofindividualarchitecturalstylesinthesystemisformulated.Withthisunifiedstatemachine,wecanfurtherapplytheMarkovmodeltoobtainreliabilityofthesoftwareusingtraditionalapproaches[11,33].Fourarchitecturalstylesareusedtodemonstratethedevelopmentofthestatemachine.Thesestylesincludebatch-sequential,parallel/pipe-filter,faulttolerance,andcall-and-returnarchitecturalstyles.Wealsodescribehowavariationofthesestylescanbeincorporatedusingcertaintransformations.Tovalidateourmodel,weconductedanexperimentonanindustrialreal-timecomponent-basedfinancialsystem;thereliabilitymeasureobtainedfromthemodelwasclosetotheobservedvalue.Therefore,webelievethatourmodelhasgreatpotentialforuseinheterogeneoussoftwaresystemswiththeabilityofbeingappliedearlyinthedesignstageforaidingdecision-makingandlateinthetestingandmaintenancephasesforfastadjustmentofreliabilityonsoftwarethath