Spolehlivost softwaru Radek Maˇr´ık ˇ CVUT FEL, K13132
October 2, 2014
Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
October 2, 2014
1 / 42
October 2, 2014
2 / 42
Obsah
1
Softwarov´e metriky Definice Metriky kvality produktu Metriky kvality bˇehu procesu Metriky kvality u ´drˇzby
2
Spolehlivost Definice Statick´e modely Dynamick´e modely
Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
Softwarov´ e metriky
Metriky kvality softwaru
Definice
[Kan95]
Metriky produktu popisuj´ı charakteristiky produktu jako je velikost, komplexity, navrhov´e vlastnosti, v´ykonnost, u ´roveˇ n kvality, apod. Procesn´ı metriky mohou b´yt vyuˇzity pˇri zlepˇsov´an´ı v´yvoje softwaru a procesu u ´drˇzby. efektivita odstraˇ nov´an´ı defekt˚ u bˇehem v´yvoje, vzor pˇr´ırustk˚ u defekt˚ u bˇehem testov´an´ı, doba odezvy procesu oprav. Metriky projektu popisuj´ı charakteristiky projektu jeho proveden´ı. poˇcet v´yvojaˇr˚ u softwaru, v´yvoj person´alu bˇehem ˇzivotn´ıho cyklu softwaru, cena, rozvrh, produktivita. Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
Softwarov´ e metriky
Metriky kvality softwaru
October 2, 2014
4 / 42
Definice
[Kan95]
jsou podmnoˇzinou softwarov´ych metrik. zamˇeˇruj´ı se na aspekty kvality produktu, procesu a projektu. metriky fin´aln´ıho produktu, metriky pr˚ ubˇehu procesu.
Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
October 2, 2014
5 / 42
Softwarov´ e metriky
Metriky kvality produktu
Metriky kvality produktu - orientovan´e na z´akazn´ıka
[Kan95]
Stˇredn´ı doba k selh´an´ı(MTTF - mean time to failure) ˇcasto se pouˇz´ıv´a v bezpeˇcnostnˇe kritick´ych syst´emech jakou jsou syst´emy ˇr´ızen´ı letov´eho provozu, leteck´a elektrotechnika a zbranˇe. implementaˇcnˇe velmi drah´e. Intensita defekt˚ u Obecn´y koncept rychlosti defekt˚ u vych´az´ı z poˇctu defekt˚ u vzhledem k moˇznosti vzniku chyb v urˇcit´em ˇcasov´em r´amci. Ve jmenovateli vystupuje velikost softwaru: KLOC (thousand lines of code) . . . tis´ıce ˇr´adek k´ odu, SSI (shipped source instructions) . . . pˇredan´e zdrojov´e instrukce, CSI (changed source instructions) . . . zmˇenˇen´e zdrojov´e instrukce, probl´emy s vlastn´ım poˇc´ıt´an´ım Poˇc´ıtej Poˇc´ıtej Poˇc´ıtej Poˇc´ıtej
pouze provediteln´e ˇr´ adky. provediteln´e ˇr´ adky a definice dat. provediteln´e ˇr´ adky, definice dat a koment´ aˇre. provediteln´e ˇr´ adky, definice dat, koment´ aˇre a pˇr´ıkazy ˇr´ızen´ı d´ avek.
Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
Softwarov´ e metriky
October 2, 2014
7 / 42
Metriky kvality produktu
Metriky kvality produktu z pohledu z´akazn´ıka
[Kan95]
Probl´ emy hl´ aˇsen´ e z´ akazn´ıkem mˇeˇr´ı pot´ıˇze z´akazn´ıka pouˇz´ıvaj´ıc´ıho produkt. Metrika probl´ em˚ u se obvykle vyjadˇruje pomoc´ı probl´em˚ u vztaˇzen´ych na uˇzivatele a mˇes´ıc (PUM - per user month). Celkov´y poˇcet probl´em˚ u, kter´e ohl´asili z´akazn´ıci (skuteˇcn´e defekty a pot´ıˇze nevztahuj´ıc´ı se k defekt˚ um) za danou ˇcasovou jednotku PUM = Celkov´y poˇcet licencovan´ych mˇes´ıc˚ u pro dan´y software za danou ˇcasovou jednotku Mˇel by se rovnˇeˇz monitorovat celkov´y poˇcet probl´em˚ u z´akazn´ıka.
Spokojenost z´ akazn´ıka se ˇcasto mˇeˇr´ı pomoc´ı pr˚ uzkum˚ u pouˇzit´ım pˇetibodov´e ˇsk´aly: Velmi spokojen Spokojen Neutr´aln´ı Nespokojen Velmi nespokojen Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
October 2, 2014
8 / 42
Softwarov´ e metriky
Metriky kvality bˇ ehu procesu
Metriky kvality pr˚ ubˇehu procesu
[Kan95]
Metriky kvality pr˚ ubˇehu procesu jsou m´enˇe form´alnˇe definovan´e. jednoduˇse znamenaj´ı zaznamen´av´an´ı pˇr´ırustk˚ u defekt˚ u bˇehem form´aln´ıho testov´an´ı.
Hustota defekt˚ u bˇ ehem form´ aln´ıho testov´ an´ı vyˇsˇs´ı rychlosti defekt˚ u nalezen´ych bˇehem testov´an´ı indikuj´ı vyˇsˇs´ı hladinu injektov´an´ı chyb do softwaru bˇehem jeho v´yvoje. defekty na KLOC
Vzor pˇr´ırustk˚ u defekt˚ u bˇ ehem form´ aln´ıho testov´ an´ı m˚ uˇze indikovat, ˇze testov´an´ı zaˇcalo pozdˇe, ˇze testovac´ı sada nebyla dostateˇcn´a, nebo ˇze testov´an´ı skonˇcilo pˇredˇcasnˇe.
Profil odstraˇ nov´ an´ı defekt˚ u podle f´ az´ı vyˇzaduje trasov´an´ı defekt˚ u ve vˇsech f´az´ıch v´yvojov´eho cyklu. Efektivnost odstraˇ nov´ an´ı defekt˚ u Defekty odstranˇen´e bˇehem v´yvojov´e f´aze DRE = × 100% Defekty setrv´avaj´ıc´ı v produktu Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
Softwarov´ e metriky
Metriky kvality u´drˇzby I
October 2, 2014
10 / 42
Metriky kvality u ´drˇzby
[Kan95]
Oprava nevyˇr´ızen´ ych vˇ ec´ı vyjadˇruje n´aroky na pracovn´ı z´atˇeˇz v´azanou na u ´drˇzbu softwaru. Poˇcet ohl´aˇsen´ych probl´em˚ u, kter´e z˚ ust´avaj´ı otevˇren´e na konci kaˇzd´eho mˇes´ıce ˇci t´ydne.
ˇ ıdic´ı index nevyˇr´ızen´ R´ ych vˇ ec´ı (BMI - backlog management index) BMI =
Poˇcet probl´em˚ u uzavˇren´ych probl´em˚ u bˇehem dan´eho mˇes´ıce ×100% Poˇcet pˇr´ırustk˚ u probl´em˚ u bˇehem mˇes´ıce
ˇ odezvy opravy se obvykle poˇc´ıt´a jak pro vˇsechny probl´emy tak i Cas pro probl´emy rozdˇelen´e podle u ´rovnˇe v´aˇznosti: stˇredn´ı doba ˇzivota probl´emu od otevˇren´ı po uzavˇren´ı
Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
October 2, 2014
12 / 42
Softwarov´ e metriky
Metriky kvality u´drˇzby II
Metriky kvality u ´drˇzby
[Kan95]
Procento delikventn´ıch oprav: Jestliˇze doba opravy pˇrekroˇc´ı ˇcasov´e limity vzhledem k v´aˇznosti, je klasifikov´ana jako delikvent.
Procento delikventn´ıch oprav = Poˇcet oprav, kter´e pˇrekroˇcily ˇcasov´y limit vzhledem k v´aˇznosti × 100% Celkov´y poˇcet oprav odveden´ych ve specifikovan´em ˇcase Metrika vadn´ e opravy, kvalita opravy mˇeˇr´ı procento vadn´ych oprav z celkov´eho poˇctu za nˇejak´y ˇcasov´y interval.
Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
Spolehlivost
Spolehlivost softwaru
October 2, 2014
13 / 42
Definice
[Kan95]
Spolehlivost je ˇcasto definov´ana jako pravdˇepodobnost, ˇze syst´em vozidlo, stroj, zaˇr´ızen´ı, atd. bude vykon´avat svou zam´yˇslenou funkci v dan´ych operaˇcn´ıch podm´ınk´ach po specifikovou dobu. Modely spolehlivosti softwaru se pouˇz´ıvaj´ı k odhadu spolehlivosti nebo poˇctu zb´yvaj´ıc´ıch defekt˚ u softwarov´eho produktu, kter´y byl uvolnˇen mezi z´akazn´ıky. D˚ uvody: 1 2
objektivn´ı vyj´adˇren´ı kvality produktu, pl´anov´an´ı zdroj˚ u pro f´azi u ´drˇzby softwaru.
Sledovanou promˇ ennou studovan´ych krit´eri´ı je poˇcet defekt˚ u (nebo rychlost defekt˚ u normalizavan´a poˇctem ˇr´adku k´odu) za dan´y ˇcasov´y interval (t´ydny, mˇes´ıce, atd.), nebo doba mezi dvˇema selh´an´ımi.
Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
October 2, 2014
15 / 42
Spolehlivost
Spolehlivost softwaru
Definice
[Kan95]
Statick´ y model pouˇz´ıv´a atributy projektu nebo programov´ych modul˚ u k odhadu poˇctu defekt˚ u v softwaru. Parametry model˚ u jsou odhadov´any na z´akladˇe ˇrady pˇredchoz´ıch projekt˚ u.
Dynamick´ y model pouˇz´ıv´a pr˚ ubˇeˇzn´eho v´yvoje vzor˚ u defekt˚ uk odhadu spolehlivosti fin´aln´ıho produktu. Parametry dynamick´ych model˚ u jsou odhadov´any na z´akladˇe mnoha u ´daj˚ u zaznamenan´ych o hodnocen´em produktu k dan´emu datu. Kategorie: Modeluje se cel´y v´yvojov´y proces. Model vych´ az´ı s Rayleighova modelu. Modeluje se f´ aze form´ aln´ıho testov´ an´ı. Model vych´ az´ı z exponenci´ aln´ıho modelu a jin´ych model˚ u r˚ ustu spolehlivosti.
Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
Spolehlivost
Weibullova distribuce
October 2, 2014
16 / 42
Statick´ e modely
[Kan95]
jedna ze tˇr´ı zn´am´ych distribuc´ı extrem´aln´ıch hodnot, konce hustory pravdˇepodnosti se bl´ıˇz´ı asymptoticky k nule, ale nikdy ji nedos´ahnou. kumulativn´ı distribuˇcn´ı funkce (CDF): m
F (t) = 1 − e −(t/c)
funkce hustoty pravdˇepodobnosti (PDF): m t m −(t/c)m f (t) = e t c kde m je tvarov´y parametr, c je parametr mˇeˇr´ıtka, t je ˇcas.
Pokud se aplikuje v softwaru, pak PDF typicky znamen´a hustotu defekt˚ u (rychlosti) v dobˇe pˇr´ırustkov´eho vzoru defekt˚ u (platn´e defekty) a CDF znamen´a kumulativn´ı vzor pˇr´ırustku defekt˚ u. Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
October 2, 2014
18 / 42
Spolehlivost
Statick´ e modely
Tvar Weibullovy distribuce 1.5
m=10 m=0.5
PDF
1
m=4 0.5 m=2 m=1 0
0
2
4
6
t
Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
Spolehlivost
Rayleigh˚ uv model
October 2, 2014
19 / 42
Statick´ e modely
[Kan95]
patˇr´ı do rodiny Weibullov´ych distribuc´ı. m=2 kumulativn´ı distribuˇcn´ı funkce (CDF): 2
F (t) = 1 − e −(t/c) pravdˇepodnost hustoty (PDF):
2 t 2 −(t/c)2 f (t) = e t c tm je okamˇzik, ve kter´em kˇrivka dosahuje sv´eha maxima. c tm = √ 2 Jakmile je odhadnut tm , m˚ uˇze b´yt urˇcen tvar cel´e kˇrivky. Plocha pod kˇrivkou do tm je 39.35% celkov´e plochy. Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
October 2, 2014
20 / 42
Spolehlivost
Rayleigh˚ uv model v praxi
Statick´ e modely
[Kan95]
Pˇri praktick´ych aplikac´ıch se vzorec n´asob´ı konstantou K (K je celkov´y poˇcet defekt˚ u nebo celkov´a kumulativn´ı rychlost defekt˚ u). √ c = tm 2 h
F (t) = K 1 − e " f (t) = K
1 tm
2
2 )t 2 −(1/2tm
i
# 2
te −(1/2tm )t
2
Softwarov´e projekty sleduj´ı vzor ˇzivotn´ıho cyklu popsan´y kˇrivkou Rayleighovy hustoty. Vzor odstraˇ nov´an´ı z´avad tak´e sleduje Rayleigh˚ uv vzor. Celkov´y skuteˇcn´y poˇcet defekt˚ u se liˇs´ı do 5% aˇz 10% od poˇctu defekt˚ u predikovan´y modelem. Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
Spolehlivost
Z´akladn´ı pˇredpoklady
October 2, 2014
21 / 42
Statick´ e modely
[Kan95]
Rychlost defekt˚ u pozorovan´ych bˇehem v´yvojov´eho procesu je positivnˇe korelovan´a s rychlost´ı defekt˚ u v poli nasazen´ı Za pˇredpokladu stejn´e rychlosti injekt´aˇze chyb, ˇc´ım v´ıce defekt˚ u je objeveno a odstranˇeno dˇr´ıve, t´ım m´enˇe jich z˚ ustane na pozdˇejˇs´ı f´aze. Princip “Udˇ elej to spr´ avnˇ e hned napoprv´ e”: jestliˇze kaˇzd´y krok v´yvojov´eho procesu se provede s minim´aln´ım vznikem chyb, pak fin´aln´ı produkt bude dobr´y. Rovnˇeˇz znamen´a, ˇze vznikl´e chyby se maj´ı odstraˇ novat co nejdˇr´ıve.
Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
October 2, 2014
22 / 42
Spolehlivost
Statick´ e modely
Z´akladn´ı pˇredpoklady v grafech: korelace
[Kan95]
30
Defect Rate
20
10
0
0
Radek Maˇr´ık (
[email protected])
5
10 Development Phase
Spolehlivost softwaru
Spolehlivost
15
20
October 2, 2014
23 / 42
Statick´ e modely
Z´akladn´ı pˇredpoklady v grafech: odstraˇnov´an´ı defekt˚ u [Kan95] 20
Defect Rate
15
10
5
0
0
Radek Maˇr´ık (
[email protected])
20 40 Development Phase
Spolehlivost softwaru
60
October 2, 2014
24 / 42
Spolehlivost
Statick´ e modely
Spolehlivost a validace predikce
[Kan95]
Spolehlivost vyjadˇruje stupeˇ n zmˇeny v´ystupu modelu vzhledem moˇznostem fluktuac´ı ve vstupn´ıch datech. ˇ ım uˇzˇs´ı je konfidenˇcn´ı interval, t´ım je odhad spolehlivˇejˇs´ı. C´ Vˇetˇs´ı vzorky vedou na uˇzˇs´ı konfidenˇcn´ı intervaly. Pouˇz´ıvejte pokud moˇzno v´ıce model˚ u a spol´ehejte se na jejich spoleˇcn´e hodnocen´ı. Z´akladn´ı podm´ınkou dosaˇzen´ı platnosti predikce je zajiˇstˇen´ı pˇresnosti a spolehlivosti vstupn´ıch dat. Platnost se hodnot´ı porovn´an´ım odhad˚ u z model˚ u a jejich skuteˇcn´ych hodnot.
Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
Spolehlivost
October 2, 2014
25 / 42
Dynamick´ e modely
Model zaloˇzen´e na exponenci´aln´ım rozloˇzen´ı a r˚ ustu spolehlivosti [Kan95]
Modely r˚ ustu spolehlivosti se obvykle odvozuj´ı z dat f´aze form´aln´ıho testov´an´ı. Od˚ uvodnˇen´ı v´ych´az´ı z toho, ˇze vzory procesu pˇr´ırustk˚ u defekt˚ u t´eto f´aze jsou vhodn´ym indik´atorem spolehlivosti produktu pociˇtovanou z´akazn´ıky. Bˇehem tohoto testov´an´ı po f´azi v´yvoje, kdy se objevuj´ı selh´an´ı, identifikuj´ı a opravuj´ı defekty, se softwarov´y produkt st´av´a stabilnˇejˇs´ı a jeho spolehlivost roste s ˇcasem. Tyto modely se proto naz´yvaj´ı modely r˚ ustu spolehlivosti.
Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
October 2, 2014
27 / 42
Spolehlivost
Exponenci´aln´ı model
Dynamick´ e modely
[Kan95]
dalˇs´ı speci´aln´ı pˇr´ıpad Weibullovy rodiny, m = 1 kumulativn´ı distribuˇcn´ı funkce (CDF): F (t) = 1 − e −(t/c) = 1 − e −λt hustota pravdˇepodobnosti (PDF): f (t) =
1 −(t/c) e = λe −λt c
kde c je parametr mˇeˇr´ıtka, t je ˇcas, λ = 1/c
λ se naz´yv´a rychlost detekce chyby nebo okamˇ zit´ a rychlost selh´ an´ı (ve statistice tak´e rychlost hazardu). V praktick´ych aplikac´ıch se vzorce pˇren´asobuj´ı celkov´ym poˇctem defekt˚ u nebo celkovou kumulativn´ı rychlost defekt˚ u K. Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
Spolehlivost
October 2, 2014
28 / 42
Dynamick´ e modely
Exponenci´aln´ı model - distribuce hustoty 100
Defects per KCSI
80
60
40
20
0
0
20
40
60
Week
Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
October 2, 2014
29 / 42
Spolehlivost
Modely r˚ ustu spolehlivosti
Dynamick´ e modely
[Kan95]
Ne mnoho model˚ u je ovˇeˇreno praktick´ym nasazen´ım s re´aln´ymi daty. Model doby mezi selh´ an´ım: Oˇcek´av´a se, ˇze doby n´asledn´ych selh´an´ı se prodluˇzuj´ı po kaˇzd´em odstranˇen´ı defektu produktu. ˇ Casto se pˇredpokl´ad´a, ˇze se doba mezi selh´an´ım (i − 1) a i ˇr´ıd´ı rozloˇzen´ım, jehoˇz parametry maj´ı vztah k poˇctu skryt´ych defekt˚ u setrv´avaj´ıc´ıch v produktu po (i − 1) selh´an´ı.
Modely poˇ ctu vad: poˇcet vad ˇci selh´an´ı (nebo normalizovan´e rychlosti) ve specifikovan´em ˇcasov´em intervalu. ˇ Casov´ y interval je pevn´y apriori. Poˇcet defekt˚ u nebo selh´an´ı pozorovan´ych bˇehem intervalu se povaˇzuje za n´ahodnou promˇennou. Oˇcek´av´a se, ˇze se poˇcet pozorovan´ych selhan´ı za jednotku ˇcasu bude zmenˇsovat. Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
Spolehlivost
October 2, 2014
30 / 42
Dynamick´ e modely
Model Jelinski-Moranda (J-M)
[Kan95]
jeden z prvn´ıch model˚ u softwarov´e spolehlivosti (1972), model doby mezi selh´an´ım, Pˇredpoklady: Software m´a N nedostatk˚ u na poˇc´atku testov´an´ı. Selh´an´ı se projev´ı ˇcistˇe n´ahodnˇe. Vˇsechny vady pˇrisp´ıvaj´ı rovnocennˇe k pˇr´ıˇcinˇe selh´an´ı bˇehem testov´an´ı. ˇ opravy je zanedbateln´y. Cas Oprava defektu je dokonal´a.
Hazardn´ı funkce v ˇcase ti , doba mezi selh´an´ım (i − 1) a i, je d´ana: Z (ti ) = φ[N − (i − 1)] kde φ je konstanta u ´mˇernosti.
Hazardn´ı funkce je konstantou mezi dvˇema selh´an´ımi, ale zmenˇsuje se po kroc´ıch φ po kaˇzd´em odstranˇen´ı defektu. Jak se jednotliv´e vady odstraˇ nuj´ı, doba k n´asledn´emu selh´an´ı se oˇcek´av´a b´yti delˇs´ı. Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
October 2, 2014
31 / 42
Spolehlivost
Modely Littlewooda (LW)
Dynamick´ e modely
[Kan95]
podobn´e modelu J-M, Pˇredpokl´ad´a se, ˇze r˚ uzn´e vady maj´ı r˚ uznou velikost a nerovnost pˇr´ıspˇevk˚ u k selh´an´ım. Vady vˇetˇs´ıho rozsahu maj´ı tendenci b´yt detekov´any a opraveny dˇr´ıve. Uvaˇzov´an´ım velikosti chyby se pˇredpoklady modelu pˇribliˇzuj´ı realitˇe. Ve podm´ınk´ach re´aln´eho softwaru, pˇredpoklad rovnocenn´e rychlosti selh´an´ı pro vˇsechny vady bˇeˇznˇe v˚ ubec nenast´av´a.
Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
Spolehlivost
October 2, 2014
32 / 42
Dynamick´ e modely
Goel-Okumot˚ uv (G-O) model nedokonal´eho opravov´an´ı [Kan95] J-M vych´az´ı z dokonal´e opravy zanedbateln´y ˇcas, vada skuteˇcnˇe opravena
. Procento vadn´ych oprav se pro velk´e komerˇcn´ı softwarov´e spoleˇcnosti pohybuje okolo 1% aˇz 2%, m˚ uˇze vˇsak pˇres´ahnout i 10%. Pˇredpoklad nedokonal´eho opravov´an´ı. Hazardn´ı funkce v ˇcase ti , dobˇe mezi selh´an´ım (i − 1) a i, je d´ana: Z (ti ) = [N − p(i − 1)]λ kde N je poˇcet vad na poˇc´atku testov´an´ı, p je pravdˇepodobnost nedokonal´e opravy, λ je rychlost selh´an´ı na vadu. Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
October 2, 2014
33 / 42
Spolehlivost
Dynamick´ e modely
Goel-Okumot˚ uv model nehomogenn´ıho Poissonova procesu (NHPP) [Kan95] modeluje poˇcet selh´an´ı pozorovan´y v dan´ych intervalech testov´an´ı pˇredpoklady: Kumulativn´ı poˇcet selh´an´ı pozorovan´y v ˇcase t, N(t), se modeluje jako nehomogenn´ı Poisson˚ uv proces - Poisson˚ uv proces s ˇcasovˇe z´avislou rychlosti selh´an´ı. ˇ Casovˇ e z´avisl´a rychlost selh´an´ı sleduje exponenci´aln´ı distribuci.
Model je d´an [m(t)]y −m(t) P{N(t) = y } = e , y = 0, 1, 2, · · · y! kde m(t) = a(1 − e −bt ) λ(t) ≡ m0 (t) = abc −bt Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
Spolehlivost
NHPP model
October 2, 2014
34 / 42
Dynamick´ e modely
[Kan95]
m(t) je oˇcek´avan´y poˇcet selh´an´ı v ˇcase t, λ(t) je hustota pravdˇepodobnosti, a je oˇcek´avan´y poˇcet selh´an´ı, kter´y by mohl b´yt pozorov´an, b je rychlost detekce vad vztaˇzen´a na vadu. Poˇcet vad a, kter´e se maj´ı detekovat, se povaˇzuje za n´ahodnou promˇennou, jej´ıˇz pozorovan´a hodnota zavis´ı na testu a dalˇs´ıch faktorech prostˇred´ı. T´ım se tento model principi´alnˇe liˇs´ı od ostatn´ıch, kter´e pˇredpokl´adaj´ı fixn´ı nezn´am´y poˇcet vad. Vyskytuje se ˇrada pˇr´ıpad˚ u, kdy rychlost selh´an´ı nejprve roste a pot´e kles´a (Goel˚ uv model zobecnˇen´eho nehomogenn´ıho Poissonova procesu): c
m(t) = a(1 − e −bt ) c
λ(t) ≡ m0 (t) = abc −bt t c−1 b a c jsou konstanty, kter´e odr´aˇzej´ı kvalitu testov´an´ı. Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
October 2, 2014
35 / 42
Spolehlivost
Dynamick´ e modely
Musa-Okumot˚ uv (M-O) model logaritmick´eho Poissonova prov´adˇec´ıho ˇcasu [Kan95] Pˇredpoklad, ˇze se pozorovan´y poˇcet selh´an´ı v dan´em ˇcase, τ , ˇr´ıd´ı nehomogenn´ım Poissonov´ym procesem. Funkce stˇredn´ı hodnoty se snaˇz´ı postihnout to, ˇze pozdˇejˇs´ı opravy maj´ı menˇs´ı efekt na spolehlivost softwaru neˇz poˇc´ateˇcn´ı opravy. Logaritmick´y Poisson˚ uv proces se velmi vhodn´y k popisu vysoce neuniformn´ıch operativn´ıch profil˚ u uˇzivatele, kdy nˇekter´e funkce jsou prov´adˇeny mnohem ˇcastˇej´ı neˇz jin´e. Funkce stˇredn´ı hodnoty je d´ana vztahem u(τ ) =
1 ln(λ0 θτ + 1) θ
kde λ0 je poˇc´ateˇcn´ı hustota selh´an´ı, θ je rychlost redukce normalizovan´e intensity selh´an´ı na jednotku selh´an´ı. Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
Spolehlivost
Zpoˇzdˇen´y S model
October 2, 2014
36 / 42
Dynamick´ e modely
[Kan95]
Testovac´ı proces nen´ı jenom o detekov´an´ı chyb, ale i o lokalizaci defekt˚ u. Mezi ˇcasem prv´e detekce selh´an´ı a ˇcasem nahl´aˇsn´ı m˚ uˇze b´yt v´yznamn´e zpoˇzdˇen´ı, protoˇze je potˇreba analyzovat selh´an´ı. Model zpoˇzdˇen´eho rust˚ u spolehlivosti S tvaru je zaloˇzen na nehomogenn´ım Poissonov´ym processem s r˚ uznou funkc´ı stˇredn´ı hodnoty, aby se popsalo zpoˇzdˇen´ı nahl´aˇsen´ı selh´an´ı: m(t) = K [1 − (1 + λt)e −λt ] kde t je ˇcas, λ je rychlost detekce chyby, K je celkov´y poˇcet defekt˚ u nebo celkov´a kumulativn´ı rychlost defekt˚ u.
Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
October 2, 2014
37 / 42
Spolehlivost
Dynamick´ e modely
Funkce stˇredn´ı hodnoty S modelu se zpoˇzdˇen´ım 8
m(t)
6
4
2
0
0
5
Radek Maˇr´ık (
[email protected])
10 t
Spolehlivost softwaru
Spolehlivost
Inflexn´ı S model
15
20
October 2, 2014
38 / 42
Dynamick´ e modely
[Kan95]
dalˇs´ı S model r˚ ustu spolehlivosti, Model popisuje jevy detekce selh´an´ı softwaru, jestliˇze detekovan´e defekty jsou vz´ajemnˇe z´avisl´e. ˇ ım v´ıce defekt˚ C´ u detekujeme, t´ım se v´ıce nedetekovan´ych selh´an´ı st´av´a detekovateln´ych. v´yznamn´e zlepˇsen´ı ohlednˇe pˇredpokladu nez´avislosti vad programu. zaloˇzeno na nehomogenn´ım Poissonovˇe procesu, model funkce stˇredn´ı hodnoty je 1 − e −λt I (t) = K 1 − ie −λt kde t je ˇcas, λ je rychlost detekce chyb, i je faktor inflexe, K je celkov´y poˇcet defekt˚ u nebo celkov´a kumulativn´ı rychlost defekt˚ u. Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
October 2, 2014
39 / 42
Spolehlivost
Dynamick´ e modely
Inflexn´ı S model - funkce stˇredn´ı hodnoty 15
I(t)
10
5
0
0
Radek Maˇr´ık (
[email protected])
5
10 t
15
Spolehlivost softwaru
Spolehlivost
20
October 2, 2014
40 / 42
Dynamick´ e modely
Modely zpoˇzdˇen´eho S a inflexn´ıho S
[Kan95]
zahrnuj´ı dobu uˇcen´ı tester˚ u, kdy se seznamuj´ı se softwarem na zaˇc´atku doby testov´an´ı. Doba uˇcen´ı se asociuje se vzory zpoˇzdˇen´ı nebo inflex´ı popisovan´eho funkcemi stˇredn´ı hodnoty. Srovn´an´ı: Exponenci´aln´ı model pˇredpokl´ad´a vrchol pˇr´ırustk˚ u defekt˚ u na poˇc´atku f´aze testov´an´ı a pot´e kles´a. Model zpoˇzdˇen´ı S pˇredpokl´ad´a lehce zpoˇzdˇen´y vrchol. Model inflexe S pˇredpokl´ad´a pozdˇejˇs´ı a ostˇrejˇs´ı vrchol.
Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
October 2, 2014
41 / 42
Spolehlivost
Dynamick´ e modely
Literatura I
Stephen H. Kan. Metrics and Models in Software Quality Engineering. Addison-Wesley, 1995.
Radek Maˇr´ık (
[email protected])
Spolehlivost softwaru
October 2, 2014
42 / 42