A hibakezelés tesztelése: Hibainjektálás



Hasonló dokumentumok
Hibatűrés. Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Speciális tesztelési feladatok

Hibatűrés. Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Robusztusság tesztelés

Mintapélda: Rendszertesztelés a SAFEDMI projektben

SQLServer. Probléma megoldás

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

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA01 9. hét

Automatikus tesztgenerálás modell ellenőrző segítségével

Intervenciós röntgen berendezés teljesítményszabályozójának automatizált tesztelése

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

KÖFOP VEKOP A jó kormányzást megalapozó közszolgálat-fejlesztés

Biztonságkritikus rendszerek Gyakorlat: Architektúrák

Hibatűrés. Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

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

Biztonságkritikus rendszerek architektúrája

Bokor Péter. DECOS Nemzeti Nap október 15. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Architektúra tervezési példák: Architektúrák biztonságkritikus rendszerekben

Operációs rendszerek. Bemutatkozás

Rendszermodellezés. Modellellenőrzés. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Szoftver karbantartási lépések ellenőrzése

A fejlesztési szabványok szerepe a szoftverellenőrzésben

Tesztelési szintek Tesztautomatizálás

Biztonságkritikus rendszerek architektúrája (2. rész)

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

Vizuális adatelemzés - Gyakorlat. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Az UPPAAL egyes modellezési lehetőségeinek összefoglalása. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

Modellező eszközök, kódgenerálás

Modell alapú tesztelés: célok és lehetőségek

Szoftverminőségbiztosítás

Autóipari beágyazott rendszerek. Kockázatelemzés

Informatikai technológiák szakirány Rendszertervezés ágazat

Rendszermodellezés: házi feladat bemutatás

Digitális technika (VIMIAA02) Laboratórium 5.5

Utolsó módosítás:

Felhők teljesítményelemzése felhő alapokon

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

A kockázatelemzés menete

A szolgáltatásbiztonság alapfogalmai

Mikrorendszerek tervezése

evosoft Hungary Kft.

Biztonságkritikus rendszerek architektúrája

OPERÁCIÓS RENDSZEREK. Elmélet

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ó

A szolgáltatásbiztonság alapfogalmai

Specifikáció alapú teszttervezési módszerek

Szoftverminőségbiztosítás

Hibatűrés. Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Specifikáció alapú teszttervezési módszerek

ORVOSTECHNIKAI ESZKÖZÖK GYÁRTMÁNYFEJLESZTÉSE AKTÍV ORVOSI ESZKÖZÖK FEJLESZTÉSE - PEMS V&V

Gyakorlat és házi feladat tájékoztató

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

Orvostechnikai eszközök gyártmányfejlesztése Aktív orvosi eszközök fejlesztése PEMS V&V. Nagy Katinka

Informatikai rendszertervezés

Üzletmenet folytonosság menedzsment [BCM]

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

Valószínűségi modellellenőrzés Markov döntési folyamatokkal

Modell alapú tesztelés mobil környezetben

Informatikai rendszertervezés

Az operációs rendszer szerkezete, szolgáltatásai

Hibatűrés. Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

A szolgáltatásbiztonság alapfogalmai

Adatbázisok elleni fenyegetések rendszerezése. Fleiner Rita BMF/NIK Robothadviselés 2009

Első lépések. File/New. A mentés helyét érdemes módosítani! Pl. Dokumentumok. Fájlnév: pl. Proba

Digitális eszközök típusai

Termeléshatékonyság mérés Ipar 4.0 megoldásokkal a nyomdaiparban

Digitális technika Xilinx ISE GUI használata

Mikrorendszerek tervezése

Alagútmérés, automatikus mérésfeldolgozás Robot mérőállomás programozás RTS (Robotic Total Station)

Szoftverminőségbiztosítás

Hálózati rendszerek adminisztrációja JunOS OS alapokon

Operációs Rendszerek II.

(kernel3d vizualizáció: kernel245_graph.mpg)

Újfajta, automatikus, döntési fa alapú adatbányászati módszer idősorok osztályozására

Szoftver-modellellenőrzés absztrakciós módszerekkel

Operációs rendszerek. Az X Window rendszer

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

Az informatika alapjai. 10. elıadás. Operációs rendszer

Működésbiztonsági veszélyelemzés (Hazard and Operability Studies, HAZOP) MSZ

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

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

The nontrivial extraction of implicit, previously unknown, and potentially useful information from data.

Kommunikációs rendszerek teljesítőképesség-vizsgálata

Digitális technika (VIMIAA02) Laboratórium 1

TOGAF elemei a gyakorlatban

Autóipari beágyazott rendszerek CAN hardver

Digitális technika (VIMIAA02) Laboratórium 1

Szoftver újrafelhasználás

Kvantitatív módszerek

Operációs rendszerek - bevezető

HA és DR praktikák, maximális rendelkezésreállás

