Chyby software. J. Sochor, J. Ráček 1

Podobné dokumenty
Řízení kvality SW produktů Jiří Sochor, Jaroslav Ráček 1

14 Úvod do plánování projektu Řízení projektu

14 Úvod do plánování projektu Řízení projektu

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Kvalita SW produktů. Jiří Sochor, Jaroslav Ráček 1

Testování SW produktů. Jiří Sochor, Jaroslav Ráček 1

Hodnoticí standard. Programátor (kód: M) Odborná způsobilost. Platnost standardu. Skupina oborů: Informatické obory (kód: 18)

X36SIN: Softwarové inženýrství. Životní cyklus a plánování

TÉMATICKÝ OKRUH Softwarové inženýrství

Architektura informačních systémů. - dílčí architektury - strategické řízení taktické řízení. operativní řízení a provozu. Globální architektura

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

Úvod. Programovací paradigmata

1 Úvod 1.1 Vlastnosti programového vybavení (SW)

Testování a verifikace softwaru

- kvalitní dokumentace k SW je vyžadovaným STANDARDEM. vzájemná provázanost SW (IS) ve velkých společnostech. aktuální přehledná srozumitelná

Virtuální ověřování výroby Robotika Process Simulate Virtual Commissioning Virtuelle Inbetriebnahme

Zajištění kvality programového vybavení - testování

ŠVP Gymnázium Ostrava-Zábřeh Úvod do programování

12 Zajištění kvality programového vybavení

12 Zajištění kvality programového vybavení

Význam měřm. Mgr. Anna Borovcová doc. Ing. Alena Buchalcevová, Ph.D. VŠE Praha

Vrstvy programového vybavení Klasifikace Systémové prostředky, ostatní SW Pořizování Využití

Vývoj řízený testy Test Driven Development

PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

Příprava dat v softwaru Statistica

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části:

KIV/ASWI 2007/2008 Techniky zajištění kvality software. Kvalita software Techniky včasné detekce

Problematika spolehlivosti lidského činitele

3 Inženýrství systémů založených na počítačích (Computer-based System Engineering)

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

3 Inženýrství systémů založených na počítačích (Computer-based System Engineering)

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

TECHNICKÁ SPECIFIKACE

Příloha č. 8. Akceptační řízení. Pořízení integrálního řešení analýzy rizik cestujících v letecké přepravě

Vývoj programů. ÚVOD DO OPERAČNÍCH SYSTÉMŮ

Testování softwaru. 10. dubna Bořek Zelinka

Koncepce (větších) programů. Základy programování 2 Tomáš Kühr

LABORATORNÍ CVIČENÍ Střední průmyslová škola elektrotechnická

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

Datasheet Úložiště Fujitsu ETERNUS LT20 S2 Páskový systém

Chytrá systémová architektura jako základ Smart Administration

SPECIFIKA CERTIFIKACE PODLE ČSN EN ISO 9001:2001 V ORGANIZACÍCH, KTERÉ SE ZABÝVAJÍ VÝVOJEM SOFTWARE

Povolání Vyšší odborné vzdělání; Bakalářský studijní program

CineStar Černý Most Praha

Metriky softwarové kvality

Chybová hlášení METODIKA MET-01/2014. SZR-56-1/OPICT-2013 počet stran 28 přílohy 0. Nahrazuje:

Inteligentní rozpočet

Firmware řídící jednotky stejnosměrného generátoru

Vývoj informačních systémů. Obecně o IS

PŘÍLOHA C Požadavky na Dokumentaci

8 Třídy, objekty, metody, předávání argumentů metod

Architektury Informačních systémů. Jaroslav Žáček

Náklady na odstranění chyby stoupají, v čím pozdější fázi životního cyklu aplikace je chyba nalezena.

Procesy a vlákna (Processes and Threads)

11 Návrh programového vybavení

VISUAL BASIC. Přehled témat

