Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
2.podStaWoWedefinicje
Usterkipowodowanepomyłkamiprogramistów.Usterkamożesprawić,żesystem
niewykonazakładanejczynności.Przykłademusterkimożebnp.błędnyoperatorre-
lacyjnywinstrukcjiwarunkowej,np.if(x>0)zamiastif(x>=0)0
błąd(ang0error)nieprawidłowystanwewnętrznyprogramu(wg[7])
awaria(ang0failure)widocznenazewnątrzodchyleniemodułulubsystemuod
oczekiwanegozachowanialubrezultatudziałania(wg[26])
Niektóreźródła(np.[13])traktująbłądjakoformęawarii.Wtakimprzypadkuawa-
rianiekonieczniemusidosobieznaćwwidocznysposób(bostanprogramujestjego
wewnętrznąkonfiguracją).Wykrywaniebłędnychstanówjestowieletrudniejszenwy-
krywaniehzwykłych”awarii,gdyżteostatniezwyklemożnadostrzecgołymokiem.ędy
iawarieobjawiająspodczaswykonywaniatestów,copośrednioumożliwiaodkrycie
usterkiwkodzie.Samymusuwaniemusterekzajmujesdebugowanie
debugowanie(ang0debugging)proceswyszukiwania,analizowaniaiusuwaniaprzy-
czynbłędówiawariioprogramowania
Jednausterkamożespowodowaćjedenlubwięcejbłędówlubawarii.Jednaawaria
możebspowodowanajedlubwięcejusterkami.Częstoodniesienieawariidokonkret-
nejusterkijesttrudne.Terozważaniadoprowadziłydostworzeniamodeluusterka/awaria,
któryopisujesekwencjęzdarzeń,jakiemusząnastąpić,abyzaobserwowaćawarię.Model
tennosinazwęmodeluRIP,odpierwszychliterangielskichsłów:reachability,infectionipro-
pagation.Wjęzykupolskimczasamimodeltennazywasmodelemusterka–błąd–awaria.
modelRIP(ang0RIPmodel)modelopisującytrzykrokiprowadzącedoobserwacji
awarii.Krokiteto:
osiągalność(ang.reachability)miejscewprogramie,którezawierausterkę,musi
zostaćosiągnięte;
infekcja(ang0infection)powykonaniuniepoprawnejinstrukcjistanprogramu
musiprzyjąćnieprawidłowąwartość;
propagacja(ang.propagation)zainfekowanystanmusipropagowaćsiwywołać
nieprawidłowewyjścielubinnezewnętrznezachowaniesprogramu.
Wystąpieniebłęduniezawszemusioznaczaćwystąpienieawarii.Rozważmypro-
grammającyzazadaniesortowaćtablicęTmetodąbąbelkową.Jegopseudokodjest
przedstawionynalistingu2.1.Zakładamy,żepolatablicindeksowaneodzera.
Wlinii4.programzawierausterkę.Pętlapowinnaprzebiegaćodirównego0,nie
1.RozważmynastępującedwawykonaniaprogramuSortBąbelkowewkontekściemo-
deluRIP:
SortBąbelkowe((1,4,3,6,2))
SortBąbelkowe((5,2,7,1,4))
26