Méréselmélet MI BSc 1

Intelligens kamera alkalmazás fejlesztése

Szoftver karbantartás

Nagy bonyolultságú rendszerek fejlesztőeszközei

SW-project management

Autóipari vezérlőegységek aktív környezetállósági tesztelésének módszerei

Átírás:

Szoftverellenőrzési technikák (vimim148) A hibakezelés tesztelése: Hibainjektálás Majzik István és Micskei Zoltán Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék http://www.inf.mit.bme.hu/ 1

Tartalomjegyzék Motiváció A hibainjektálás megvalósítása Hardver hibainjektálás Szoftver hibainjektálás Modell alapú hibainjektálás A hibainjektálás tervezése Hibamodellek Absztrakciós szintek A végrehajtás szempontjai Eredmények kiértékelése 2

Motiváció Hibakezelés tesztelése Hibakezelési funkciók megvalósításának ellenőrzése Példa: Biztonságkritikus rendszerek Fail-stop rendszerek: Hibadetektálás és leállás Fail-operational rendszerek: Hibatűrés megvalósítása Megvalósítási lehetőségek Valós hibák hatásának megfigyelése (naplózás): Nehézségek véletlen hibák esetén: Vagy hosszú idejű működtetés, vagy nagyszámú megfigyelés szükséges Hibainjektálás: Valóságban várható hibák bevitele Prototípuson elvégezhető Valós hibák gyorsított módon előidézhetők Célzott hibainjektálás adott hibamodell esetén 3

A hibainjektálás további alkalmazásai Megbízhatóság értékelése Véletlen hibák injektálása (nem célzott) Statisztikai jellemzés Hibadetektáló technikák hibafedése Kritikus hatású hibák aránya Megbízhatóság, rendelkezésre állás felmérése Szoftver tesztelés hatékonyságának értékelése Hibabeültetés Becslés: Megtalált beültetett hibák száma Összes beültetett hibák száma Sok feltétel kell a jó becslőhöz: Beültetett hibák reprezentatívak, eloszlásuk megfelel a valódi hibákénak, Megtalált valódi hibák száma Összes valódi hiba száma 4

Tartalomjegyzék Motiváció A hibainjektálás megvalósítása Hardver hibainjektálás Szoftver hibainjektálás Modell alapú hibainjektálás A hibainjektálás tervezése Hibamodellek Absztrakciós szintek A végrehajtás szempontjai Eredmények kiértékelése 5

Célkitűzés: Hardver hibainjektálás Valós hibaok (fault) injektálása és hatásának felmérése Korlát: Milyen közel mehetünk a valós hibaokhoz? Technológiák és eszközök Jelek közvetlen befolyásolása: RIFLE, GOOFI környezet Belső állapot megváltoztatás (pl. JTAG interfészen) Tápfeszültség befolyásolása (tüskék, kimaradás) Besugárzás (nehéz-ion, neutron) EMI: Electromagnetic interference 6

Szoftver hibainjektálás Célkitűzés: Hardver hibákra: Hibaállapot (error) injektálása (SWIFI) Korlát: Milyen jól tudjuk felmérni a hatásokat? Szoftver hibákra: Programozói hiba (bug) injektálása Korlát: Milyen becslésünk van a tipikus hibákról? Megvalósítási technológiák Futtató rendszer által nyújtott támogatás Unix rendszerhívás: ptrace() memória, regiszterek, verem elérhető JVM Tool Interface: Speciális felműszerezés (ClassFileLoadHook) Kód mutáció: Közvetlen: Forráskód mutációs operátorok definiálása AOP technológiák: Forráskód vagy bájtkód szinten Eszközök Hardver hibahatások emulációja: FIAT, FERRARI, FTAPE Alacsony szintű emuláció: DOCTOR, Xception Kód mutációs eszközök: FINE, DEFINE, G-SWFIT Protokoll rétegek hibái: ORCHESTRA, Neko, WS-FIT 7

Célkitűzés: Modell alapú hibainjektálás Nem közvetlenül a tesztelés része Valós (hardver, szoftver) hibainjektálás optimalizálása modell alapú előzetes értékeléssel Biztonsági szempontból kritikus hatású hibák azonosítása: Ezeket célszerű tényleges teszteléssel vizsgálni Hatás nélküli hibák kiszűrése Modell szinten injektált hibák alapján történő hatásfelmérés Eszközök: Korlát: Mennyire jól modellezhetők a hibák és hatások? VHDL, HDL szintű modellezés: FOCUS, MEFISTO Komponens (CPU, diszk, memória) szintű modellezés: DEPEND Általános modell alapú vizsgálatok: Modellellenőrzés, szimuláció 8

Tartalomjegyzék Motiváció A hibainjektálás megvalósítása Hardver hibainjektálás Szoftver hibainjektálás Modell alapú hibainjektálás A hibainjektálás tervezése Hibamodellek Absztrakciós szintek A végrehajtás szempontjai Eredmények kiértékelése 9

