Tilastollisten menetelmien soveltaminen ohjelmistojen luotettavuuden analysoinnissa

Samankaltaiset tiedostot
Sovellettu todennäköisyyslaskenta B

Väliestimointi (jatkoa) Heliövaara 1

Tilastollisen analyysin perusteet Luento 10: Johdatus varianssianalyysiin

Harjoitus 7: NCSS - Tilastollinen analyysi

Tilastollinen testaus. Vilkkumaa / Kuusinen 1

Todennäköisyyden ominaisuuksia

Tilastollisen analyysin perusteet Luento 9: Moniulotteinen lineaarinen. regressio

Tilastollisen analyysin perusteet Luento 8: Lineaarinen regressio, testejä ja luottamusvälejä

Yksisuuntainen varianssianalyysi (jatkoa) Heliövaara 1

Odotusarvoparien vertailu. Vilkkumaa / Kuusinen 1

ABHELSINKI UNIVERSITY OF TECHNOLOGY

Sovellettu todennäköisyyslaskenta B

Yksisuuntainen varianssianalyysi (jatkoa) Kuusinen/Heliövaara 1

Gripenberg. MS-A0502 Todennäköisyyslaskennan ja tilastotieteen peruskurssi Tentti ja välikoeuusinta

Tilastollisen analyysin perusteet Luento 7: Lineaarinen regressio

Osa 2: Otokset, otosjakaumat ja estimointi

Estimointi. Vilkkumaa / Kuusinen 1

l (φ; y) = l(θ(φ); y) Toinen derivaatta saadaan tulon derivaatan laskusäännöllä Uudelleenparametroidun mallin Fisherin informaatio on

805324A (805679S) Aikasarja-analyysi Harjoitus 4 (2016)

Estimointi. Estimointi. Estimointi: Mitä opimme? 2/4. Estimointi: Mitä opimme? 1/4. Estimointi: Mitä opimme? 3/4. Estimointi: Mitä opimme?

Harjoitus 2: Matlab - Statistical Toolbox

Sovellettu todennäköisyyslaskenta B

9. laskuharjoituskierros, vko 12-13, ratkaisut

MTTTP5, luento Luottamusväli, määritelmä

Diskreetin satunnaismuuttujan odotusarvo, keskihajonta ja varianssi

3 Yleistä estimointiteoriaa. Olemme perehtuneet jo piste-estimointiin su-estimoinnin kautta Tässä luvussa tarkastellaan piste-estimointiin yleisemmin

Oletetaan, että virhetermit eivät korreloi toistensa eikä faktorin f kanssa. Toisin sanoen

4.0.2 Kuinka hyvä ennuste on?

Johdatus tilastotieteeseen Estimointi. TKK (c) Ilkka Mellin (2005) 1

Batch means -menetelmä

Sovellettu todennäköisyyslaskenta B

Parametrin estimointi ja bootstrap-otanta

Regressioanalyysi. Kuusinen/Heliövaara 1

P(X = x T (X ) = t, θ) = p(x = x T (X ) = t) ei riipu tuntemattomasta θ:sta. Silloin uskottavuusfunktio faktorisoituu

Mat Tilastollisen analyysin perusteet, kevät 2007

Tilastollisen analyysin perusteet Luento 2: Tilastolliset testit

Ilkka Mellin Tilastolliset menetelmät Osa 2: Otokset, otosjakaumat ja estimointi Estimointi

Tilastollisen analyysin perusteet Luento 1: Lokaatio ja hajonta

Ilkka Mellin Todennäköisyyslaskenta. Osa 2: Satunnaismuuttujat ja todennäköisyysjakaumat. Momenttiemäfunktio ja karakteristinen funktio

7.4 Normaalijakauma (kertausta ja täydennystä) Taulukosta P(Z 1,6449) = 0,05, P(Z -1,6449) = 0,05 P(Z 1,96) = 0,025, P(Z -1,96) = 0,025

1. Tilastollinen malli??

3. Teoriaharjoitukset

pitkittäisaineistoissa

Tilastollinen aineisto Luottamusväli

MTTTA1 Tilastomenetelmien perusteet 5 op Luento , osa 1. 1 Kokonaisuudet johon opintojakso kuuluu

Tilastollisen analyysin perusteet Luento 6: Korrelaatio ja riippuvuus tilastotieteessä

8. Muita stokastisia malleja 8.1 Epölineaariset mallit ARCH ja GARCH

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

MTTTA1 Tilastomenetelmien perusteet 5 op Luento Kokonaisuudet johon opintojakso kuuluu