Aplikační standard - Dokumentace ICT Standardy MPSV MPSV

QAD CRM. Vladimír Bartoš. konzultant

Semináˇr Java X J2EE Semináˇr Java X p.1/23

5 Požadavky a jejich specifikace

Přednáška Principy kvantifikace integrity bezpečnosti železničních zabezpečovacích systémů Autor: Ing. Petr Hloušek, Ph.D

2. Systémová analýza SA návrhová část projektu = příručka projektu - systémový přístup k analýze problémů, nejdůležitější etapa projektu - podrobné st

Nové jazykové brány do Caché. Daniel Kutáč

TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY

5 Požadavky a jejich specifikace

WORKSHOP oboru Jaderná energetika

Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21

Obsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13

=PREZENTACE= stručná příručka základů. (verze 2007)

Architektury Informačních systémů. Jaroslav Žáček

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

Obsah. Úvod 9 Poděkování 10 Co je obsahem této knihy 10 Pro koho je tato kniha určena 11 Zpětná vazba od čtenářů 11 Errata 11

Program pro tvorbu technických výpočtů. VIKLAN - Výpočty. Uživatelská příručka. pro seznámení se základními možnostmi programu. Ing.

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina

Implementace systémů HIPS: historie a současnost. Martin Dráb

Administrační systém ústředen MD-110

Dodatečné informace k veřejné zakázce SDAT Sběr dat pro potřeby ČNB 4. série

NPRG030 Programování I, 2015/16 1 / :25:32

CompACT-Vi. CompACT-Vi. HTS Report. Gabriela Milská ID Datum administrace Dlouhodobá pozornost - Screening 1.

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

SOFTWAROVÉ INŽENÝRSTVÍ 1

Projekt Velryba Ozdravné pobyty pro děti. Semestrální projekt

Náklady na odstranění chyby stoupají, v čím pozdější fázi životního cyklu aplikace je chyba nalezena.

Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám.

A6M33SSL: Statistika a spolehlivost v lékařství Teorie spolehlivosti Přednáška 2

Sada 1 - Základy programování

1/1 ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE PROVOZNĚ EKONOMICKÁ FAKULTA PŘIJÍMACÍ ŘÍZENÍ 2017/2018

Fingerprint Verification Control

Specializace Návrhář software na základě analýzy vytváří návrh softwarových aplikací ve formě schémat a diagramů.

Karel Bittner HUMUSOFT s.r.o. HUMUSOFT s.r.o.

Versiondog Co je nového

2013 IBM Corporation

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Úvod do Linuxu. SŠSI Tábor 1

Sítě SFN Systém pro analýzu a vizualizaci pokrytí a rušení vysílacích sítí

Autorizovaný software DRUM LK 3D SOFTWARE PRO VYHODNOCENÍ MĚŘENÍ ODCHYLEK HÁZIVOSTI BUBNOVÝCH ROTAČNÍCH SOUČÁSTÍ

EXTRAKT z technické normy CEN ISO

Základy tvorby výpočtového modelu

Transkript:

Chyby software J. Sochor, J. Ráček 1

Výsledek projektu Úspěšný: Projekt je dokončen včas, bez překročení rozpočtu, se všemi specifikovanými rysy a funkcemi. S výhradami: Projekt je dokončen a funkční, ale překročil rozpočet, opožděný, méně rysů a funkcí, než bylo původně specifikováno. Neúspěšný: Projekt je zastaven před dokončením, není implementován, nebo vyřazen po instalaci. Zdroj: Johnson 2001 - Standish Report J. Sochor, J. Ráček 2

Neúspěšné projekty USA: Přestaňme vyhazovat $78 bilionů ročně UK: Vnitřní správa: 12 z 18 velkých IT projektů neuspělo: pasy, zdravotnictví,... USA: 2000 Standish Report J. Sochor, J. Ráček 3

