Praktyczne metody weryfikacji

Podobne dokumenty
Praktyczne metody weryfikacji

WERYFIKACJA WSPOMAGANA KOMPUTEROWO. Sławomir Lasota Uniwersytet Warszawski 2009/1020

Weryfikacja modelowa. Protokoły komunikacyjne 2006/2007. Paweł Kaczan

Systemy zdarzeniowe - opis przedmiotu

Logika Temporalna i Automaty Czasowe

Logika Temporalna i Automaty Czasowe

Logika Temporalna i Automaty Czasowe

Logika Temporalna i Automaty Czasowe

Kierunek: Informatyka Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne. Wykład Ćwiczenia

Spis treści. Przedmowa Wykaz oznaczeń Wstęp Układy kombinacyjne... 18

Projektowanie oprogramowania. Wykład Weryfikacja i Zatwierdzanie Inżynieria Oprogramowania Kazimierz Michalik

PRZEWODNIK PO PRZEDMIOCIE

Wykład 8. Testowanie w JEE 5.0 (1) Autor: Zofia Kruczkiewicz. Zofia Kruczkiewicz

Kierunek: Informatyka Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne. Wykład Ćwiczenia

JAKIEGO RODZAJU NAUKĄ JEST

Kierunek: Informatyka Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne. Wykład Ćwiczenia

Kierunek: Informatyka Poziom studiów: Studia I stopnia Forma studiów: Stacjonarne. audytoryjne. Wykład Ćwiczenia

Model-checking programów w Javie

MODELOWANIE I WERYFIKACJA PROTOKOŁU SCTP Z WYKORZYSTANIEM AUTOMATÓW CZASOWYCH ZE ZMIENNYMI

Techniki zabezpieczania kodu sprawdzanie modeli. Temat VI

Praktyczne metody weryfikacji. Wykład 9: Weryfikacja ograniczona.. p.1/40

System weryfikacyjny VERICS: stan obecny i perspektywy rozwoju

Załącznik B.2 Matryca efektów kształcenia

Formalna weryfikacja oprogramowania w lotnictwie

Zastosowanie Metod Formalnych do Specyfikacji oraz Weryfikacji Systemów Agentowych

PROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ W RAMACH EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO OPIS PRZEDMIOTU

Język opisu sprzętu VHDL

Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

ANALIZA POPRAWNOŚCI OPROGRAMOWANIA WSPÓŁBIEŻNEGO Z WYKORZYSTANIEM FUNKCJI OBSERWACJI

Kierunek Informatyka stosowana Studia stacjonarne Studia pierwszego stopnia

ECTS Razem 30 Godz. 330

miejsca przejścia, łuki i żetony

Sterowniki PLC. Elektrotechnika II stopień Ogólno akademicki. przedmiot kierunkowy. Obieralny. Polski. semestr 1

Sterowniki programowalne Programmable Controllers. Energetyka I stopień Ogólnoakademicki. przedmiot kierunkowy

Sieci Petriego. Sieć Petriego

KARTA PRZEDMIOTU. Systemy czasu rzeczywistego: D1_9

E-4EZA1-10-s7. Sterowniki PLC

Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

Repetytorium z matematyki 3,0 1,0 3,0 3,0. Analiza matematyczna 1 4,0 2,0 4,0 2,0. Analiza matematyczna 2 6,0 2,0 6,0 2,0

KARTA PRZEDMIOTU. Algorytmy i struktury danych, C4

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA Realizacja w roku akademickim 2016/17

WSKAŹNIKI ILOŚCIOWE - Punkty ECTS w ramach zajęć: Efekty kształcenia. Wiedza Umiejętności Kompetencje społeczne (symbole) MK_1. Analiza matematyczna

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści

Wykłady dla doktorantów Środowiskowych Studiów Doktoranckich w zakresie informatyki w roku akademickim 2011/2012

Egzamin / zaliczenie na ocenę*

EFEKTY KSZTAŁCENIA DLA KIERUNKU STUDIÓW: INFORMATYKA

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa i multimedia