Keskipisteen lisääminen 2 k -faktorikokeeseen (ks. Montgomery 9-6)

MS-A0502 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

FoA5 Tilastollisen analyysin perusteet puheentutkimuksessa. 6. luento. Pertti Palo

Harha mallin arvioinnissa

Identifiointiprosessi

HY, MTO / Matemaattisten tieteiden kandiohjelma Tilastollinen päättely II, kevät 2018 Harjoitus 8B Ratkaisuehdotuksia.

TA7, Ekonometrian johdantokurssi HARJOITUS 4 1 RATKAISUEHDOTUKSET

Estimointi. Luottamusvälin laskeminen keskiarvolle α/2 α/2 0.1

6. Tietokoneharjoitukset

Estimointi populaation tuntemattoman parametrin arviointia otossuureen avulla Otossuure satunnaisotoksen avulla määritelty funktio

/1. MTTTP1, luento Normaalijakauma (jatkoa) Olkoon Z ~ N(0, 1). Määritellään z siten, että P(Z > z ) =, graafisesti:

Regressioanalyysi. Vilkkumaa / Kuusinen 1

pitkittäisaineistoissa

Vastepintamenetelmä. Kuusinen/Heliövaara 1

Sovellettu todennäköisyyslaskenta B

Otoskoon arviointi. Tero Vahlberg

Otoskeskiarvo on otossuure, jonka todennäköisyysjakauma tiedetään. Se on normaalijakauma, havainnollistaminen simuloiden

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä.

Lisätehtäviä ratkaisuineen luentomonisteen lukuun 6 liittyen., jos otoskeskiarvo on suurempi kuin 13,96. Mikä on testissä käytetty α:n arvo?

Sovellettu todennäköisyyslaskenta B

Tilastollisen analyysin perusteet Luento 4: Testi suhteelliselle osuudelle

805324A (805679S) Aikasarja-analyysi Harjoitus 3 (2016)

3 Yleistä estimointiteoriaa. Olemme perehtuneet jo piste-estimointiin su-estimoinnin kautta Tässä luvussa tarkastellaan piste-estimointiin yleisemmin

(0 desimaalia, 2 merkitsevää numeroa).

Estimointi. Otantajakauma

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Johdatus regressioanalyysiin. Heliövaara 1

Mat Tilastollisen analyysin perusteet, kevät 2007

MTTTP5, luento Otossuureita ja niiden jakaumia (jatkuu)

Teema 8: Parametrien estimointi ja luottamusvälit

Mat Tilastollisen analyysin perusteet, kevät 2007

Todennäköisyyslaskun kertaus. Vilkkumaa / Kuusinen 1

/1. MTTTP1, luento Normaalijakauma (kertausta) Olkoon Z ~ N(0, 1). Määritellään z siten, että P(Z > z ) =, graafisesti:

Luottamisvälin avulla voidaan arvioida populaation tuntematonta parametria.

Inversio-ongelmien laskennallinen peruskurssi Luento 7 8

tilastotieteen kertaus

POPULAATIO. Oikeastaan arvot, joista ollaan kiinnostuneita (mitatut numeeriset suureet, luokittelut).

Koska ovat negatiiviset. Keskihajontoja ei pystytä laskemaan mutta pätee ¾.

5.7 Uskottavuusfunktioon perustuvia testejä II

Johdatus todennäköisyyslaskentaan Momenttiemäfunktio ja karakteristinen funktio. TKK (c) Ilkka Mellin (2005) 1

r = r f + r M r f (Todistus kirjassa sivulla 177 tai luennon 6 kalvoissa sivulla 6.) yhtälöön saadaan ns. CAPM:n hinnoittelun peruskaava Q P

Korvausvastuun ennustejakauma bootstrap-menetelmän avulla

4.1. Olkoon X mielivaltainen positiivinen satunnaismuuttuja, jonka odotusarvo on

riippumattomia ja noudattavat samaa jakaumaa.

T Luonnollisen kielen tilastollinen käsittely Vastaukset 3, ti , 8:30-10:00 Kollokaatiot, Versio 1.1

Dynaamiset regressiomallit

Tilastollisen analyysin perusteet Luento 11: Epäparametrinen vastine ANOVAlle

2. TILASTOLLINEN TESTAAMINEN...

805306A Johdatus monimuuttujamenetelmiin, 5 op

χ = Mat Sovellettu todennäköisyyslasku 11. harjoitukset/ratkaisut

Johdatus varianssianalyysiin. Vilkkumaa / Kuusinen 1