Hibainjektálás tervezése Hibamodell: Egy kép a rendszerben tesztelendő hibákról Hardver hibák, szoftver hibák Hibamodell jósága Feltételezett és valós hibamodell viszonya Redundáns elemek: növelik a költséget Nem lefedett hibák: rontják a tesztelés minőségét Lefedett valós hibák 10

A hibainjektálás absztrakciós szintjei Hardver: Szoftver: State1 State2 State3 State4 State1 State2 State3 State4 if (EVENT1 == event) state = STATE1; if (EVENT2 == event) state = STATE2; cmp eax, 1 je LABEL1 cmp eax, 2 je LABEL2 11

Ár, valósághűség A hibainjektálás megvalósítása (hardver) Hibaszimuláció a forráskódban vagy modell szinten a fejlesztőeszközben Regisztertartalom módosítása, memóriakép felülírása Síneken haladó vagy áramkörök lábán megjelenő jelek módosítása Radioaktív sugárzás, ioninjektálás, tápfeszültség zavarása, hőmérséklet 12

Hibainjektálási lehetőségek áttekintése Hardver hibainjektálás Hibaok injektálása közelíthető Besugárzás, elektromágneses zavarok, hőmérséklet Tápfeszültség tüske, jelvezetékek leragadása, összeragadása, Rugalmatlan, drága, de valósághűsége jobb Szoftver hibainjektálás Hibaállapot injektálása (hardver hibaok hatása) Processzor regisztertartalom, memóriatartalom, fájlok, üzenetek, Mutáció bevitele (vezérlés, adatkezelés) Rugalmas, olcsóbb, de valósághűsége kisebb Modell alapú hibainjektálás Optimalizálásra alkalmazható Tipikusan a komponens szintű hibajelenségek modellezése Funkciók, interakciók megváltozása Tervezési fázisban végrehajtható, de a valósághűség itt is kérdéses (legmagasabb absztrakciós szintű) 13

Teszt környezet hibainjektáláshoz Általános blokkvázlat: 14

A hibainjektálás ütemezése Egy teszt felépítése: 1. Normál állapot elérése (munkaterhelés) 2. Hiba injektálása 3. Hatások (teszt eredmények) felmérése 4. Hiba eltávolítása, alapállapot elérése 15

A hibainjektálás ütemezése Egy teszt felépítése: 1. Normál állapot elérése (munkaterhelés) 2. Hiba injektálása 3. Hatások (teszt eredmények) felmérése 4. Hiba eltávolítása, alapállapot elérése 16

Az eredmények kiértékelése Nagy mennyiségű adat feldolgozása Használható technológiák: OLAP, adatbányászat Rejtett összefüggések is felismerhetők Egy módszer: Hatások és összefüggések vizsgálata adatbányászati technikával Hiba paraméterek és a helyreállítási idő összefüggése Eredmények osztályozása Helyreállítás idejének felosztása intervallumokra Az adatbányász eszköz megvizsgálja, mi az összefüggés a hiba paraméterei és az intervallumok között (osztályozás) Egy döntési fa nyerhető ki az osztályozás szempontjairól A fontos (meghatározó) szempontok a döntési fában feljebb A döntési fában lévő döntések megadják a paraméterek és a helyreállítás idejének összefüggését 17

Példa: DBMS alapú alkalmazás hibakezelése Mi határozza meg a kiesés idejét? Hiba Konfiguráció Timing Type Target Faultload HW DBMS OS Infrastructure Measuring a Complex complex system built of COTS components TPMC Availability /TPMC Measures Output: measures Input factors 18

Példa: DBMS alapú alkalmazás hibakezelése Osztályozás a kiesés ideje alapján, döntési fa mutatja a paramétereket Yes Fault load is one of abruptly shutting down the OS of the DBMS or killing the user session or removing file ORDR, HIST, ORDL or NORD? No Yes 160 Clients experience only a very low degradation of the availability Yeswhen abruptly shutting down the OS or the DBMS, killing the user session or removing individual files. Fault injection time < 750? No Yes Configuration is Conf-B? Yes Fault load is one of dropping table WARE or ORDR or NORD or ORDL or deleting the entire TPPC schema or removing all files from the disk? No Fault load is removing all files from the disk? No Yes Yes Fault load is one of removing file CUST or removing file set DIST or NORD? No Configuration is Conf-B? No 72 No 14 28 12 30 18 10000 20000 30000 40000 50000 60000 70000 54 19

Összefoglalás Motiváció A hibainjektálás megvalósítása Hardver hibainjektálás Szoftver hibainjektálás Modell alapú hibainjektálás A hibainjektálás tervezése Hibamodellek Absztrakciós szintek A végrehajtás szempontjai Az eredmények értékelése 20