SoftwareReliability
Measurement
Measurement
“Measurementistheprocessbywhichnumbersorsymbolsareassignedtoentitiesintherealworldinsuchawayastodescribethemaccordingtoclearlydefinedrules”
Softwaremeasurement
• Canmeasureoneofthreeentities:-
processes-anysoftwarerelatedactivity;thesenormallyhaveatimefactor.Forinstance,design,testing,configurationmanagement,projectplanning,…
products-anyartefacts,deliverablesordocumentswhichariseoutoftheprocesses.Examples-designdocuments,testplans,sourcecode,executablecode,usermanuals,…
resources-itemswhichareinputstoprocesses,e.g.people,materials,money,…
Productmeasurement
QualityMetrics:-defectmetrics,designchanges,errorsincodeinspections,programtests,codechangesrequired
ReliabilityMetrics:-hazardrate(i.e.probabilityoferrorinintervaldgiventhatithasnotfailedintimecostofrepairingfaults,probabilityofsoftwarefailure
MaintainabilityMetrics:-relatedtocomplexitymeasures,readabilityofsourcecode
Measuringreliability
Canmeasure:-
• MTTF-MeanTimeToFailure
• MTTR-MeanTimeToRepair
• MTBF-MeanTimeBetweenFailures= MTTF+MTTR
Variousapproachesexist:-
• Userandominputsandmeasuredefects
• Carryoutcompleteobservation
• Lookatindependentsetsoftests
Reliabilitygrowth
• Identifyandfixfaultsduringtestingandcollectdataconcerning,forexample,thetimebetweenfailuresofthesoftware
• Usethisdatatopredicttimebetweenfailuresinthefuture
• ReliabilityGrowthoccursasfaultsareremovedinthesoftwareanditsreliabilityincreases.Thetimebetweenfailuresgrowslonger.
Reliabilitymeasures
• Complexitymeasuresmayinfersomethingaboutthereliabilityofsoftwarebuttheycannotbeusedtoassurereliability.
• Similarly,faultsordefectsinsoftwarecannotbeusedtopredictreliabilityastheymayormaynotleadtofailures.Somestudiesshowthatalargeproportionoffaultsneverleadtofailures.
Reliabilitymeasures(ctd)
• Thefrequencyofactualfailuresinthedevelopedsoftwareistheonlywaytopredictfuturereliablebehaviour.
• Measurementstypicallyinvolverecordingthetimesbetweensuccessivefailuresofthesoftwarewhenitisexecutinginasimulatedoroperationalenvironment.
Timeinmeasurement
Measurementscanbetakenintermsof:-
• ExecutionTime -theactualprocessingtimefortheexecutionoftheprogram
• CalendarTime-thetimeinfamiliartermsofseconds,minutes,andhours.
• ClockTime-thetimeacomputerisrunningwhileexecutingtheprogram.Otherprogramsmaybeexecutingonthesamemachineatthesametime.
Trendanalysis
• Requestforchange(RFC)-arequestputinbydevelopers,testers,qualityassurance,etc.tomodifythesoftware
• DefectRate(DR)-thenumberofdefectsdetectedduringthetestingphase
Analyzingtrends
• Defectrateincreasesasmoremodificationstakeplace-thissuggeststhatreliabilitygrowthisnotoccurring
• Asrequestsforchangestabilise,defectratedecreases-thissuggeststhatreliabilitygrowthisoccurring
Reliabilitymodelling
• Topredictreliability,currentfailuredataiscollectedandusedtoinferfuturebehaviour.
• Examplesoftheuseofsuchpredictionsinclude:-
– todetermineatwhatpointintimea particularlevelofreliabilitywillbe reached.
– todeterminewhatlevelofreliabilitywill havebeenreachedbyacertainpointin time.
Modelselection
• Severalmodelshavebeendeveloped.However,thesehavetendedtogiveoftenlargelydifferentresultsforthesamedatasets.
• Anappropriatemodelmustbeselectedaccordingtothecircumstancesandcontextandacertainamountofjudgementmustbeexercisedtodeterminewhichmodelisgivingreliableresults.
Reliabilitycurve
Hardwarereliability
• HardwareandSoftwarereliabilityarebasedonsimilartheory,theintentionbeingthatreliabilitiescanbecombinedtogiveameasureofoverallsystemreliability.
• Hardwarefailuresaretypicallyduetodeteriorationofmaterialsratherthanflawsindesign.Softwarefailuresaretypicallyduetodesignfaults.
Comparinghardwareandsoftwarefailure
• Hardwaredesignisseenasbeinglesscomplexthansoftwaredesign.
• Forhardwareatraditionalbath-shapedcurveisappropriate
• Softwarecanbereplicatedperfectlywhilethemanufacturingprocessforhardwaremayintroduceflaws.
Onsoftwarereliability
• Withsoftware,thereliabilitydoesnotalterwithtime.Assumingthestatedconditionsremainunaltered,thensoftwareisnotsubjecttorusting,corrosion,orwhateverandthatusuallysimplifiescalculationsconsiderably.Withhardwarethesituationisdifferent.
• Softwarereliabilitymayfluctuateasitismodifiedandduringtestinganddebugging.Hardwareusuallyfollowsabath-tubshapedcurvewithaconstantreliabilityformostofitsoperationallife.
Traditionalbath-shapedcurve:thehardwarepicture
Commentsoncurve
Thiscurveexhibitsthreedistinctphases:-
• aninitialperiodduringwhichtimethesystemis’running-in’;duringthisperiodreliabilityoughttoincreaserapidlyandgraduallystabilise.
• periodduringwhichthereisaconstantbutstablefailureratewhichiswellunderstood,expectedandcapableofbeinghandled.
• awear-outperiodduringwhichthefailureratesincreasedramaticallyandexhibitscharacteristicswhichsuggestreplacement.
Commentoninitialphase
• Ofthesedifferentphases,theinitialrunning-inperiodcanusuallybereducedorevenremovedbyincreasingattentiontoqualitycontrol,tototalqualitymanagement,andtorelatedactivities.
Commentsonhardwarehazards
• Theanalysisoffailuresisimportantinordertounderstandthecausesandhelppreventfuturedisasters.
• Overtheyears,surveyshavebeencarriedoutonthecausesofmetalfailure.Onesurveyrevealedthat:-
– 55%offailureswerecausedbycorrosion.– 45%offailureswerecausedby mechanicalfailure
Hazardsfrommovingmachinery
• Anadditionalsetofhazardsarisewhenthereismovingmachinerypresentinasystem.
• Thepresenceofsawsorrotatingdevicespresentaparticularlyacutesetofconcernsandleadtotheneedforguardsandsensorswhichcanautomaticallyswitchamachineoffifusedwrongly,andsoon.
谢谢
ppt讲稿,以附件贴出就更好了,谢谢。
明天多搞点标准给大家看看!
:lol
3Q………………………………………………………….
没中文?
英语看着有点头大,要慢慢看了。呵呵。。。。
很不错的,谢谢,恭喜你成为软件可靠性的版主,英语很不错呀,我要好好跟你学习了.
chinaxiayu
不错,软件可靠性要好好学习一下!