Transkriptio:

Tilastollisten menetelmien soveltaminen ohjelmistojen luotettavuuden analysoinnissa Proseminaarityö Joni Mönttinen 185671 Itä-Suomen ylioisto 30.11.2012 1

Sisältö 1 Johdanto...3 2 Virheiden otanta...3 3 Virhetilastojen analysointi...4 3.1 luotettavuuden mallintaminen...4 3.2 luotettavuuden testaaminen...7 4 Cleanroom -ohjelmistotuotantomenetelmä...9 5 ohdinta...10 6 viitteet...11 2

1 Johdanto Ohjelmistojen laatu jaetaan ISO/IEC 9126 -standardin mukaan kuuteen eri laadun mittaavaan kriteeriin: toiminnallisuuteen, luotettavuuteen, käytettävyyteen, tehokkuuteen, ylläidettävyyteen ja siirrettävyyteen. Jokainen näistä kriteereistä voidaan jakaa vielä eri attribuutteihin, joita voidaan mitata ja tällöin määrittää laatu kriteerin täyttyminen. Luotettavuuden mittaamisessa yritään selvittämään, että kuinka todennäköisesti ohjelmisto kykenee ylläitämään toimintaansa tietyissä olosuhteissa. Tähän asiaan vaikuttaa esimerkiksi virheiden sietokyky, toiumiskyky ja virhe tilanteiden yleisyys. [1] Täydellisen ohjelmiston kehittäminen on käytännössä mahdotonta, joten ohjelmistotuotteen laadun arviointiin tarvitaan menetelmiä, joilla voidaan osoittaa jonkin laatukriteerin täyttyvän riittävän hyvin. Tässä tutkielmassa käydään lävitse ohjelmiston luotettavuuden mallintamiseen ja testaamiseen soveltuvia tilastollisia menetelmiä ja selvitetään niiden soveltamista cleanroom -ohjelmistotuotantomenetelmään. 2 Virheiden otanta Testaaminen toteutetaan mustalaatikkotestaamisella, jossa ei kiinnitetä huomiota ohjelman tekniseen toteutukseen, vaan verrataan vain ohjelmalle annettuja syötteitä ja niitä vastaavia tulosteita. Täten ohjelma on niin sanotusti läinäkymätön musta laatikko Ohjelman toiminnasta tiedetään sen verran, että mitä sen täytyy suorittaa tietyillä syötteillä, jotta voidaan äätellä onko kyseessä virhetilanne vai toimiiko ohjelma niin kuin on tarkoituskin. Virheet kirjataan ylös, mutta niitä ei korjata ennen kuin otanta on suoritettu, sillä samat virheet voivat esiintyä useaan kertaan. [2] Jotta otanta saataisiin kuvaamaan ohjelmiston luotettavuutta mahdollisimman tarkasti, niin testitaaukset täytyy suunnitella vastaamaan ohjelmiston käyttötaauksia. Muuten testaus voi kohdistua liikaa sellaisiin ohjelmiston komonentteihin, joita ei käytetä niin usein tai niitä ei käytetä samalla tavalla, kuin käytännöntehtävissä. Tästä syystä testaa- 3

jan itää unohtaa ohjelman koodin toiminta, sillä muuten testitaaukset keskittyvät ohjelma koodin mukaisen toiminnan testaamiseen jolloin virheiden otannasta tulee harhainen. [2] Ohjelmiston luotettavuuden mittana elkkä virheiden määrä ei ole riittävä. Toinen mitattava asia on testaamiseen kulutettu aika, sillä ohjelmiston luotettavuus voidaan ajatella olevan todennäköisyys, jolla se kykenee toimimaan tietyllä aikavälillä tietyssä olosuhteessa.[3] 3 Virhetilastojen analysointi 3.1 Luotettavuuden mallintaminen Tässä käydään lävitse menetelmä, jolla voidaan tarkkailla ja hallita ohjelmiston luotettavuutta. Tässä menetelmässä on kolme vaihetta: ensiksi lasketaan virheintensiteetin estimaatti, toiseksi sovitetaan logaritminen Poisson-malli estimoidulle virheintensiteetti datalle ja louksi kehitetään luottamusvälit. Virheintensiteetin funktio saadaan johdettua kaavalla jossa λ (τ)= d μ( τ) d τ, μ(τ)=e [ M (τ)], jossa { M (τ),τ 0 } on stokastisen rosessi, joka kuvaa virheiden määrää suoritusajan τ aikana. [4 s.1] Virheintensiteetin estimaatti saadaan laskemalla virheryhmiä. Kerättyt virhetilastot voidaan muodostaa m:n eräkkäiseen virheryhmään, joita merkataan τ i ', jossa i = 1,, m. Tästä voidaan laskea kerääntynyt aika i:nteen virheeseen kaavalla 4

