INFORMATIKAI RENDSZEREK MEGBÍZHATÓSÁGÁNAK MATEMATIKAI MODELLEZÉSE. Kun István



Hasonló dokumentumok
INFORMATIKAI RENDSZEREK MEGBÍZHATÓSÁGÁNAK MATEMATIKAI MODELLEZÉSE

Szoftver-mérés. Szoftver metrikák. Szoftver mérés

Matematikai alapok és valószínőségszámítás. Valószínőségi eloszlások Binomiális eloszlás

Szoftvermérés:hogyan lehet a szoftvertermék vagy a szoftverfolyamat valamely jellemzőjéből numerikus értéket előállítani.

TERMÉKEK MŐSZAKI TERVEZÉSE Megbízhatóságra, élettartamra tervezés I.

Matematikai alapok és valószínőségszámítás. Statisztikai változók Adatok megtekintése

Regressziós vizsgálatok

Teljesítmény Mérés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Teljesítmény Mérés / 20

Programtervezés. Dr. Iványi Péter

Radioaktív bomlási sor szimulációja

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Biometria az orvosi gyakorlatban. Korrelációszámítás, regresszió

BME Járműgyártás és -javítás Tanszék. Javítási ciklusrend kialakítása

203/2011. (X. 7.) Korm. rendelet

Tisztán kivehetı tendencia: kommunikációs hálózatok egyre bonyolultabbakká válnak Hálózat bonyolultsága

Statisztikai következtetések Nemlineáris regresszió Feladatok Vége

Adatstruktúrák, algoritmusok, objektumok

Ismerkedjünk tovább a számítógéppel. Alaplap és a processzeor

Mérési hibák

Matematika A3 Valószínűségszámítás, 5. gyakorlat 2013/14. tavaszi félév

Ellátási lánc optimalizálás P-gráf módszertan alkalmazásával mennyiségi és min ségi paraméterek gyelembevételével

Integráci. ciós s tesztek. ciós s tesztek (folyt.) Integration Level Testing (ILT) Ficsor Lajos. Miskolci Egyetem Általános Informatikai Tanszék

Biometria gyakorló feladatok BsC hallgatók számára

Matematikai alapok és valószínőségszámítás. Normál eloszlás

Hogyan lesz adatbányából aranybánya?

Mérési adatok illesztése, korreláció, regresszió

Kompetens szoftvertesztelés a gyakorlatban II. zárthelyi dolgozat

Statisztika I. 12. előadás. Előadó: Dr. Ertsey Imre

Modulzáró ellenőrző kérdések és feladatok (2)

Véletlen jelenség: okok rendszere hozza létre - nem ismerhetjük mind, ezért sztochasztikus.

BAGME11NNF Munkavédelmi mérnökasszisztens Galla Jánosné, 2011.

Biomatematika 12. Szent István Egyetem Állatorvos-tudományi Kar. Fodor János

Modulzáró ellenőrző kérdések és feladatok (2)

Teszt terv Új funkció implementációja meglévı alkalmazásba

Biztonsági folyamatirányító. rendszerek szoftvere

Nagy számok törvényei Statisztikai mintavétel Várható érték becslése. Dr. Berta Miklós Fizika és Kémia Tanszék Széchenyi István Egyetem

Élettartam Kutató Laboratórium

Szoftverminőségbiztosítás

Gyakorló feladatok a kétváltozós regresszióhoz 2. Nemlineáris regresszió

Felhasználói tulajdonú főtési rendszerek korszerősítésének tapasztalatai az Öko Plusz Programban

Többváltozós lineáris regressziós modell feltételeinek

Alap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( )

ÉRZÉKELŐK ÉS BEAVATKOZÓK I. 3. MÉRÉSFELDOLGOZÁS

Számítógép-rendszerek fontos jellemzői (Hardver és Szoftver):

Filogenetikai analízis. Törzsfák szerkesztése

1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba

Nagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1.

