VeriFIT Automatizovaná analýza a verifikace



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

9. Praktická verifikace

UITS / ISY. Ústav inteligentních systémů Fakulta informačních technologií VUT v Brně. ISY: Výzkumná skupina inteligentních systémů 1 / 14

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

Institut teoretické informatiky (ITI) na FI MU

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

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Architektury počítačů

Databázové systémy úvod

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

Matematika v programovacích

10. Techniky formální verifikace a validace

Synchronizace procesů

Struktura programu v době běhu

Synchronizace procesů

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Automatizační a měřicí technika (B-AMT)

AD4M33AU Automatické uvažování

PROGRAMOVÁNÍ. Cílem předmětu Programování je seznámit posluchače se způsoby, jak algoritmizovat základní programátorské techniky.

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

Fakulta přírodovědně-humanitní a pedagogická. Okruhy otázek pro státní závěrečné zkoušky. Bakalářské studium

Java/QE Akademie - Osnova

Základní datové struktury

Databáze I. 5. přednáška. Helena Palovská

Ústav automatizace a měřicí techniky.


1 Nejkratší cesta grafem

C2142 Návrh algoritmů pro přírodovědce

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází

1. Znalostní systémy a znalostní inženýrství - úvod. Znalostní systémy. úvodní úvahy a předpoklady. 26. září 2017

Umělá inteligence a rozpoznávání

Úvod Seznámení s předmětem Co je.net Vlastnosti.NET Konec. Programování v C# Úvodní slovo 1 / 25

V t í á t V á V s ČVU V T v v P r P a r ze

Datová věda (Data Science) akademický navazující magisterský program

Úvod. Programovací paradigmata

Moderní systémy pro získávání znalostí z informací a dat


Hardwarová realizace konečných automatů

Procesy a vlákna (Processes and Threads)

Compatibility List. GORDIC spol. s r. o. Verze


Informace pro výběr bakalářského oboru

Principy operačních systémů. Lekce 5: Multiprogramming a multitasking, vlákna

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.

Profilová část maturitní zkoušky 2017/2018

Distribuovaný systém je takový systém propojení množiny nezávislých počítačů, který poskytuje uživateli dojem jednotného systému.

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

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Úvod 9

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

Reprezentace dat v informačních systémech. Jaroslav Šmarda

Soulad studijního programu. Aplikovaná informatika


ADMINISTRACE POČÍTAČOVÝCH SÍTÍ. OPC Server

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

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

Oborová brána TECH tech.jib.cz

Software programové vybavení. 1. část

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování. Předmět: Programování

1. SYSTÉMOVÉ POŽADAVKY / DOPORUČENÁ KONFIGURACE HW A SW Databázový server Webový server Stanice pro servisní modul...

Přípravný kurz ECDL. Popis jednotlivých lekcí (modulů) je uveden v samostatných tabulkách níže. Rozsah kurzu

Zpráva o průběhu přijímacího řízení na vysokých školách dle Vyhlášky MŠMT č. 343/2002 a její změně 276/2004 Sb.

Přijímací zkouška - informatika

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

Aplikovaná informatika

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

Synergické efekty VaVpI projektů na VŠB-TU Ostrava

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

C Výzkum a vývoj v ICT

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

SYSTÉMY NAČIPU MI-SOC

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

OSA. maximalizace minimalizace 1/22

Paralelní programování

OPRAVENKA pro Seznam předmětů Matematicko-fyzikální fakulty 2002/2003

Ukázka zkouškové písemka OSY

Petrov, v. o. s. Masarykova univerzita. Inovace systému pro správu prodejních automatů

Metody návrhu algoritmů, příklady. IB111 Programování a algoritmizace

Specializace Kognitivní informatika

Přehled paralelních architektur. Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur

10 Metody a metodologie strukturované analýzy

verze GORDIC spol. s r. o.

INFORMATIKA. Charakteristika vyučovacího předmětu:

Testování a verifikace softwaru

Lineární datové struktury

Bakalářské zkoušky (příklady otázek)

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování Předmět: Programování

Oborové číslo Hodnocení - část A Hodnocení - část B Hodnocení - část A+B

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

Fronta (Queue) Úvod do programování. Fronta implementace. Fronta implementace pomocí pole 1/4. Fronta implementace pomocí pole 3/4

Bakalářský studijní obor informatika

OPERAČNÍ SYSTÉMY. Operační systém je prostředník mezi hardwarem (technickým vybavením počítače) a určitým programem, který uživatel používá.

ABBYY Automatizované zpracování dokumentů

Transakce a zamykání Jiří Tomeš

SUPERPOČÍTAČE DANIEL LANGR ČVUT FIT / VZLÚ

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

C2115 Praktický úvod do superpočítání

Certifikát o hodnocení

Transkript:

VeriFIT Automatizovaná analýza a verifikace M. Češka K. Dudka J. Fiedor L. Holík V. Hrubá L. Charvát B. Křena O. Lengál Z. Letko P. Müller P. Peringer A. Rogalewicz A. Smrčka T. Vojnar Ústav inteligentních systémů, FIT VUT 10. 4. 2013