i τ i = τ l '. l=1 Tarkasteltava väli (0, τ m ) jaetaan jokaisen k:nnen virheen esiintymisen ajankohdasta siten, että saadaan yhteensä osaväliä tarkasteluvälille, jolloin voidaan estimoida j:nnes osaväli (τ k ( j 1), τ kj ) kaavoilla k τ kj τ k ( j 1), kun j=1,..., 1, y i m k( 1) τ m τ k ( j 1), kun j= J:ttä osaväliä vastaava väliarvon estimaatin funktio on x j =k ( j 1), kun j=1,..., Nämä laskemalla saadaan aikaiseksi kaavio, joka kuvaa virhetilaston virheintensiteettiä ja sen laskua, kun virhetilanteita tulee vastaan. [4 s.1-2] 5

Seuraavaksi estimoidaan mallin arametrit λ 0 ja θ sovittamalla Poisson-malli λ (μ)=λ 0 e θμ estimoituihin virheintensiteetteihin. Olkoon ε j mallin j:nen dataisteen suhdeluvun logaritmi, jolloin saadaan kaava ln y j =ln λ( x j )+ε j =ln λ 0 θ x j +e j. Parametrien λ 0 ja θ estimaatit saadaan laskettua siten, että minimoidaan ε j :n summan neliöt. S(λ 0, θ)= e j 2 = {ln y j ln λ 0 +θ x j } 2 Tästä voidaan johtaa kaavat λ 0 ja θ estimaattien λ 0 ja θ laskentaan θ= j=1 x j ln y j ( x j )( ln y j ) ( x j 2 ) ( j=1 x j ) 2 ja ln λ 0 = ln y θ x, jossa ln y ja x ovat y j ja x j otoskeskiarvoja. [4 s.3] Louksi itää laskea estimaattien luottamusvälit, jotta tiedetään estimaattien tarkkuus. Oletetaan, että satunnaisvirheet ε j ovat itsenäisiä muuttujia, joiden keskiarvo on nolla ja niiden oletetaan myös olevan normaalisti jakautuneita yhteisellä varianssia σ 2. Tällöin regressiosuoran varianssin estimaatti on σ 2 = S ( λ 0, θ) ( 2). 6

Tämän lisäksi estimoidaan λ 0 :n ja θ varianssit ja kovarianssit V (ln λ 0 )=( 2 x j j=1 ) σ 2 S xx V ( θ)= σ 2 /S xx COV (ln λ 0, θ)=( X S xx ), jossa S xx = (x j x) 2 Nyt voidaan laskea λ 0 :n ja θ :n luottamusvälit kaavoilla ln λ 0 t 2 ;α/ 2 V (ln λ 0 ) ln λ 0 ln λ 0 +t 2 ;α/ 2 V (ln λ 0 ) ja θ t 2 ;α/ 2 V ( θ) θ θ+t 2; α/ 2 V ( θ).[4 s.3] 3.2 Luotettavuuden todentamismenetelmä SPRT -testiä (sequential robability ratio test) on usein käytetty menetelmä teollisuuden laadunhallinnassa, mutta sitä voidaan soveltaa myös ohjelmistojen laadunhallinassa. Olkoon { N (t ),t 0 } homogeeninen Poisson-rosessi arametrilla λ. N(t) tarkoittaa ajan hetkeen t mennessä ilmenneiden virheiden määrä ja on virheiden määrä aikayksikössä. Ohjelman testaamisesta kerätyn virhetilastojen ohjalta voidaan estimoida λ, jol- 7