II. rész: a rendszer felülvizsgálati stratégia kidolgozását támogató funkciói. Tóth László, Lenkeyné Biró Gyöngyvér, Kuczogi László

KIEGÉSZÍTİ AUTOMATIKA SZIKVÍZPALACKOZÓ BERENDEZÉSEKHEZ

FİBB PONTOK PIACKUTATÁS (MARKETINGKUTATÁS) Kutatási terv október 20.

Miskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája. Készítette: Urbán Norbert

Korrelációs kapcsolatok elemzése

11. elıadás ( lecke) 21. lecke. Korreláció és Regresszió (folytatás) Lineáris-e a tendencia? Linearizálható nem-lineáris regressziós függvények

Nemparaméteres próbák

Matematikai alapok és valószínőségszámítás. Statisztikai becslés Statisztikák eloszlása

Radioaktív anyag felezési idejének mérése

Statisztikai módszerek

Statisztikai függvények

MÉRÉSI EREDMÉNYEK PONTOSSÁGA, A HIBASZÁMÍTÁS ELEMEI

ELTE TáTK Közgazdaságtudományi Tanszék GAZDASÁGSTATISZTIKA. Készítette: Bíró Anikó. Szakmai felelős: Bíró Anikó június

Többváltozós lineáris regressziós modell feltételeinek tesztelése I.

Mesterséges Intelligencia I.

Kollányi Bence: Miért nem használ internetet? A World Internet Project 2006-os felmérésének eredményei

Szoftverminőségbiztosítás

Verifikáció és validáció Általános bevezető

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Térinformatikai DGPS NTRIP vétel és feldolgozás

SSP 19 Self sevice pay terminal....az igazi megoldás értékkiadásra

Matematikai geodéziai számítások 6.

A mérési eredmény megadása

MIKE URBAN MOUSE Csıhálózati áramlási modell. DHI Prága oktatási anyagainak felhasználásával. Kiválasztás menü és eszköztár. Csomópontok és csövek

Peltier-elemek vizsgálata

Hatvány gyök logaritmus

Statisztikai csalások és paradoxonok. Matematikai statisztika Gazdaságinformatikus MSc november 26. 1/31

A TESZTELÉS ALAPJAI MIÉRT SZÜKSÉGES A TESZTELÉS? MI A TESZTELÉS? ÁLTALÁNOS TESZTELÉSI ALAPELVEK

Matematikai geodéziai számítások 6.

1.9. A forgácsoló szerszámok éltartama

Útmutató a pénzügy modellhez

1. Hideg vagy meleg fehér LED izzó?

Arató Miklós. A nem-életbiztosítók belsı modellezésének lehetséges problémái

Méréstechnikai alapfogalmak

Funkciópont elemzés: elmélet és gyakorlat

A ÉVI KOMPETENCIAMÉRÉS FIT- JELENTÉSEINEK ÚJ ELEMEI

Szolgáltatási szint és performancia menedzsment a PerformanceVisor alkalmazással. HOUG konferencia, 2007 április 19.

A tőzvédelmi tanúsítási rendszer mőködése Magyarországon

MultiMédia az oktatásban

Alkalmazásportfólió. Szoftvermenedzsment. menedzsment. Racionalizálás. Konszolidáció. Nyilvántartás. Elemzés

Hipotézis STATISZTIKA. Kétmintás hipotézisek. Munkahipotézis (H a ) Tematika. Tudományos hipotézis. 1. Előadás. Hipotézisvizsgálatok

2. munkaszakasz (lezárva: ): Mintarendszer modelljének megalkotása a készletszabályozás területén:

Moldex3D/eDesign. Az igazi 3D-s CAE alkalmazás fröccsöntés szimulációhoz Június 25. Kırösi Gábor CAM alkalmazás mérnök

Miskolci Egyetem Általános Informatikai Tanszék

A tesztelés feladata. Verifikáció

Magspektroszkópiai gyakorlatok

NEVELİTESTÜLETI VÉLEMÉNY

