Příklad použití klasifikačního stromu ve spolehlivosti software metoda plovoucích mezí Jan A. Strouhal Abstrakt: Příspěvek se zabývá příkladem konstrukce klasifikačního stromu pro použití ve spolehlivosti software. V první části je popsána základní konstrukce, která počítá s expertním počtem i hodnotami hrac metrik, v další části je popsán příklad vylepšení této základní konstrukce vyhledáním optimálních hrac metrik pomocí programu. Klasifikační stromy Vezmeme-li části programu (moduly), které máme již otestované, můžeme z jejich vlastností (metrik) zkonstruovat klasifikační strom, kterým pak můžeme klasifikovat netestované části programu, u kterých chceme zjistit, zda je máme či nemusíme testovat. Tento zkonstruovaný strom nám může pomoci zkrátit dobu testování nebo dokonce zvýšit spolehlivost, protože se při testování zaměříme více na části, které jsou skutečně potřeba otestovat a odladit. Postup byl řešen na konferenci ROBUST 2006. Funkce výběru metrik: F( ; ) = log 2 log2, kde p je počet pozitivních modulů ( třída), a n je počet negativních modulů v i-tém uzlu. Čím je F menší, tím větší je homogeta v uzlu. v Metriku, pro níž je E( C, A) = [ wi * F(, )], kde wi = i= 1 C použijeme jako kořen.
Pos vstupních údajů Dále popsané vstupní údaje jsou z vyvýjeného programu CSC Atlas pro správu domů, kde jednotlivé moduly jsou ucelenými částmi tohoto programu tj. objednávky, faktury, domy, jednotky, nájemci, evidence plateb, atd. Data o těchto modulech byla sbírána v průběhu roku 2005, nově klasifikované moduly taktéž. Základní konstrukce pevné meze Vstupní údaje U závislé proměnné (metrika: počet chyb) budeme předpokládat, že při počtu chyb větším než 120 je modul náchylný k chybám a tudíž jej budeme řadit do třídy Metrika A B C D E F G H I J K Počet chyb 30 20 125 130 80 105 140 12 32 25 14 Třída - - - - - - - - Nezávislé proměnné (metriky: funkce, propojení dat, počet revizí) Metrika A B C D E F G H I J K Funkce R R F R P F P P P P R Propojení dat 90 20 200 150 110 50 0 170 82 190 70 Počet revizí 0 7 6 4 3 10 11 2 5 9 2 Kódování Vezmeme nezávislé proměnné (metriky: funkce, propojení dat, počet revizí) a pomocí kódování rozdělíme do tří skun α, β,γ Metrika α β γ Funkce α =Práce se soubory (F) β =Uživatelské rozhraní (R) γ =Řízení procesu (P) Propojení dat α = 0 x 79 β = 80 x 149 γ = x 150 Počet revizí α = 0 x 3 β = 4 x 8 γ = x 9
můžeme pak psát Metrika A B C D E F G H I J K Funkce β β α β γ α γ γ γ γ β Propojení dat β α γ γ β α α γ β γ α Počet revizí α β β β α γ γ α β γ α Třída - - - - - - - - Příklad výpočtu pro základní kořen uvažována Metrika Funkce Pomocí metriky Funkce rozdělíme (tučně zvýrazněny pozitivní třídy): α - C,F; β - A,B,D,K; γ - E,G,H,I,J P n Celkem váha F(p,n) Váha*F(p,n) Větev 1 1 1 11 0,182 0,000 0,000 Větev 2 1 3 11 0,364 0,811 0,295 Větev 3 1 4 11 0,455 0,722 0,328 Součet 0,623.α ( 3) Počet.γ ( 9) revizí A, E, H, K (M,R) B (N).α ( 79) B, C, D, I (N,P,Q,S,T) β (80 149) Propojení dat I (P,S,T) β (4 8).γ ( 150) C, D (Q) Funkce.α (F).β (P).γ (R) F (O) G J Obr. 1: Výsledný strom (kurzívou v závorce vyznačeny nově klasifikované moduly)
Nově klasifikované moduly Pro nová data získaná dalším testováním na dalších modulech získáváme po průchodu stromem jejich výsledné třídy. Průchod je vidět ve stromu z kurzívou označených modulech. Nezávislé proměnné (metriky: funkce, propojení dat, počet revizí) Metrika M N O P Q R S T Funkce R R F R P F P P Propojení dat 195 75 0 130 172 51 24 132 Počet revizí 2 4 11 8 7 0 5 5 Třída - - - - - - - Závěr: Pro modul Q je vysoká pravděpodobnost více než 120 chyb. Nová metoda metoda plovoucích mezí Při vytváření klasifikačního stromu předem dané (expertní) hrace metrik nemusí být vždy optimální a mohou způsobovat vytvoření stromu se slepými koncovými listy nebo s koncovými listy, které jsou stále nehomogenní přestože jsou již vyčerpány všechny metriky. Pokud však budeme procházet všechny možné meze (také i počet mezí) můžeme dostat menší hodnoty E() a tím i lepší dělení jednotlivých větví stromu. Tuto metodu nazveme metoda plovoucích mezí. Protože by bylo náročné procházet ručně všechny možné meze a zjišťovat vhodnou metriku a meze vytvořili jsme pomocný program, který propočítává mimum E() přes všechny metriky. Program generuje tyto meze v polovinách mezi všemi naměřenými hodnotami pro danou metriku. Výsledkem (výstupem) programu je vyhledání optimální metriky pro kořen (přes mimum E()). Následně je pak možné vybrat pouze moduly jdoucí určitou větví a znovu určit optimální metriku pro další kořen. Vstupní údaje Pro konstrukci stromu pomocí nové metody jsme opět použili údaje z programu CSC Atlas.
.α ( 3) Počet revizí.β (>3) A, E, H, K B, C, D, I, F, G, J.γ ( 86) Propojení dat.α ( 10) C, D, J G.β <10 86> B, F, I Funkce.α (P).β (F).γ (R) J C D Obr. 3: Aplikace klasifikačního stromu na nových modulech pro novou metodu Nezávislé proměnné (metriky: funkce, propojení dat, počet revizí) Metrika M N O P Q R S T Třída - - - - - -
Závěr: Pro moduly O a P je vysoká pravděpodobnost více než 120 chyb. Tento výsledek byl potvrzen emricky a lze tedy konstatovat, že nová metoda se v tomto případě ukázala být lepším odhadem modulů náchylných k chybám. Literatura [1] Strouhal J. A.: Klasifikační stromy ve spolehlivosti software. Sborník příspěvků konference ROBUST 2006, JČMF Praha, ISBN 80-7015-073-4, str. 461-468 [2] Hahn A., Radkova L., Achiemere G., Klement V., Strouhal J.: Evaluation of Our Therapeutic Approach to the Patients Suffering from Chroc Tintus. Acta Oto-Laryngologica, zasláno k publikaci [3] Dohnal G.: Markovské modely spolehlivosti software. Sborník příspěvků konference ROBUST 2006, JČMF Praha, ISBN 80-7015-073-4, str. 453-461 Adresa autora: Ing. Jan Adam Strouhal, České vysoké učení techcké v Praze, Fakulta strojní, Ústav techcké matematiky, Karlovo nám. 13, 121 35 Praha 2 e-mail: j.strouhal@cqr.cz Tato práce byla vytvořena v rámci projektu MŠMT 1M06047 - CQR