Unbounded Model Checking

Podobné dokumenty
Temporální Logiky. Stefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti 1 / 19

Formální Metody a Specifikace (LS 2011) Formální metody pro kyber-fyzikální systémy

Stefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

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

10. Techniky formální verifikace a validace

Principy indukce a rekursivní algoritmy

Vyhněte se katastrofám pomocí výpočetní matematiky

IV113 Validace a verifikace. Formální verifikace algoritmů. Jiří Barnat

ROZHODOVACÍ PROCEDURY A VERIFIKACE PAVEL SURYNEK, KTIML

Stefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti 1 / 16

Matematická indukce a správnost programů. Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce 13

Rekurentní rovnice, strukturální indukce

Základní datové struktury III: Stromy, haldy

Výroková a predikátová logika - V

Výroková a predikátová logika - III

Stefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti 1 / 19

Rekurentní rovnice, strukturální indukce

FIT ČVUT MI-LOM Lineární optimalizace a metody. Dualita. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

IV113 Validace a verifikace

Výroková a predikátová logika - X

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

Binární vyhledávací stromy pokročilé partie

Třídy složitosti P a NP, NP-úplnost

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

Pumping lemma - podstata problému. Automaty a gramatiky(bi-aag) Pumping lemma - problem resolution. Pumping lemma - podstata problému

Logika XI. RNDr. Kateřina Trlifajová PhD. Katedra teoretické informatiky Fakulta informačních technologíı BI-MLO, ZS 2011/12

Výroková a predikátová logika - VII

Výroková a predikátová logika - XIII

Výroková a predikátová logika - IX

NP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

Cvičení z logiky II.

Analýza Petriho sítí. Analýza Petriho sítí p.1/28

Výroková a predikátová logika - II

Stromy, haldy, prioritní fronty

Výroková a predikátová logika - IV

Každé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α

( 2 ) ( 8) Nerovnice, úpravy nerovnic. Předpoklady: 2114, Nerovnice například 2x

Výroková a predikátová logika - III

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA

ŘÍKÁME, ŽE FUNKCE JE ČÁSTEČNĚ SPRÁVNÁ (PARTIALLY CORRECT), POKUD KDYŽ JE SPLNĚNA PRECONDITION

Výroková a predikátová logika - II

Sémantika výrokové logiky. Alena Gollová Výroková logika 1/23

NEJKRATŠÍ CESTY I. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

Výroková a predikátová logika - II

Výroková a predikátová logika - IX

Matematická logika. Rostislav Horčík. horcik

PODOBÁ SE JAZYKU C S NĚKTERÝMI OMEZENÍMI GLOBÁLNÍ PROMĚNNÉ. NSWI162: Sémantika programů 2

Seminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr

Algoritmy. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 15. dubna / 39

V každém kroku se a + b zmenší o min(a, b), tedy vždy alespoň o 1. Jestliže jsme na začátku dostali 2

Matematická logika. Miroslav Kolařík

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

IV113 Validace a verifikace. Detekce akceptujícího cyklu. Jiří Barnat

4. Trojúhelníkový rozklad p. 1/20

Základy matematiky pro FEK

Testování a verifikace softwaru

IV113 Validace a verifikace. Převod LTL formule na Büchi automat. Jiří Barnat

Aproximace funkcí. Numerické metody 6. května FJFI ČVUT v Praze

Kapitola 7: Návrh relačních databází. Nástrahy relačního návrhu. Příklad. Rozklad (dekompozice)

ČVUT FEL Katedra telekomunikační techniky, K prosince Radek Mařík Ověřování modelů II 6. prosince / 39

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

Třída PTIME a třída NPTIME. NP-úplnost.

Matematická logika. Rostislav Horčík. horcik

Principy indukce a rekurentní rovnice

x 2 = a 2 + tv 2 tedy (a 1, a 2 ) T + [(v 1, v 2 )] T A + V Příklad. U = R n neprázdná množina řešení soustavy Ax = b.

Hranová konzistence. Arc consistency AC. Nejprve se zabýváme binárními CSP. podmínka odpovídá hraně v grafu podmínek

Příklad z učebnice matematiky pro základní školu:

Temporální logiky. Czech Technical University Faculty of Electrical Engineering Department of Telecommunication Engineering Prague CZ