Irányítástechnika Elıadás. PLC-k programozása

Mesterséges Intelligencia MI

Belépés a rendszerbe. Gyors menü

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások

14-469/2/2006. elıterjesztés 1. sz. melléklete. KOMPETENCIAMÉRÉS a fıvárosban

Átírás:

INFORMATIKAI RENDSZEREK MEGBÍZHATÓSÁGÁNAK MATEMATIKAI MODELLEZÉSE Kun István

INFORMATIKAI RENDSZEREK HIBÁINAK TIPIKUS OKAI Tranzakciós hiba Az összes tranzakciók (adatváltoztatás, adatmozgatás) mintegy 3 %-ában fordul elı. (Interneten található adat, soknak látszik, de vélhetıen van némi valóságalapja.) Szoftverhibának tekintendı. Rendszer hardverhibája Processzor, központi memória, stb. menet közbeni meghibásodása, vagy áramkimaradás. Háttértároló meghibásodása Író-olvasó-fej, kontroller vagy adattároló közeg meghibásodása.

A HARDVER- ÉS SZOFTVER HIBÁK JELLEMZİ KÜLÖNBSÉGEI A szoftver nem öregszik, a hardver igen. A hiba nem lép fel, ha a szoftver nincs használatban. A hardver esetében viszont az öregedés ilyenkor is meghibásodást okozhat, ez persze csak az újabb bekapcsoláskor mutatkozik meg. A szoftverhibákat hibás logika vagy hibás input okozza. A hardverhibákat anyagkifáradás, véletlen külsı okok, tervezési hibák, helytelen használat és környezeti tényezık okozhatják. A szoftverhibákat nem elızik meg figyelmeztetı jelek, a hardverhibákat általában igen. A szoftver tesztelése lényegében egy soha véget nem érı folyamat, a hardvert viszont lehet kimerítıen tesztelni. A mőködésben levıvel azonos részegység hideg vagy meleg tartalékolása a hardver megbízhatóságát növeli, a szoftverét nem.

A HARDVER ÉS SZOFTVER MEGBÍZHATÓSÁGÁNAK HOSSZÚTÁVÚ ALAKULÁSA A hardver meghibásodási rátája az élettartam során kádgörbe szerint változik. A szoftver meghibásodási rátája farkasfog-szerő: az upgrade ciklus elején megnı, a ciklus végére lecsökken.

KRITIKUS SZOFTVERHIBÁK MI AZ ELMÉLET? A gondosan tesztelt szoftver soha nem hibásodik meg, mert amíg a számítógép mőködik, a szoftver nem változik, nem öregedik. ÉS MI A VALÓSÁG??? Néhány példa: Falklandi háború (1982): a Sheffield rombolót azért süllyesztette el egy Exocet rakéta, mert a védelmi radarrendszer szoftvere a rakétát tévesen barátinak minısítette. Öbölháború (1991): egy Patriot ellenrakéta irányítórendszere 10 másodpercenként 0.000000095 sec-ot tévedett, és az akkumulálódó hibák miatt 100 órás mőködés után nem találta el a támadó rakétát (28 halott) Ariane 5 európai őrrakéta: az Ariane 4 jól mőködı szoftverében egy apró módosítást végeztek, és az Ariane 5-ben indításkor tőz keletkezett. USA, Kalifornia állam: egy helyi telefonközpontban egy kezelıprogramban 3 sort kicseréltek, és a teljes szolgáltatás megbénult.

MATEMATIKAI MODELLTÍPUSOK Metrikák Prediktív statisztikai modellek

METRIKÁK (NASA SZOFTVERHIBA-ADATBÁZISBÓL) A metrika valamilyen számszerő mérési eljárással a szoftverhez rendelt függvényértéket jelent, ahol a független változók a szoftver mért adatai. Forráskódhossz-alapú metrikák Hibaszám-metrikák Stílus-metrikák (szemantikai elvárásokat pl. egyértelmőség fogalmaznak meg) Komplexitási metrikák A szoftver tesztelésének, utólagos karbantartásának és módosításának költsége nagyrészben a program strukturális bonyolultságának függvénye. Egy jól használható szoftver-bonyolultsági mérték már a fejlesztési fázisban felfedheti a szoftver kritikus pontjait, elısegítheti az áttekinthetıbb, módosítható és újrafelhasználható kód készítését, és becsléseket adhat a fejlesztési folyamat várható költségeire.