Úvod Analýza a verifikace Řešení fundamentálních otázek informatiky: Co program dělá? Dělá program to, co má? Dělá to program správně? Jsou v programu chyby? Ondřej Lengál (FIT VUT) VeriFIT Analýza a verifikace 10. 4. 2013 2 / 13

VeriFIT Automatizovaná analýza a verifikace Testování a dynamická analýza: široké spektrum technik testování, analýza pokrytí testy, dynamická analýza. Formální analýza a verifikace: model checking, statická analýza, theorem proving. Velmi aktuální témata: řada výzkumných projektů na univerzitách a ve výzkumných centrech, podpora významných firem (Microsoft, IBM, Intel, NASA,... ), řada úspěšných spin-off firem (Coverity, GrammaTech, AbsInt,... ). Ondřej Lengál (FIT VUT) VeriFIT Analýza a verifikace 10. 4. 2013 4 / 13

Testování a dynamická analýza Analýza paralelních programů se sdílenou pamětí (Java, C/C++): Systematické testování: využití noise generátorů, snaha o maximalizaci pokrytí testy pomocí umělé inteligence. Dynamická analýza: sledování chování programu za jeho běhu, snaha extrapolovat, detekce chyb, i když se neprojeví. Detekce chyb typu: data race (nekonzistence dat při souběžném přístupu více vláken), deadlock (uváznutí programu). Ondřej Lengál (FIT VUT) VeriFIT Analýza a verifikace 10. 4. 2013 5 / 13

Testování a dynamická analýza Automatické opravování programů (self-healing): zamezení projevu detekované chyby. Testování programů využívajících transakční paměti komunikace procesů připomínající databázové transakce: start... commit (event. rollback). Dolování znalostí z dat získávání dodatečných informací z nasbíraných dat, statistika. Ondřej Lengál (FIT VUT) VeriFIT Analýza a verifikace 10. 4. 2013 6 / 13

Formální verifikace programů s dynamickou pamětí Složité datové struktury založené na ukazatelích: seznamy neomezené délky (cyklické, zanořené, skip listy,... ), stromy (binární/n-ární, s parent pointery, RB, AVL, B, B+,... ), = typicky nekonečně stavové systémy. Aplikace: převážně nízkoúrovňový kód kontejnery ve standardních knihovnách, části ovladačů pro jádro Linux, alokátory prohlížeče Mozilla Firefox,... Ondřej Lengál (FIT VUT) VeriFIT Analýza a verifikace 10. 4. 2013 7 / 13

Formální verifikace programů s dynamickou pamětí Separační logika: Predator verifikace programů se seznamy, nejlepší současný nástroj pro verifikaci programů s dynamickou pamětí, vítěz 1 kategorie SV-COMP 12, 3 kategorií SV-COMP 13. CPAlien verifikace programů se stromy. Ondřej Lengál (FIT VUT) VeriFIT Analýza a verifikace 10. 4. 2013 8 / 13

Formální verifikace programů s dynamickou pamětí Teorie automatů: Forester verifikace programů s obecnějšími datovými strukturami, reprezentace paměti pomocí konečných automatů. základní výzkum v oblasti automatů, aplikace automatů v dalších oblastech (logika,... ). Ondřej Lengál (FIT VUT) VeriFIT Analýza a verifikace 10. 4. 2013 9 / 13

Verifikace procesorů Vývoj hardware: až 80% času je věnováno ověřování správnosti snaha zredukovat tento čas na minimum. Verifikované vlastnosti: verifikace jednotlivých instrukcí, testování posloupnosti instrukcí. Aplikace výzkumu: na reálných procesorech. Přístupy: automatizované testování: bug-hunting, formální metody: důkaz korektnosti. Ondřej Lengál (FIT VUT) VeriFIT Analýza a verifikace 10. 4. 2013 10 / 13

Styl práce VeriFIT Výzkum zahrnuje: teoretické bádání: rozhodnutelnost, složitost,... f0 γ(h f0 ) = γ(h)}. e sat(h) e = u{h e Theorem. Given an abstract heap H, Proof. By induction... Ondřej Lengál (FIT VUT) VeriFIT Analýza a verifikace 10. 4. 2013 11 / 13

Styl práce VeriFIT Výzkum zahrnuje: efektivní implementace: pokročilé datové struktury a algoritmy, BDD, hash tabulky, efektivní cachování,... aplikace: paralelní programy v Javě a C/C++, manipulace ukazatelů v C/C++, komunikační protokoly, návrh mikrokontrolerů,... Ondřej Lengál (FIT VUT) VeriFIT Analýza a verifikace 10. 4. 2013 12 / 13

Zahraniční spolupráce Švédsko (Uppsala), Taiwan (Academia Sinica), Velká Británie (UCL London, Edinburgh), Izrael (IBM Haifa, Shmuel Ur Innovations), Francie (Paříž, Grenoble), Německo (Pasov). Ondřej Lengál (FIT VUT) VeriFIT Analýza a verifikace 10. 4. 2013 13 / 13