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

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

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

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

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

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

Techniki zabezpieczania kodu sprawdzanie modeli. Temat VI

Model-checking programów w Javie

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

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 i tryb studiów: Stacjonarne. Wykład Ćwiczenia

Formalna weryfikacja oprogramowania w lotnictwie

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

Wykład I. Wprowadzenie do baz danych

Kierunek Informatyka stosowana Studia stacjonarne Studia pierwszego stopnia

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

PRZEWODNIK PO PRZEDMIOCIE

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

System weryfikacyjny VERICS: stan obecny i perspektywy rozwoju

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

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

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

JAKIEGO RODZAJU NAUKĄ JEST

Język opisu sprzętu VHDL

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

miejsca przejścia, łuki i żetony

Kod doskonały : jak tworzyć oprogramowanie pozbawione błędów / Steve McConnell. Gliwice, cop Spis treści. Wstęp 15.

Modelowanie i analiza systemów informatycznych

Techniki komputerowe w robotyce

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

ECTS Razem 30 Godz. 330

Sieci Petriego. Sieć Petriego

Maciej Oleksy Zenon Matuszyk

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

Logika Temporalna i Automaty Czasowe

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

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

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

Logika Temporalna i Automaty Czasowe

Testowanie oprogramowania

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

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

Modelowanie procesów współbieżnych

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

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

Systemy zabezpieczeń

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

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

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

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

Technologie informacyjne - wykład 12 -

SARW S.C. Witold Rejner, Tomasz Wieczorek ul. Zegrzyńska 28A/ Jabłonna

HARMONOGRAM EGZAMINÓW - rok akademicki 2015/ semestr zimowy. Kierunek ENERGETYKA - studia inżynierskie środa

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

Systemy Czasu Rzeczywistego. dr inż. Piotr Szwed C3, pok

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

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

Egzamin / zaliczenie na ocenę*

Sławomir Kulesza. Projektowanie automatów synchronicznych

Prezentacja specjalności Inżynieria Systemów Informatycznych

Czujniki obiektowe Sterowniki przemysłowe

Prezentacja specjalności Inżynieria Systemów Informatycznych

Szybkie prototypowanie w projektowaniu mechatronicznym

Lokalizacja Oprogramowania

Kurs Projektowanie i programowanie z Distributed Safety. Spis treści. Dzień 1. I Bezpieczeństwo funkcjonalne - wprowadzenie (wersja 1212)

Modelowanie i Programowanie Obiektowe

Zastosowanie Metod Formalnych do Specyfikacji oraz Weryfikacji Systemów Agentowych

Multiprocessor Shared-Memory Information Exchange. Damian Klata, Adam Bułak

KARTA PRZEDMIOTU. Systemy czasu rzeczywistego: D1_9

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

Wprowadzenie Logiki temporalne Przykłady użycia Bibliografia. Logiki temporalne. Andrzej Oszer. Seminarium Protokoły Komunikacyjne

Etapy życia oprogramowania

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

Dwuwymiarowy sposób na podróbki > 34

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

PRZEWODNIK PO PRZEDMIOCIE

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

Odniesienie do obszarowych efektów kształcenia Kierunkowe efekty kształcenia WIEDZA (W)

1.7. Eksploracja danych: pogłębianie, przeszukiwanie i wyławianie

Jadro monolityczne vs. mikrojadro. Mikrojadro. Olga Kowalczuk. 9 grudnia 2008

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

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

Formacyjne znaczenie programowania w kształceniu menedżerów

Możliwe strategie tworzenia niezawodnego oprogramowania:

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

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

Dni: 3. Opis: Adresaci szkolenia

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows.

Grafy i sieci w informatyce - opis przedmiotu

HARMONOGRAM EGZAMINÓW

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

Autor: Bączkowski Karol Promotor: dr inż. Paweł FIGAT

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

Transkrypt:

Praktyczne metody weryfikacji Sławomir Lasota Uniwersytet Warszawski semestr letni 08/09. p.1/50

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

Arianne 5, czerwiec 1996. p.3/50

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

Mars Polar Lander, styczeń 1999 nasa.gov. p.5/50

grudzień 1999 awaria z powodu niezainicjowanej zmiennej wikipedia.org. p.6/50

Code Red, lipiec 2001 news.cnet.com usterka w serwerze Microsoft Internet Information Server (przepełnienie bufora) szacunkowy koszt: 2.5 miliarda USD. p.7/50

Therac-25, 1985-87 www.cs.jhu.edu/ pari race condition przynajmniej 6 ofiar. p.8/50

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

II. Weryfikacja, ale jak?. p.10/50

Weryfikacja a posteriori produkcja wymagania system sa błędy weryfikacja nie ma błędów. p.11/50

system modelowanie wymagania formalizacja model systemu weryfikacja specyfikacja wymagań symulacja NIE + kontrprzykład BŁAD OK. p.12/50