HIBASZÁM-METRIKÁK Mőködési zavarok száma Ezer programsorra jutó mőködési zavarok száma Ezer nem-megjegyzés programsorra jutó mőködési zavarok száma Egy felhasználóra jutó mőködési zavarok száma Ezer tesztelési órára jutó mőködési zavarok száma Ezer tesztelési órára jutó mőködési zavarok száma fedettségi mérıszámmal

KOMPLEXITÁSI METRIKÁK A komplexitási metrikák egyaránt lehetnek termékjellemzık (az elkészült szoftver statikus tulajdonságai) és folyamatjellemzık (a szoftverkészítési folyamat által felhasznált idı és munkamennyiség). Objektumorientált metrikák McCabe-féle ciklomatikus komplexitási metrikák (gráfelméleti alapú) Halstead-féle komplexitási metrikák (információelméleti alapú) Henry-Kafura-féle információáramlási metrikák (eljárás külsı kapcsolatai) A Unix operációs rendszeren bizonyították, hogy a McCabe- és a Halstead-komplexitás erısen korrelál egymással és a hibaszámmal is, míg a Henry-Kafura komplexitás statisztikailag független tılük.

A HALSTEAD-FÉLE KOMPLEXITÁSI METRIKA A következı alapmennyiségekre van szükség: n 1 a különbözı operátorok (eljárások, függvények, mőveletek) száma; n 2 a különbözı operandusok száma; N 1 az operátorok összesített elıfordulási száma; N 2 az operandusok összesített elıfordulási száma. Az alapmennyiségekbıl lehet kiszámítani a komplexitási metrikákat: A program szókincse Képlete: n = n 1 + n 2 Jelentése: a programban található különbözı azonosítók száma. A program hossza Képlete: N = N 1 + N 2 Jelentése: a program azonosítói összes elıfordulásainak együttes száma. A program térfogata Képlete: V = N log 2 n=ld n N Jelentése: a program kódolásához szükséges bitek száma. A tervezés szakaszában jó elırejelzést adhat a program bonyolultsága miatt várható hibák számáról.

A MCCABE-FÉLE CIKLOMATIKUS KOMPLEXITÁSI METRIKA Rajzoljuk fel egy program G vezérlésfolyam-gráfját a következı módon: a gráf csúcsai az utasítás-szekvenciáknak (elágazás nélküli utasítás-sorozatoknak) felelnek meg, élei pedig a program által a szekvenciák között létrehozott lehetséges közvetlen átmeneteknek. Ekkor felírhatjuk az úgynevezett ciklomatikus mutatószámot: ahol ν a ciklomatikus komplexitás e a gráf éleinek száma n a gráf csúcsainak száma Alkalmazás: ν(g) = e n + 2 Ciklomatikus komplexitás Kockázati szint 1-10 Egyszerő program, kevés kockázat 11-20 Mérsékelten bonyolult program, mérsékelt kockázat 21-50 Bonyolult program, magas kockázat Több mint 50 Nem tesztelhetı program, nagyon magas kockázat

PREDIKTÍV STATISZTIKAI MODELLEK Meghibásodási ráta regressziós becslése Duane Jelinski-Moranda Adott jövıbeni idıpontig megtalált programhibák számának elırebecslése Musa Goel-Okumoto