loin voidaan tehdä äätös, että hylätäänkö ohjelma liian virheellisenä vai hyväksytäänkö se riittävän toimivana. Tämän äätöksen tekemiseen tarvitsee määritellä muuttujat λ 0 ja λ 1 ( 0<λ 0 <λ 1 ). Jos tilastot viittaavat, että λ>λ 1, niin todennäköisesti ohjelma on liian virheellisesti toimiva ja toisaalta jos λ 0 >λ, niin todennäköisesti ohjelma toimii riittävän luotettavasti. [5] Tässä testissä voidaan mahdollisesti tehdä virheitä analyysissä. Saatetaan esimerkiksi hylätä testattava ohjelmisto, vaikka se toimisikin riittävän hyvin. Toisaalta voidaan myös virheellisesti hyväksyä ohjelmisto. Tästä syystä täytyy määritellä kaksi muuttujaa α ja β, jotka ovat arvojen 0 ja 1 välillä siten, että α on todennäköisyys, jolla virheellisesti hylätään ohjelmisto ja β on todennäköisyys, jolla virheellisesti hyväksytään ohjelmisto. [6 s.123] Testaus toteutetaan eräkkäisinä sarjoina, jotka ovat jaettu ennalta määrätyn aikayksikön mukaan. Testausta jatketaan niin kauan, kun (t, N(t)) kuvaaja ysyy rajojen N U (t) ja N L (t) sisäuolella. N U (t)=a t+b 2, joissa N L (t)=a t+b 1 a= λ 1 λ 2 ln(λ 1 /λ 0 ), ln ((1 α)/β) b 1 = ln(λ 1 / λ 0 ) ja b 2 = ln((1 β)/α) ln(λ 1 /λ 0 ). [5] Kun virheiden määrä ylittää viivan N U (t) ensimmäistä kertaa, niin ohjelma todetaan eäluotettavaksi. Toisaalta, jos virheiden määrä alittaa viivan N L (t) ensimmäistä kertaa, niin ohjelma todetaan luotettavaksi. 8

4 Cleanroom -ohjelmistotuotantomenetelmä Luotettavuuden mittausmenetelmiä voidaan soveltaa niin sanottuun cleanroom -ohjelmistotuotantomenetelmään, jossa on yritään tuottamaan mahdollisimman luotettavasti toimiva ohjelmisto. Kyseessä on inkrementaalinen tuotantomalli, jossa jokaisen iteraatiokierroksen loussa ohjelmiston toimivuus todennetaan tilastollisilla testausmenetelmillä. Jos ohjelma ei toimi riittävän luotettavasti, niin ei siirrytä seuraavaan iteraatio kierrokseen, vaan ohjelmaa korjataan, kunnes se lääisee tilastolliset testit. Tällöin kehitettävästä ohjelmistosta saadaan kerralla luotettavasti toimiva ja vältytään kalliilta testauksilta ja virheiden korjauksilta sen valmistuttua. [7 s.19-21] Cleanroom menetelmässä ohjelman toiminta mallinnetaan matemaattisilla funktioilla, jonka lisäksi käytetään auna laatikkorakenteeseen erustuvaa määrittelyä ja suunnittelua. Matemaattisella verifioinnilla yritään siihen, että ohjelman toiminta tunnetaan tarkasti, jolloin testauksen tareen itäisi vähentyä. [7 s.21-22] 9

[8] 5 Pohdinta Tilastollisten menetelmien soveltaminen ohjelmistojen laadunhallintaan vaikuttaa äälleäin järkevältä ajatukselta ja tässä tutkielmassa esitetyt menetelmät vaikuttavat sinänsä toimivilta, jos meillä on käytössä hyvät virhetilastot. Tätä tutkielmaa tehdessä sain huomata, että tällaisia menetelmiä ei käytetä kovin laajasti. Ongelmana todennäköisesti on se, että hyvän virhetilaston kerääminen voi olla hyvin vaikeaa, sillä tilastoista saattaa tulla helosti harhaisia vääränlaisesta testaustavasta johtuen. Toisaalta vaikka saataisiinkin kerättyä täydellinen virheotos, niin nämä menetelmät eivät ota huomioon virheiden laatua. Missään vaiheessa ei tullut vastaan tilannetta, jossa oltaisiin harkittu yksittäisten virheiden vaikutusta ohjelman toimintaan. Tällöin ohjelman luotettavuuden testaaminen jää uutteelliseksi. 10

6 Viitteet [1] htt://en.wikiedia.org/wiki/iso_9126 (Haettu 19.11.2012) [2] Ron Patton, Software Testing, Sams Publishing (2006) (s.34-36) [3]Jiantao Pan,Software Reliability (1999) [4] Kazuhira Okumoto, A Statistical Method for Software Quality Control, IEEE Software (1985) (s.1-3) [5] Harald A. Stieber, Statistical quality control: How to detect unreliable software comonents [6]Wald, Abraham (June, 1945). "Sequential Tests of Statistical Hyotheses". Annals of Mathematical Statistics [7] R.C. Linger, Cleanroom Process Model, IEEE Software (1994) [8] D.P. Kelly, R.S. Oshana, Imroving software quality using statistical testing techniques (2000) (s.802) 11