Detail předmětu
Formální analýza a verifikace
FIT-FAVAk. rok: 2014/2015
Formální analýza a verifikace systémů jako moderní alternativa a/nebo doplněk k simulaci a testování systémů. Vybrané formalismy pro specifikaci ověřovaných vlastností. Model checking: formální verifikace založená na systematickém zkoumání stavových prostorů ověřovaných systémů. Různé přístupy k redukci stavových prostorů, zejména pak redukce založená na částečném uspořádaní akcí. Metody automatické abstrakce zkoumaných systémů, zejména pak predikátová abstrakce. Moderní metody řešení problémů SAT a SMT a jejich aplikace ve formální analýze a verifikaci. Statická analýza založená na vyhledávání chybových vzorů, analýze toku dat a abstraktní interpretaci. Stručný popis několika vyspělých nástrojů pro formální analýzu a verifikaci: SMV, Spin, Slam, Blast, Java PathFinder, ARMC, FindBugs apod. (dle aktuální situace v oboru).
Jazyk výuky
Počet kreditů
Garant předmětu
Zajišťuje ústav
Výsledky učení předmětu
Získané povědomí o významu a možnostech uplatnění formálních metod při vývoji různých typů systémů a o jejich rostoucím nasazení v praxi.
Prerekvizity
Způsob a kritéria hodnocení
Osnovy výuky
- Osnova přednášek:
- Vymezení pojmu "formální analýza a verifikace". Možnosti a přínos formální analýzy a verifikace. Různé přístupy k formální analýze a verifikaci: model checking, statická analýza, dokazování teorémů.
- Stavový prostor, cesty stavovým prostorem, abstrakce stavů a přechodů. Prokládání a paralelismus. Lineární a větvící se logický čas. Bezpečnost, živost a spravedlivost.
- Temporální logiky CTL a CTL*, model checking systémů s vlastnostmi specifikovanými v těchto logikách s využitím explicitně reprezentovaných stavových prostorů.
- Binární rozhodovací diagramy pro úspornou symbolickou reprezentaci stavových prostorů a jejich implementace.
- Svazy, pevné body, Knaster-Tarského věta jako teoretický základ pro symbolický model checking.
- Symbolický model checking pro CTL a CTL*.
- Temporální logika LTL, korespondence mezi Büchi automaty a formulemi LTL, model checking systémů s vlastnostmi specifikovanými v LTL s využitím Büchiho automatů.
- Redukce stavových prostorů na základě částečného uspořádaní akcí prováděných systémem. Přehled dalších přístupů k redukci stavových prostorů (symetrie, kompozitní verifikace apod.).
- Metody automatizované abstrakce systémů, predikátová abstrakce, postupné zjemňování abstrakce na základě vylučování chybných protipříkladů, Craigova interpolace.
- Rozhodovací procedury a moderní metody řešení problémů SAT a SMT a jejich využití ve formální verifikaci (např. v rámci predikátové abstrakce).
- Klasické analýzy toku dat (živé proměnné, dostupné výrazy apod.) i některé vybrané pokročilé analýzy toku dat (např. některé analýzy ukazatelů), jejich popis pomocí tokových rovnic, metody iterativního řešení těchto rovnic.
- Abstraktní interpretace a její využití pro definici statických analýz.
- Statická analýza založená na vyhledávání chybových vzorů, zmínka o metodách dynamické analýzy (zejména pro potřeby detekce chyb v paralelismech).
- Projekt zahrnující nainstalování zvoleného nástroje pro automatickou verifikaci na formálním základě (Spin, Blast, ARMC, SMV, JPF, FindBugs, Invader, Uppaal aj.), experimenty s tímto nástrojem a sepsání eseje krátce popisující princip činnosti zvoleného nástroje (10b.) a provedené experimenty (10b. za experimenty na stávajících případových studiích, 10b. za nové případové studie). Po domluvě je možno se zaměřit i na nástroj založený na principech, které nejsou součástí přednášek (dokazování teorémů, systémy pracující v reálném časy apod.).
Osnova ostatní - projekty, práce:
Učební cíle
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky
- Jeden opravovaný projekt za 30 bodů.
- Závěrečná zkouška za 70 bodů.
- Podmínka zápočtu: min. 15 bodů získaných v průběhu semestru.
Základní literatura
Doporučená literatura
Zařazení předmětu ve studijních plánech
- Program IT-MGR-2 magisterský navazující
obor MBI , 0 ročník, zimní semestr, volitelný
obor MBS , 0 ročník, zimní semestr, povinně volitelný
obor MIN , 0 ročník, zimní semestr, povinně volitelný
obor MIS , 0 ročník, zimní semestr, povinně volitelný
obor MMI , 0 ročník, zimní semestr, volitelný
obor MMM , 0 ročník, zimní semestr, povinný
obor MPV , 0 ročník, zimní semestr, volitelný
obor MSK , 2 ročník, zimní semestr, povinně volitelný
obor MGM , 0 ročník, zimní semestr, volitelný
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
- Vymezení pojmu "formální analýza a verifikace". Možnosti a přínos formální analýzy a verifikace. Různé přístupy k formální analýze a verifikaci: model checking, statická analýza, dokazování teorémů.
- Stavový prostor, cesty stavovým prostorem, abstrakce stavů a přechodů. Prokládání a paralelismus. Lineární a větvící se logický čas. Bezpečnost, živost a spravedlivost.
- Temporální logiky CTL a CTL*, model checking systémů s vlastnostmi specifikovanými v těchto logikách s využitím explicitně reprezentovaných stavových prostorů.
- Binární rozhodovací diagramy pro úspornou symbolickou reprezentaci stavových prostorů a jejich implementace.
- Svazy, pevné body, Knaster-Tarského věta jako teoretický základ pro symbolický model checking.
- Symbolický model checking pro CTL a CTL*.
- Temporální logika LTL, korespondence mezi Büchi automaty a formulemi LTL, model checking systémů s vlastnostmi specifikovanými v LTL s využitím Büchiho automatů.
- Redukce stavových prostorů na základě částečného uspořádaní akcí prováděných systémem. Přehled dalších přístupů k redukci stavových prostorů (symetrie, kompozitní verifikace apod.).
- Metody automatizované abstrakce systémů, predikátová abstrakce, postupné zjemňování abstrakce na základě vylučování chybných protipříkladů, Craigova interpolace.
- Rozhodovací procedury a moderní metody řešení problémů SAT a SMT a jejich využití ve formální verifikaci (např. v rámci predikátové abstrakce).
- Klasické analýzy toku dat (živé proměnné, dostupné výrazy apod.) i některé vybrané pokročilé analýzy toku dat (např. některé analýzy ukazatelů), jejich popis pomocí tokových rovnic, metody iterativního řešení těchto rovnic.
- Abstraktní interpretace a její využití pro definici statických analýz.
- Statická analýza založená na vyhledávání chybových vzorů, zmínka o metodách dynamické analýzy (zejména pro potřeby detekce chyb v paralelismech).