Automated verification of software
Automatická veri kace software
dizertační práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/35010Identifikátory
SIS: 44451
Kolekce
- Kvalifikační práce [11211]
Autor
Vedoucí práce
Oponent práce
Janeček, Jan
Ghezzi, Carlo
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Softwarové systémy
Katedra / ústav / klinika
Katedra distribuovaných a spolehlivých systémů
Datum obhajoby
24. 9. 2010
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Prospěl/a
Přes výzkumné usilí věnované automatické veri kaci software, její pronikání do softwarového průmyslu je stále spíše pomalé. Toto váhání mělo několik důvodů 1) složitost posouzení jednotlivých nástrojů, 2) složitost použití nástrojů a jejich integrace do vvývojového procesu. Pro usnadnění výběru jednotlivých nástrojů je součástí práce přehled technik založených na model checkingu kódu s porovnáním technik na základě jednotných kritérií. Navíc práce obsahuje průmyslovou případovou studii používající model checker BLAST. K posouzení vhodnosti nástrojů je potřeba i odpovovídajícího vzdělání, přikládáme tedy i své zkušenosti s přípravou dvou magisterských přednášek o formálních metodách. Integrací snadno použitelného speci kačního jazyka do model checkeru BLAST, přispíváme k usnadnění použití tohoto nástroje. Mimo to představujeme koncept unit checkingu, tedy kombinace unit testingu a model checkingu kódu. Unit checking pomáhá s integrací model checkingu kódu do vývojového procesu.
Despite the research e ort being invested into the eld of automated veri cation of software, its adoption in industry is still rather slow. Several reasons for this hesitation may be identi ed. The thesis focuses on the following two (i) dificulty of assessment of di erent tools, and (ii) difficulty of tools usage and integration in the development process. To facilitate tool assessment, we provide a comprehensive overview of code model checking techniques with evaluation based on a common set of criteria. In addition, we contribute by an industrial case study on applicability of the BLAST model checker. Since also proper education is necessary for the ability of tool assessment, we include our experience report on preparation of two master-level formal method courses. By incorporating an easy to use speci cation language into the BLAST model checker, the thesis contributes to facilitating tools usage. In addition, we introduce the concept of unit checking, a combination of unit testing and code model checking, which helps integration of code model checking in the software development process.