Sławomir Kulesza. Projektowanie automatów synchronicznych

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA Realizacja w roku akademickim 2016/17

E-E-A-1008-s6. Sterowniki PLC. Elektrotechnika I stopień Ogólno akademicki. kierunkowy (podstawowy / kierunkowy / inny HES)

OPIS ZAKŁADANYCH EFEKTÓW KSZTAŁCENIA DLA KIERUNKU STUDIÓW: TECHNOLOGIE INFORMATYCZNE

Elektrotechnika I stopień Ogólno akademicki. kierunkowy (podstawowy / kierunkowy / inny HES)

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA Bieżący sylabus w semestrze zimowym roku 2016/17

Elektrotechnika II stopień ogólnoakademicki. stacjonarne. przedmiot specjalnościowy. obowiązkowy polski semestr I semestr zimowy

Modelowanie jako sposób opisu rzeczywistości. Katedra Mikroelektroniki i Technik Informatycznych Politechnika Łódzka

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa, Inżynieria oprogramowania, Technologie internetowe

Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

Inżynieria Programowania Weryfikacja i zatwierdzanie

Elektrotechnika I stopień ogólnoakademicki. niestacjonarne. przedmiot kierunkowy. obieralny polski semestr VIII semestr letni. nie. Laborat. 16 g.

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.

Czujniki obiektowe Sterowniki przemysłowe

procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

I rok. semestr 1 semestr 2 15 tyg. 15 tyg. Razem ECTS. laborat. semin. ECTS. konwer. wykł. I rok. w tym. Razem ECTS. laborat. semin. ECTS. konwer.

Elektrotechnika I stopień ogólnoakademicki. niestacjonarne. przedmiot kierunkowy. obieralny polski semestr VII semestr zimowy. nie

S Y L A B U S P R Z E D M I O T U

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Szybkie prototypowanie w projektowaniu mechatronicznym

Wykład I. Wprowadzenie do baz danych

Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego. Przetwarzanie współbieżne, równoległe i rozproszone

KIERUNKOWE EFEKTY KSZTAŁCENIA

Zakładane efekty kształcenia dla kierunku

Kierunkowe efekty kształcenia (wiedza, umiejętności, kompetencje) Kierunek Informatyka

Maciej Oleksy Zenon Matuszyk

Zakładane efekty kształcenia dla kierunku

zna metody matematyczne w zakresie niezbędnym do formalnego i ilościowego opisu, zrozumienia i modelowania problemów z różnych

3-letnie (6-semestralne) stacjonarne studia licencjackie kier. matematyka stosowana profil: ogólnoakademicki. Semestr 1. Przedmioty wspólne

Kierunek i poziom studiów: Matematyka, studia I stopnia, rok 1 Sylabus modułu: Wstęp do matematyki (Kod modułu: 03-MO1N-12-WMat)

Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017

KARTA PRZEDMIOTU. 1) Nazwa przedmiotu: INŻYNIERIA SYSTEMÓW I ANALIZA SYSTEMOWA. 2) Kod przedmiotu: ROZ-L3-20

Opis. Wymagania wstępne (tzw. sekwencyjny system zajęć i egzaminów) Liczba godzin zajęć dydaktycznych z podziałem na formy prowadzenia zajęć

Kierunek: Matematyka w technice

Modelowanie procesów współbieżnych

Spis treúci. 1. Wprowadzenie... 13

Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy. Obowiązkowy Polski VI semestr zimowy

Uniwersytet Śląski w Katowicach WYDZIAŁ MATEMATYKI, FIZYKI I CHEMII. Kierunek Matematyka. Studia stacjonarne i niestacjonarne I i II stopnia

1. Tabela odniesień efektów kierunkowych do efektów obszarowych z komentarzami. Kierunkowy efekt kształcenia - opis

Technologie informacyjne - wykład 12 -

Wykład 7. Projektowanie kodu oprogramowania

Opis efektów kształcenia dla programu kształcenia (kierunkowe efekty kształcenia) WIEDZA. rozumie cywilizacyjne znaczenie matematyki i jej zastosowań