Weryfikacja modelowa (ang. model checking) model M możliwe zachowania (abstrakcja rzeczywistego systemu) specyfikacja własności φ dopuszczalne zachowania automatycznie sprawdzamy, czy M φ. p.13/50

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): pożadana własność... będzie zachodzić nieskończenie wiele razy. p.14/50

Cechy charakterystyczne model formalny (stany i przejścia) analiza dynamiczna (przeszukiwanie stanów osiagalnych) wymagania = formuła temporalna metoda w pełni automatyczna kontrprzykład (gdy odpowiedź negatywna). p.15/50

Nagroda Turinga 2008 Ed Clarke Allen Emerson Joseph Sifakis [Clarke, Emerson 1981] [Queille, Sifakis 1982]. p.16/50

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

Weryfikacja modelowa dowodzenie twierdzeń: M φ w pełni automatyczne nie wymaga pracy eksperta vs Weryfikacja interakcyjna dowodzenie twierdzeń narzędzie wspomagajace (ang. proof checker) wymaga pracy eksperta. p.18/50

Od rzeczywistości do modelu system M M M wymagania φ odpowiedni poziom abstrakcji proces tylko częściowo automatyczny M φ?. p.19/50

Weryfikujemy nie system, lecz jego model! WERYFIKACJA = sprawdzenie, czy wytwarzamy to, co trzeba. WALIDACJA = sprawdzenie, czy weryfikujemy to, co trzeba.. p.20/50

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.21/50

Czym zajmuje się teoretyk? formalny model i specyfikacja złożoność obliczeniowa algorytmy, czasem heurystyczne lub częściowe podejścia symboliczne metody abstrakcji.... p.22/50

Dziedziny teoria języków i automatów logiki temporalne, rozstrzygalność i złożoność matematyczne modele systemów współbieżnych algorytmy grafowe. p.23/50

Czym zajmuje się praktyk? dostosowanie ogólnej metodologii do specyfiki zastosowania heurystyki dla wydajności zastosowanie do rzeczywistych, dużych systemów właczenie weryfikacji do procesu projektowania sprzętu i oprogramowania zarzadzanie procesem weryfikacji.... p.24/50

III. Jaki model?. p.25/50

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.26/50

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

np. ABP. p.28/50

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.29/50

Typowy model: maszyna skończeniestanowa (stany i przejścia) + zmienne (np. liczniki) + komunikacja (kanały komunikacyjne) + zegary +... Stan = punkt sterowania + wartości zmiennych + zawartość kanałów komunikacyjnych +.... p.30/50

Opis kompozycjonalny lokalne składowe globalny system złożenie równoległe przemianowanie (kopie modułu)... Złożenie równoległe synchroniczne (hardware) asynchroniczne (software lub anynchr. hardware). p.31/50

Warianty pojęcie stanu atomowy krok obliczeń interakcja równoważność semantyczna. p.32/50

Inne modele różne rozszerzenia automatów algebra procesów: asynchroniczne: CSP, CCS, ACP, rachunek Π,... synchronniczne: SCCS, Esterel, Lustre sieci Petriego. p.33/50

. p.34/50

Eksplozja stanów! M = M 1... M n S S 1... S n. p.35/50

weryfikacja brak pamięci NIE + kontrprzykład redukcja modelu TAK. p.36/50

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.37/50

IV. Za i przeciw. p.38/50

Weryfikacja modelowa zalety uniwersalna pozwala na częściowa weryfikację skuteczność niezależna od prawdopodobieństwa błędu w pełni automatyczna informacja diagnostyczna kontrprzykład solidne matematyczne podstawy sukces przemysłowy łatwa integracja z cyklem produkcyjnym. p.39/50

Weryfikacja modelowa ograniczenia zlożoność obliczeniowa, eksplozja stanów źle sobie radzi z danymi nie weryfikacja, tylko tropienie błędów weryfikujemy model a nie sam system sprawdzamy tylko sformułowane wymaganie φ wykonanie abstrakcji wymaga jednak pracy eksperta błędy w narzędziach weryfikujacych brak generalizacji/parametryzacji. p.40/50

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.41/50

Wybrane osiagnięcia weryfikacji modelowej powszechnie stosowana w cyklu produkcji sprzętu NASA weryfikuje sondy: Deep Space 1, PathFinder,... znaleziony atak na protokół Needhama-Schroedera [Lowe 1995] 10 476 stanów.... p.42/50

V. Historia. p.43/50

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

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.45/50

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.46/50

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

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.48/50

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.49/50

Plan wykład laboratorium LTL, translacja do ω-automatów (3x) SPIN (4x) redukcje częśc.-porz. (1x) CTL, OBDD, symboliczna w.m. (3x) NuSMV (4x) ograniczona w.m., redukcja do SAT (1x) abstrakcje (2x) CBMC (2x) automaty czasowe (2x) Uppaal (3x) weryfikacja stochastyczna (1x) W przyszłym tyg. nie ma labu!. p.50/50