STATISZTIKAI MODELLEK - DUANE I. A MODELL JELLEMZİI: determinisztikus nem számlálja a hibákat csak a meghibásodásokkal foglalkozik, a javítással nem KONCEPCIÓ a komplex mőszaki rendszerek bizonyos mértékig a szoftverhez hasonlóan kezelhetık az elıforduló hibákat teljesen ki lehet javítani az egyszer már elıfordult hibákat a felhasználó azonos formában nem ismétli meg tanulógörbe, amely a használat során bıvülı ismereteket figyelembe veszi az elırejelzésben JELÖLÉSEK: u összes figyelembe vett programfutási idı c(u) u idı elteltéig jelentkezett hibák száma q(u) u idı elteltekor érvényes meghibásodási ráta a, b skálaparaméterek

STATISZTIKAI MODELLEK - DUANE II. MATEMATIKAI MODELL: a tapasztalatok szerint az (u,q(u)) koordinátájú pontok logaritmikus beosztású papíron egy negatív irányszögő egyenes közelében helyezkednek el, vagyis logaritmusaik kapcsolata lineáris regresszióval jól leírható: log[ q ( u )] = ( b 1) log( u ) + log( a) ahol 0 < b < 1, továbbá ezekbıl pedig q( u) c( u) c( u) a u b u A MODELL ÉRTÉKELÉSE: a programfutási idıvel és az újonnan elıkerülı hibákkal számolva a modell elırejelzési képessége igen jó rosszul használható abban az esetben, ha a kezdeti adatok erısen eltérnek a feltevésektıl, mert ezekre nagyon érzékeny a modell

STATISZTIKAI MODELLEK JELINSKI-MORANDA I. A MODELL JELLEMZİI: naptári idı sztochasztikus a folyamatosan érkezı adatokat is fel tudja dolgozni a hibák száma véges a hibák csak akkor számítanak, ha megjelennek a javítás tökéletes a meghibásodási ráta csak a hibák megjelenésével változik JELÖLÉSEK: T az elsı programfutástól számított naptári idı t a legutóbbi hibától számított naptári idı t i az i-1 és i sorszámú meghibásodások közti naptári idı n a programban található összes hibák száma c az adott idıpontig megtalált és kijavított hibák száma q(c) c számú hiba után érvényes meghibásodási ráta z skálaparaméter Σ összegzés 1-tıl c-ig

STATISZTIKAI MODELLEK JELINSKI-MORANDA II. MATEMATIKAI MODELL: Feltételezzük, hogy q( c) = z ( n c) vagyis a következı idıegység alatt felbukkanó hibák számának várható értéke a programban maradt hibák számával arányos. Bizonyítható, hogy n optimális becslését kapjuk a következı egyenletbıl: n 1 i = n T c T i A MODELL ÉRTÉKELÉSE: eredeti formájában kevéssé vált be a gyakorlatban kiindulópontja több késıbbi, sikeres modellnek ti és z = n T c i t i

STATISZTIKAI MODELLEK - MUSA I. A MODELL JELLEMZİI: programfutási idı sztochasztikus a folyamatosan érkezı adatokat is fel tudja dolgozni a hibák száma véges a hibák csak akkor számítanak, ha megjelennek a javítás tökéletes a meghibásodási ráta csak a hibák megjelenésével változik JELÖLÉSEK: t a legutóbbi hibától számított programfutási idı n a programban található összes hibák száma c(t) az adott idıpontig megtalált és kijavított hibák száma y(t) t futási idı elteltekor a következı meghibásodásig hátralevı idı várható értéke (a megbízhatóságelméletben szokásos jelölése: MTTF) m(t) c(t) várható értéke C tesztkompressziós faktor; azt fejezi ki, hogy a tesztelés során hányszor gyorsabban akadunk hibára, mint normál programfutás során

STATISZTIKAI MODELLEK - MUSA II. MATEMATIKAI MODELL: A t futási összidıig megtalált hibák számának várható értéke: m( t) C = n 1 exp t y(0) n Látható, hogy a jobboldalon a kapcsos zárójelen belüli rész t növekedésével 1-hez tart, így m(t) is tart n-hez. A legközelebbi meghibásodásig eltelı idı várható értéke (MTTF): y( t) C = y(0) exp t y(0) n A jobboldalon az exponenciális részben t együtthatója pozitív, ezért a jobboldal végtelenhez tart. Tehát sok programfutás után a legközelebbi meghibásodásig eltelı idı minden határon túl nı.