E-E-A-1008-s5 Komputerowa Symulacja Układów Nazwa modułu. Dynamicznych. Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

Testowanie systemów informatycznych Kod przedmiotu

Załącznik 2. Symbol efektu obszarowego. Kierunkowe efekty uczenia się (wiedza, umiejętności, kompetencje) dla całego programu kształcenia

Teoria sterowania Control theory. Elektrotechnika I stopień ogólnoakademicki. niestacjonarne. przedmiot kierunkowy

Podstawy modelowania programów Kod przedmiotu

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

Sławomir Kulesza. Projektowanie automatów asynchronicznych

Systemy Optymalizacji Oświetlenia Zewnętrznego Kontekst Informatyczny. Dr hab. Leszek Kotulski, prof. AGH Dr Adam Sędziwy KIS WEAIiIB AGH

Transkrypt:

Praktyczne metody weryfikacji Sławomir Lasota Uniwersytet Warszawski semestr zimowy 06/07. p.1/??

I. Motywacja czyli po co?. p.2/??

czerwiec 1996. p.3/??

nieobsłużony wyjatek szacunkowy koszt: 600 mln euro. p.4/??

grudzień 1999 awaria z powodu niezainicjowanej zmiennej. p.5/??

lipiec 2001 przepełnienie bufora szacunkowy koszt: 2.5 miliarda USD. p.6/??

Błędy kosztowne nieakceptowalne (ang. safety-critical) Rozwiazanie: formalna weryfikacja = dowód poprawności. p.7/??

II. Weryfikacja, ale jak?. p.8/??

Weryfikacja modelowa (ang. model checking) model M możliwe zachowania (abstrakcja rzeczywistego systemu) specyfikacja własności φ dopuszczalne zachowania test M φ. p.9/??

Przykładowe własności φ: bezpieczeństwo: wszystkie stany osiagalne spełniaja dany wymóg żywotność: zawsze osiagniemy stan, w którym dany wymóg jest spełniony sprawiedliwość (ang. fairness): zasób zostanie przyznany,... o ile będziemy konsekwentnie go żadać. p.10/??

Inne podejścia testowanie audyt kodu źródłowego dowodzenie poprawności (proof checker) analiza statyczna.... p.11/??

Weryfikacja interakcyjna problem sprowadza się do dowodzenia twierdzeń narzędzie wspomagajace (ang. proof checker) wymaga pracy eksperta. p.12/??

Weryfikacja modelowa analiza dynamiczna vs. statyczna przeszukiwanie stanów osiagalnych algorytm weryfikacji, narzędzie w pełni automatyczna. p.13/??

Weryfikacja modelowa zalety w pełni automatyczna: tworzymy model formułujemy wymagania weryfikujemy kontrprzykład, gdy odpowiedź negatywna. p.14/??

Weryfikacja modelowa ograniczenia zlożoność obliczeniowa, eksplozja stanów nie weryfikacja, tylko tropienie błędów weryfikujemy model a nie sam system sprawdzamy tylko wymaganie φ, innych nie błędy w narzędziach wykonanie abstrakcji wymaga pracy eksperta. p.15/??

Od rzeczywistości do modelu system M M M wymagania φ M φ?. p.16/??

Motto: celem formalnej weryfikacji nie jest tworzenie poprawnego oprogramowania, lecz dostarczenie metodologii, która pozwoliłaby zwiększyć niezawodność (zmiejszyć liczbę błędów).. p.17/??

Dziedziny zastosowań: sprzęt (SMV, NuSMV, Murphi) protokoły, oprogramowanie systemowe, sterowniki (Spin) oprogramowanie (BLAST, PathFinder, CBMC) systemy zależne od czasu (Uppaal, Kronos) systemy stochastyczne (PRISM). p.18/??

Zagadnienia teoretyczne teoria języków i automatów logiki temporalne, rozstrzygalność i złożoność algorytmika matematyczne modele systemów współbieżnych teoria grafów. p.19/??

