STP řešič pro OpenSMT
STP solver for OpenSMT
bakalářská práce (OBHÁJENO)

Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/121027Identifikátory
SIS: 224143
Kolekce
- Kvalifikační práce [11608]
Autor
Vedoucí práce
Oponent práce
Kučera, Petr
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Obecná informatika
Katedra / ústav / klinika
Katedra distribuovaných a spolehlivých systémů
Datum obhajoby
14. 9. 2020
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Čeština
Známka
Výborně
Klíčová slova (česky)
SMT, OpenSMT, STP, diferenční logika, DPLL(T)Klíčová slova (anglicky)
SMT, OpenSMT, STP, difference logic, DPLL(T)Simple Temporal Problem je jedním z nejdůležitějších plánovacích problémů. V kontextu formální verifikace úzce souvisí s problémem SMT, kde na něj narazíme při řešení teorie dife- renční logiky. V této práci se věnujeme doplnění řešiče pro diferenční logiku do vyvíjejícího se SMT řešiče OpenSMT. Zkoumáme existující postupy pro řešení problému a porovnáváme je s ohledem na možnost jejich využití v kontextu OpenSMT. Detailně rozebíráme algoritmus založený na vyčerpávající propagaci teorie a na jeho bázi navrhujeme a vytváříme efektivní im- plementaci řešiče. Tuto implementaci následně testujeme a srovnáváme s ostatními současnými SMT řešiči a ukazujeme tak její srovnatelnou výkonnost. 1
The Simple Temporal Problem is one of the fundamental scheduling problems. In the context of formal verification, it is closely related to SMT, where we can encounter it while solving the theory of difference logic. In this work we create a solver for difference logic as a part of the OpenSMT solver. We look at existing approaches and evaluate their applicability to OpenSMT. Then we analyze an algorithm based on exhaustive theory propagation and use it to create an efficient implementation of the solver. This implementation is tested and compared to other current SMT solvers, proving its comparable efficiency. 1