Model Checking pro Timed Automata. Jiří Vyskočil 2011

Predik atov a logika - pˇredn aˇska () Predik atov a logika - pˇredn aˇska / 16

Úloha - rozpoznávání číslic

Matematická indukce. Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce 3

Usuzování za neurčitosti

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice

12. VHDL pro verifikaci - Testbench I

Dijkstrův algoritmus

ČVUT FEL, K December 12, Radek Mařík Ověřování modelů II December 12, / 30

Základy algoritmizace

Výroková a predikátová logika - XII

Použití dalších heuristik

Výpočet globálního stavu

Aplikovaná numerická matematika - ANM

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

Úvod do informatiky. Miroslav Kolařík

Základy logiky a teorie množin

Matematická logika. Miroslav Kolařík

Učební texty k státní bakalářské zkoušce Matematika Základy lineárního programování. študenti MFF 15. augusta 2008

Numerické řešení nelineárních rovnic

prof. RNDr. Čestmír Burdík DrCs. prof. Ing. Edita Pelantová CSc. BI-ZMA ZS 2009/2010

Základy elementární teorie čísel

Zpracoval: 7. Matematická indukce a rekurse. Řešení rekurentních (diferenčních) rovnic s konstantními koeficienty.

Základy elementární teorie čísel

Dynamické programování

Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i,

TGH06 - Hledání nejkratší cesty

Algoritmus pro hledání nejkratší cesty orientovaným grafem

Verifikace Modelů a UPPAAL

označme j = (0, 1) a nazvěme tuto dvojici imaginární jednotkou. Potom libovolnou (x, y) = (x, 0) + (0, y) = (x, 0) + (0, 1)(y, 0) = x + jy,

Základy teorie množin

Hilbertovský axiomatický systém

Transkript:

Unbounded Model Checking Stefan Ratschan Katedra číslicového návrhu Fakulta informačních technologíı České vysoké učení technické v Praze 25. října 2011 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti 1 / 15

Kde jsme v přednášce Už známe: Metody formální specifikace na základě temporální logiky Modely systémů na základě přechodových systémů/automatů Jak ověřit že určitý model splňuje specifikaci (tj. model checking)? Bounded model checking: Pro LTL formuli φ, pro každé n, = φ implikuje BMC(φ, n) BMC(φ, n) nemůže dokázat = φ ale může počítat protipříklad pokud = φ neplatí. Dnes: Algoritmy které umí dokázat = φ Gs, množina stavů může být nekonečná 2 / 15

Model Checking = Gs Verifikace bezpečnosti (Safety verification) = Gs právě když pro každou cestu π, pro každé k 0, π(k) s BMC(Gs, n) pro každý n-prefix π cesty, pro každé k tak, že 0 k n, π(k) s Theorem ([Biere et al., 2003]) pro každý konečný přechodový systém, pro každou LTL formule φ existuje n tak, že pro každé n n, BMC(φ, n ) právě když = φ Zejména: = Gs právě když BMC(Gs, S ) 3 / 15

Důkaz Předpokládáme BMC(Gs, S ), = Gs, odvodíme rozpor. not (pro každou cestu π, pro každé k 0, π(k) s) existuje cesta π (tj. protipříklad), existuje k 0, π(k) s Necht π je taková cesta, a k 0 tak, že π(k) s Dokážeme že existuje cesta π, existuje k, tak, že 0 k S, π (k ) s což je v rozporu s BMC(Gs, S ). Pokud k S, π už je hledána cesta. Pokud k > S, pak π musí mít cyklus před k. Takové cykly můžeme odstranit až k S. Tedy: Pro ověřování = Gs stačí ověřit BMC(Gs, S ). Opravdu stačí? S může být obrovské! případ nekonečného počtu stavů? 4 / 15

Nekonečný počet stavů Příklad: Počítačové programy bez procedur, množina stavů {1,..., loc} N k, přičemž k je počet proměnných. Tento případ, a hodně dalších: verifikace bezpečnosti nerozhodnutelná Ale: v praxi často funguje Lépe než modelování problému s proměnnými s (konečným) rozsahem {0,..., 2 64 1} Do konce semestru budeme diskutovat další příklady 5 / 15