Zagadnienia praktyczne heurystyki dla wydajności zastosowanie do rzeczywistych, dużych systemów właczenie weryfikacji do procesu projektowania sprzętu i oprogramowania. p.20/??

III. Jaki model?. p.21/??

Jaki model? funkcyjny: dane wynik reaktywny: interakcja z otoczeniem działanie może się nie kończyć wymagania = własności temporalne przykłady: system operacyjny, bankomat, serwer WWW,.... p.22/??

Model = sterowanie + interakcja brak skomplikowanych danych i skomplikowanych obliczeń na danych kompozycjonalność dopuszczamy niedeterminizm ścisłość matematyczna. p.23/??

np. ABP. p.24/??

Własności modeli modele wysokiego poziomu (abstrakcyjne), niedospecyfikowane (częściowe) niedeterminizm interakcja pomiędzy składowymi współbieżność prototypowanie/symulacja model wykonywalny weryfikacja formalna semantyka matematyczna. p.25/??

Typowy model: FSM (stany i przejścia) + zmienne (np. liczniki) + komunikacja (kanały komunikacyjne) + zegary +... Stan = punkt sterowania + wartości zmiennych + zawartość kanałów komunikacyjnych +.... p.26/??

Opis kompozycjonalny złożenie równoległe przemianowanie (kopie modułu)... Zło żenie równoległe synchroniczne (hardware) asynchroniczne (software lub anynchr. hardware). p.27/??

Inne modele ró żnice pojęcie stanu atomowy krok obliczeń interakcja równoważność semantyczna. p.28/??

Inne modele przykłady różne rozszerzenia automatów algebra procesów: CSP, CCS, ACP, rachunek Π,... języki synchronniczne: SCCS, Esterel, Lustre sieci Petriego pamięć dzielona: Promela (Spin). p.29/??

Eksplozja stanów! M = M 1... M n S S 1... S n. p.30/??

Metody walki z eksplozja podejście symboliczne symboliczna weryfikacja modelowa ograniczona weryfikacja modelowa (ang. bounded model checking) niezależność modułów redukcje częściowo-porzadkowe. p.31/??

IV. Historia. p.32/??

1960 Dowodzenie poprawności programów [Dijkstra] [Floyd] [Hoare] podejście strukturalne. p.33/??

1970 Boyer Moore prover: automatyczne dowodzenie poprawności prostych programów w LISPie [Owicki-Gries] rozszerzenie Hoare a dla programów współbieżnych [Pnueli] logika temporalna dla systemów reaktywnych weryfikacje protokołów, zjawisko eksplozji stanów. p.34/??

1980 Model checking [Clarke, Emerson], [Queille, Sifakis] model explicite (skończony system przejść, automat) specyfikacja = formuła logiki temporalnej (później też automat) weryfikacja automatyczna kontrprzykład gdy odpowiedź negatywna zweryfikowano małe układy cyfrowe, znaleziono błędy. p.35/??

przełom lat 80 i 90 Metody walki z eksplozja: metody abstrakcji symboliczna weryfikacja modelowa redukcje częściowo-porzadkowe. p.36/??

1990 systemy nieskończeniestanowe, np. zależne od czasu parametryczne narzędzia (SMV, Murphi,... ) zastosowania przemysłowe zastosowanie SAT-solverów: ograniczona weryfikacja modelowa. p.37/??

2000 narzędzia dla rozszerzonych modeli: zależnych od czasu stochastycznych... zastosowania przemysłowe cd nowe dziedziny zastosowań, np. bioinformatyka weryfikacja oprogramowania (ang. software model checking). p.38/??

Plan wykład laboratorium LTL, translacja do ω-automatów (3x) SPIN (3x) CTL, OBDD, symboliczna w.m. (3x) NuSMV (3x) abstrakcje (2x) Blast (1x) redukcje częśc.-porz. (1x) ograniczona w.m., redukcja do SAT (1x) NuSMV automaty czasowe (2x) Uppaal (1x) weryfikacja param. (1x) weryfikacja stochast. (1x). p.39/??