Automatized Data Abstraction
Automatized Data Abstraction
diploma thesis (DEFENDED)
![Document thumbnail](/bitstream/handle/20.500.11956/9352/thumbnail.png?sequence=7&isAllowed=y)
View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/9352Identifiers
Study Information System: 43518
Collections
- Kvalifikační práce [11264]
Author
Advisor
Referee
Adámek, Jiří
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Software systems
Department
Department of Software Engineering
Date of defense
21. 5. 2007
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Very good
Model checking patří mezi nejrozšířenější metody verifikace softwarových systémů. Během verifikace pomocí této metody se prochází celý stavový prostor daného systému. Stavový prostor softwarových systémů je ale obrovský a není tedy možné ho celý projít v rozumném čase. Tento problem se nazývá "state explosion problem" a jednou z metod, jak ho řešit, je použití abstrakce, kdy se konkrétní data verifikovaného systému namapují na abstraktní data. Výsledný abstraktní systém pokrývá chování původního systému nezbytné pro verifikaci, ale má výrazně menší stavový prostor, což umožňuje jeho verifikaci v rozumném čase. Tato práce se zabývá automatickou abstrakcí dat. Shrnuje známé metody automatické abstrakce, tyto metody porovnává a na základě získaných vědomostí navrhuje novou metodu automatické abstrakce pro objektově orientované systémy.
Model checking belongs to one of the most favourite techniques for verification of software systems. During the verification process of model checking, the whole state space of the given system is traversed. However, the state space of software systems can be huge and thus it is not possible to traverse it in reasonable amount of time. This problem is called "state explosion problem" and it can be solved using a method of abstraction that creates an abstract program from the concrete one by mapping the concrete data to abstract data. The abstract program covers all the behavior of the concrete program that is necessary for verification, but has significantly smaller state space which allows its verification in reasonable amount of time. This work is concerned in automatized data abstraction. Three known methods for automatized data abstraction are described and compared to each other. Based on these methods a new method for automatized data abstraction of object oriented programs is designed.