Induktivní verifikace bezpečnosti Chceme dokázat že pro každou cestu π, pro každé k 0, π(k) s Můžeme to ekvivalentním způsobem psát na základě množin: {π(k) π cesta, k N 0 } s Takovou množinu s také nazýváme invariantem Cf.: invariant cyklu Množinu na levé straně nazýváme dosažitelnou množinou (reach set) a píšeme R Jak ověřit R s? Indukce (Strukturální indukce přes výpočetní strom): Důkaz že pro každou cestu π, π(0) s, tj. {π(0) π cesta} s Důkaz že pro každou transici (x, x ) tak, že x s, také x s, t.j. {x (x, x ) T, x s} s 6 / 15

Induktivní verifikace bezpečnosti Příklad neinduktivního invariantu Sice je invariant, ale nemůžeme tu skutečnost přímo dokázat indukcí Zkusíme najít jinou množinu V tak, že V s, a navíc V splňuje uvedené podmínky induktivity Občas už máme návrh pro V : expert může hádat určitý V, anebo může být součást dokumentace (viz. assert) Jak ověřit že takový návrh opravdu splňuje podmínky induktivity? 7 / 15

Příklad: Jak hádat induktivní invariant 1: r false 2: for i l; i u; i i + 1 do 3: if a[i] = 7 then r true 4: S = {(pc, i, l, u, r, a) pc {1, 2, 3, 4}, i, l, u, Z, r B, a {1,..., n} Z} = G{(pc, i, l, u, r, a) φ} přičemž φ je pc = 4 (r ( k. l k u a[k] = 7)) Je to invariant, ale není induktivní. Proč? {(pc, i, l, u, r, a) r ( k. l k i a[k] = 7)} Ted? 8 / 15

Ověřování podmínky induktivity x. x I x V x x. [(x, x ) T x V ] x V Chtěli bychom používat příslušný řešič: Konečný případ: SAT N, lineární rovnice a nerovnice: MILP Řešič pro teorie poĺı, seznamů atd. Jak zacházet s univerzálním kvantifikátorem? Pokud takové V ještě neznáme? 9 / 15

Výpočet induktivní množiny Intuice: V musí splňovat dva podmínky induktivity: V musí obsahovat množinu počátečních stavů I, tudíž začínáme s tím že V I Žádný krok nesmí opustit V. Pokud to dělá, přidáme příslušné stavy let V be a superset of I while there is a transition (x, x ) such that x V, x V and V s do let V be a superset of V {x (x, x ) T, x V } return V s Pozorování: Pokud algoritmus skončí a V s, pak V je induktivní V k-tém cyklu, V je nad-množinou všech stavů které jsou dosažitelné po k krocích. Pokud bereme = místo, a algoritmus skončí, pak V = R. 10 / 15

Výpočet induktivní množiny let V be a superset of I while there is a transition (x, x ) such that x V, x V and V s do let V be a superset of V {x (x, x ) T, x V } return V s Terminace: konečný počet stavů? nekonečný počet? Jak velká nad-aproximace? Příliš velká: V sice je invariant, ale ne V s Příliš malá: algoritmus neskončí (v případě nekonečného počtu stavů), anebo representace množiny příliš složitá Obecně: Dosažitelná množina R vždy je induktivní: I R {x (x, x ) T, x R} R 11 / 15

Zpětný výpočet Pro všechny algoritmy jsou verze které pracují opačným směrem: zpátky od množiny nebezpečných stavů do množiny iniciálních stavů. Reimplementace není potřeba: I. = S \ s T. = {(x, x) (x, x ) T } Check = G(S \ I ) 12 / 15

Libovolné LTL formule V případě konečného počtu stavů jsou metody pro ověřování libovolných LTL (CTL) formuĺı. Nástroje: SPIN, SAL, NuSMV 13 / 15

Závěr Indukce je k něčemu! Pomoci indukce můžeme ověřit nekonečný počet cest nekonečné délky! 14 / 15

Literature I Armin Biere, Alessandro Cimatti, Edmund M. Clarke, Ofer Strichman, and Yunshan Zhu. Bounded model checking. volume 58 of Advances in Computers, pages 117 148. Elsevier, 2003. doi: DOI:10.1016/S0065-2458(03)58003-2. K.L. McMillan. Interpolation and SAT-based model checking. In Computer Aided Verification, number 2725 in LNCS, pages 1 13, 2003. 15 / 15