Relativní cena odstranění závady Zdroj: Barry W. Boehm, 1981, COCOMO J. Sochor, J. Ráček 4

Prevence proti neúspěchu projektu ZAPOJENÍ vrcholového řízení a koncových uživatelů POUŽITÍ efektivního řízení projektu se spoluúčastí a zapojením vrcholového řízení na přezkoumáních POUŽITÍ efektivního řízení požadavků POUŽITÍ inkrementálního vývoje UČINĚNÍ všech smysluplných kroků při inženýrských aktivitách, t.j. dokumentace, měření, plánování, sledování, řízení kvality... Menší pravděpodobnost (totálního) neúspěchu projektu J. Sochor, J. Ráček 5

Spolehlivost SW Porucha - neschopnost systému nebo systémové komponenty provádět požadovanou funkci ve specifikovaných hranicích. Porucha může nastat, když se narazí na chybu, jejímž výsledkem je ztráta očekávané uživatelské služby. Četnost poruch 1. Poměr počtu chyb dané kategorie nebo významu k časovému intervalu; např. poruchy za měsíc. (jiný název: intenzita poruch) 2. Poměr počtu poruch k dané jednotce měření; např. poruchy za jednotku času, poruchy pro daný počet transakcí, poruchy pro daný počet běhů programu. J. Sochor, J. Ráček 6

Spolehlivost SW - Chyby Fault- chyba (defekt) 1. Chyba v kódu, která může být příčinou jednoho nebo více selhání. 2. Náhodná podmínka, která způsobuje, že funkční jednotka selhává při plnění požadované funkce. (synonymum: bug) Error - chyba (omyl) - nesprávná nebo chybějící akce uživatele, která zapříčiní chybu (defekt) v programu. J. Sochor, J. Ráček 7

Spolehlivost SW - chyby Četnost chyb na začátku systémových testů je v rozsahu 1 až 10 chyb/ksloc, s průměrem 6 chyb/ksloc. KSLOC - počet předaných proveditelných řádek zdrojového kódu, bez znovupoužitého kódu, deklarací dat, komentářů apod. Očekávaný počet chyb odstraněných při opravě jednoho selhání: 0.955 chyb J. Sochor, J. Ráček 8

Hustoty chyb J. Sochor, J. Ráček 9

MS: 5 až 15 chyb/ksloc Bruce Schneier, Counterpane Internet Security Inc., San Jose, uvedl, že Windows 2000: obsahuje 40-60 milionů řádek kódu 5-15 chyb/tisíc řádek kódu. Dále uvedl, že ačkoliv Microsoft vyvinul značné úsilí odstranit chyby před uvedením produktu na trh, pro odstranění chyb potřebuje společnost najmout 2x více lidí, než bylo bylo zapojeno do návrhu. Složitost je nepřítelem bezpečnosti. Jak [Windows 2000] vzrůstá složitost, vidíme stále více chyb." J. Sochor, J. Ráček 10

Četnost selhání v čase Musa J. Sochor, J. Ráček 11

Očekávaná neodhalená selhání Musa J. Sochor, J. Ráček 12

Některé druhy chyb algoritmická chyba chyba syntaxe chyba výpočtu a přesnosti chyba dokumentace chyba stresu nebo přetížení chyba kapacity nebo meze časová nebo součinnostní chyba chyba propustnosti nebo výkonu chyba zotavení chyba HW a systémového SW chyba nedodržení standardů a procedur J. Sochor, J. Ráček 13

