Original title:
Using Java PathFinder for Construction of Abstractions of Java Programs
Translated title:
Using Java PathFinder for Construction of Abstractions of Java Programs
Authors:
Yuldashev, Nodir ; Poch, Tomáš (referee) ; Parízek, Pavel (advisor) Document type: Master’s theses
Year:
2009
Language:
eng Abstract:
[eng][cze] The growing complexity of software systems makes the verification of the systems very difficult. Techniques of formal verification and analysis are used to find bugs in the code, or to prove that the code satisfies some properties. A popular automated verification technique is model checking, which uses state space traversal. However, model checking is prone to state explosion and therefore does not scale to complex multi-threaded software systems. Common solution to this problem (state explosion) is to create an abstraction of the target system, and then verify only the abstraction. We have designed and implemented a tool for construction of abstraction of Java components in behavior protocols, which is based on the Java PathFinder model checker. Results of experiments on several non-trivial components show that the tool can be used in practice.S rostoucí složitostí moderních softwarových systémů se jejich verifikace stává velmi obtížnou úlohou. Techniky formální verifikace a analýzy slouží k nalezení chyb v kódu nebo pro prokázání, že kód splňuje určité vlastnosti. Populární technika automatické verifikace je model checking, který využívá procházení stavového prostoru. Nicméně model checking je náchylný k problému exponenciálního nárustu počtu stavů (state explosion) a proto nemůže být použit pro složité vícevláknové softwarové systémy. Obecné řešení tohoto problému (state explosion) spočívá ve vytvoření abstrakce cílového systému a následném použití tohoto modelu k verifikaci. V rámci diplomové práce jsme navrhli a implementovali nástroj pro konstrukci abstrakce Java komponent v jazyce behavior protocol, který využívá model checker Java PathFinder pro procházení stavového prostoru. Výsledky experimentů na několika netriviálních komponentách ukazují, že nástroj může být použit v praxi.
Institution: Charles University Faculties (theses)
(web)
Document availability information: Available in the Charles University Digital Repository. Original record: http://hdl.handle.net/20.500.11956/20732