Software reliability

Definition

In1983,theIEEEComputerSocietyoftheUnitedStatesmadeacleardefinitionof"softwarereliability".Afterthat,thedefinitionwasacceptedbytheAmericanInstituteofStandardizationasanationalstandard,andmycountryalsoaccepteditin1989Thisdefinitionisanationalstandard.Thedefinitionincludestwomeanings:

(1)Theprobabilitythatthesoftwarewillnotcausesystemfailurewithinthespecifiedtimeunderspecifiedconditions;

(2)Theabilityoftheprogramtoperformtherequiredfunctionsunderthestatedconditionswithinthetimeperiod;

Theprobabilityisafunctionofthesysteminputandsystemusage,andisalsoafunctionofthefaultsinthesoftware.ThesysteminputwillDeterminewhetheryouwillencounteranexistingfault(ifthefaultexists).

Influencingfactors

Softwarereliabilityisaboutthenatureofthesoftware'sabilitytomeettherequirements.Thesoftwarecannotmeettherequirementsbecauseofsoftwareerrorscausedbysoftwarefailures.Whatarethepossibleerrorsinthesoftware?

Softwareerrorsarehumanerrorsthatsneakintothevariousstagesofsoftwaredevelopment:

1.Requirementsanalysisdefinitionerrors.Forexample,therequirementsputforwardbyusersareincomplete,thechangesofuserrequirementsarenotdigestedintime,theunderstandingofrequirementsbetweensoftwaredevelopersandusersisdifferent,andsoon.

2.Designerror.Suchasprocessingstructureandalgorithmerrors,lackofconsiderationofspecialcircumstancesanderrorhandling,etc.

3.Encodingerror.Suchassyntaxerrors,variableinitializationerrors,etc.

4.Testerror.Suchasdatapreparationerrors,testcaseerrors,etc.

5.Documenterror.Suchasincompletedocuments,inconsistentrelatedcontentsofdocuments,inconsistentdocumentversions,lackofcompleteness,etc.

Fromupstreamtodownstream,theimpactoferrorsdiverges,sotrytoeliminateerrorsintheearlystagesofdevelopment.

Thewaysofintroducingerrorsintosoftwarecanbesummarizedintotwocharacteristics:programcodecharacteristicsanddevelopmentprocesscharacteristics.

Oneofthemostintuitivecharacteristicsoftheprogramcodeisthelength,inadditiontothealgorithmandsentencestructure,thelongertheprogramcode,themorecomplexthestructure,andthemoredifficultitistoensureitsreliability.

Thecharacteristicsofthedevelopmentprocessincludetheengineeringtechnologyandtoolsused,aswellasthedeveloper’spersonalbusinessexperiencelevel.

Inadditiontosoftwarereliability,anotherimportantfactoraffectingreliabilityisrobustnessandfaulttolerancetoillegalinput.

Sotheprincipleofimprovingreliabilityistoreduceerrorsandimproverobustness.

Correlationanalysis

Reliabilityassurance

Thescaleoftheapplicationsoftwaresystemisgettingbiggerandbiggerandmorecomplicated,anditsreliabilityisgettingmoreandmoredifficulttoguarantee.Theapplicationitselfhashigherandhigherrequirementsforthereliabilityofsystemoperation.Insomekeyapplicationfields,suchasaviationandaerospace,itsreliabilityrequirementsareparticularlyimportant.Inserviceindustriessuchasbanks,thereliabilityofitssoftwaresystemisalsodirectlyrelatedtoToitsownreputationandsurvivalanddevelopmentcompetitiveness.Inparticular,softwarereliabilityismoredifficulttoguaranteethanhardwarereliability,anditwillseriouslyaffectthereliabilityoftheentiresystem.Inthedevelopmentprocessofmanyprojects,thereisnoclearrequirementforreliability,andthedeveloper(department)doesnotspendmoreenergyonreliability,andoftenonlypaysattentiontothespeed,thecorrectnessoftheresultsandthefriendlinessoftheuserinterface.Ignorereliability.Alargenumberofreliabilityproblemswerediscoveredafterbeingputintouse,whichincreasedmaintenancedifficultiesandworkload.Inseverecases,theycouldonlybeputontheshelfandcouldnotbeputintoactualuse.

Differencesbetweensoftwareandhardwarereliability

Themaindifferencesbetweensoftwarereliabilityandhardwarereliabilityareasfollows:

1.ThemostobviousisthatthehardwarehasaginglossPhenomenon,hardwarefailureisaphysicalfailureandaninevitableresultofphysicalchangesinthedevice.Thereisabathtubcurvephenomenon;thesoftwaredoesnotchange,thereisnowearphenomenon,thereareoldandbackwardproblems,andthereisnobathtubcurvephenomenon.

2.Thedeterminantofhardwarereliabilityistime,whichisaffectedbyalltheprocessesofdesign,production,andapplication.Thedeterminantofsoftwarereliabilityisthesoftwareerrorrelatedtotheinputdata,whichistheinputdataandtheinternalprogramThefunctionofstatedependsmoreonpeople.

3.Thehardwareerrorcorrectionandmaintenancecanberestoredbyrepairingorreplacingthefailedsystem,andthesoftwarecanonlyberedesigned.

4.Preventivemaintenancetechniquescanbeusedforhardwaretopreventfailures,andfailurescanbediagnosedbydisconnectingfailedcomponents,whilesoftwarecannotusethesetechniques.

5.Pre-estimatereliabilitytestingandthegradualincreaseinreliabilityandothertechnologieshavedifferentmeaningsforsoftwareandhardware.

6.Inordertoimprovethereliabilityofthehardware,redundancytechnologycanbeused,andtheredundancyofthesamesoftwarecannotimprovethereliability.

7.Thehardwarereliabilityverificationmethodhasbeenestablishedandstandardized,andthereisacompletesetoftheories,whilethesoftwarereliabilityverificationmethodhasnotyetbeenestablished,letaloneacompletetheoreticalsystem.

8.Thehardwarereliabilityhasamatureproductmarket,whilethesoftwareproductmarketisstillverynew.

9.Softwareerrorsareeternalandreproducible,andsomemomentaryhardwareerrorsmaybemistakenforsoftwareerrors.

Ingeneral,softwarereliabilityismoredifficulttoguaranteethanhardwarereliability.EvenforNASA'ssoftwaresystem,itsreliabilityisstillanorderofmagnitudelowerthanhardwarereliability.

Related Articles
TOP