IBM ortogonální klasifikace defektů (ODC) Funkce - chyba ovlivňující schopnosti, rozhraní uživatelů, rozhraní výrobku, rozhraní s HW architekturou nebo globální datovou strukturou. Rozhraní - chyba při interakci s ostatními komponentami nebo ovladači přes volání, makra, řídící bloky nebo seznamy parametrů. Ověřování - chyba v logice programu, která selže při validaci dat a hodnot před tím, než jsou použity. Přiřazení - chyba při inicializaci datové struktury nebo bloku kódu. Časování/serializace - chyba, která zahrnuje časování sdílených a RT prostředků. Sestavení/balení/spojování - chyba související s problémy s repozitory projektu, změnami vedení, nebo správou verzí. Dokumentace - chyba, která ovlivňuje publikace a návody pro údržbu. Algoritmus - chyba, která se týká efektivity nebo správnosti algoritmu nebo datové struktury, ne však jejich návrhu. J. Sochor, J. Ráček 14

OCD atributy typů defektů Programátor, který řeší defekt, obvykle zvolí typ defektu. Volba typu defektu vyplývá z eventuální opravy. Typy jsou jednoduché, tak aby byly jasné programátorovi a omezily prostor pro případná nedorozumění. Vždy se rozliší mezi tím, že něco chybí nebo je něco nesprávné. Funkční chyba je ta, která ovlivňuje významně schopnosti, rozhraní koncových uživatelů, rozhraní výrobku, rozhraní s HW nebo globální datové struktury a bude vyžadovat formální změnu návrhu. Chyba přiřazení indikuje několik řádek kódu, jako je inicializace řídících bloků nebo datových struktur. Rozhraní odpovídá chybám při interakci s jinými komponentami, moduly nebo ovladači zařízení pomocí maker, příkazů volání, řídících bloků nebo seznamu parametrů. Chillarege et al J. Sochor, J. Ráček 15

OCD atributy typů defektů Ověřování se týká logiky programu, která neuspěla při řádné validaci dat a hodnot před jejich použitím. Chyby časování/serializace jsou ty,které lze opravit zlepšeným řízením sdílených a RT prostředků. Sestavení/balení/spojování popisuje chyby, které se objevují díky chybám ve správě knihoven, řízení změn nebo ve správě verzí. Dokumentační chyby mohou ovlivnit jak publikace, tak údržbovou dokumentaci. Algoritmické chyby zahrnují problémy efektivity nebo správnosti, které mají vliv na úlohy a mohou být odstraněny pomocí (re)implementace algoritmu nebo lokální datové struktury bez potřeby požadavku na změnu v návrhu. Chillarege et al J. Sochor, J. Ráček 16

Typ defektu a asociace s etapou Typ defektu funkce rozhraní ověřování přiřazení časování/serializace sestavení/balení/spojování dokumentace algoritmus Vývojová etapa návrh návrh na nízké úrovni návrh na nízké úrovni nebo kód kód návrh na nízké úrovni knihovní nástroje publikace návrh na nízké úrovni Chillarege et al J. Sochor, J. Ráček 17

Funkční selhání podle etapy Celkové defekty a defekty typu Funkce Chillarege et al J. Sochor, J. Ráček 18

Rozložení druhů chyb při testování Chillarege et al J. Sochor, J. Ráček 19

Rozložení počátku (spouště) chyby (systémy DB2 a IMS) Chillarege et al J. Sochor, J. Ráček 20

Odkazy Software Engineering Baselines http://www.dacs.dtic.mil/techs/baselines/reliability.html Musa J.D., Iannino A., Okumoto K., Software Reliability, McGraw Hill, 1987 Musa J., Software Reliability Engineering, McGraw Hill, 1999 John D. Musa, AT&T Bell Laboratories and James Widmaier, National Security Agency, Software-Reliability-Engineered Testing, http://www.stsc.hill.af.mil/crosstalk/1996/jun/reliabil.asp S.L. Pleeger, Software Engineering, 2ed Sections 8.1-8.3 Ram Chillarege et al, Orthogonal Defect Classification - A Concept for In-Process Measurements, IEEE Transactions on Software Engineering, Vol 18, No. 11, Nov 1992. Copyright 1992 IEEE, http://www.chillarege.com/odc/articles/odcconcept/odc.html, http://www.chillarege.com/odc/ J. Sochor, J. Ráček 21