STATISZTIKAI MODELLEK - MUSA III. A megbízhatósági függvény: R( t) t = exp y( t) Ennek alapján meghatározható, hogy ha a legközelebbi meghibásodásig várhatóan eltelı idıt y 1 -rıl y 2 -re akarjuk növelni, ehhez hány hibát kell megtalálnunk és kijavítanunk: c = ( y(0) n) 1 y 1 1 y 2

STATISZTIKAI MODELLEK - MUSA IV. Ugyancsak meghatározható, hogy ehhez mekkora programfutási idıre van szükség: t = y(0) C n ln y y 2 1 A MODELL ÉRTÉKELÉSE: figyelembe veszi, hogy különbség van a tesztelési és felhasználási célú programfuttatás között lehetıséget ad a továbbfejlesztésre, új paraméterek bevezetésével jobb illeszkedés elérésére hátránya, hogy nem tesz különbséget az egyes hibák veszélyessége között

PÉLDA - I. Egy nagy program feltételezhetıen kb. 300 hibát tartalmaz. A program indításától az elsı hiba megjelenéséig átlagosan eltelı idı (MTTF) 1.5 óra. A tesztkompressziós faktor becsült értéke 4. Mennyi ideig kell tesztelni a programot ahhoz, hogy a megmaradó hibák számát 300- ról 10-re csökkenthessük? Megoldás: Behelyettesítve: Innen c = 300 10 ( y(0) = n) (300 1,5) y 2 = 45 óra 1 y 1 1 y 1 1,5 2 1 y 2

PÉLDA - II. Továbbá t = y(0) C n ln y y 2 1 Behelyettesítve: t = 300 1,5 4 45 ln 1,5 = 382,6 Innen t = 382.6 óra Tehát ennyi tesztelési idıre van szükség, hogy a programhibák száma 10-re csökkenjen.

PÉLDA - III. Végül R( t) t = exp y( t) Behelyettesítve: 50 R ( 50) = exp = 45 0,33 Vagyis a 382.6 órányi tesztelés elvégzése után legalább 50 óra hibamentes mőködés valószínősége 0.33 lesz.

STATISZTIKAI MODELLEK GOEL-OKUMOTO I. A MODELL JELLEMZİI: programfutási idıt alkalmaz sztochasztikus gyakoriságokkal számol fekete doboz a hibák száma véges, de véletlen a hibák csak akkor számítanak, ha megjelennek a javítás nem feltétlenül tökéletes a meghibásodási ráta csak a hibák megjelenésével változik JELÖLÉSEK: t a legutóbbi hibától számított programfutási idı n a programban található összes hibák számának várható értéke c(t) az adott idıpontig megtalált hibák száma m(t) c(t) várható értéke z arányossági tényezı a meglevı és megmutatkozó hibák között

STATISZTIKAI MODELLEK GOEL-OKUMOTO II. MATEMATIKAI MODELL: Az idıegység alatt megmutatkozó hibák átlagos száma egyenesen arányos a programban még benn található hibák átlagos számával A t futási összidıig megtalált hibák számának várható értéke: m( t) = n 1 { zt } e Látható, hogy a jobboldalon a kapcsos zárójelen belüli rész t növekedésével 1-hez tart, így m(t) is tart n-hez. Feltételezzük, hogy c(t) Poisson-eloszlást követ, paramétere és várható értéke m(t). A MODELL ÉRTÉKELÉSE: Goel és Okumoto modellje egyaránt közel áll Musa, valamint Jelinski és Moranda modelljéhez. Egyetlen új paraméter bevezetésével modellezhetı a nem tökéletes javítás. Legyen p annak a valószínősége, hogy sikeres a javítás. z helyett pz paramétert használhatunk.