Collection and Visualisation of Data in Yaga SMT solver
Sběr a vizualizace dat pro Yaga SMT řešič
bakalářská práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/206722Identifikátory
SIS: 283926
Kolekce
- Kvalifikační práce [11993]
Autor
Vedoucí práce
Oponent práce
Parízek, Pavel
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Informatika se specializací Programování a vývoj software
Katedra / ústav / klinika
Katedra distribuovaných a spolehlivých systémů
Datum obhajoby
5. 9. 2025
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Výborně
Klíčová slova (česky)
Yaga|SMT řešič|MCSat|vizualizaceKlíčová slova (anglicky)
Yaga|SMT solver|MCSat|visualizationPro účely formální verifikace softwaru jsou používány takzvané SMT řešiče. Yaga je SMT řešič, který je vyvíjen na Univerzitě Karlově a který implementuje Model-Con- structing Satisfiability Calculus. Cílem této práce je rozšířit Yaga řešič o možnost sbírání metrických data z jeho běhu a vytvořit webovou aplikaci na jejich vizualizaci. Tato webová aplikace je zamýšlená jako interní nástroj, který má poskytnout vhled do chování tohoto řešiče, což je užitečné pro jeho budoucí vylepšení. Sběr metrických dat je řešen logováním do CSV souborů, které mohou být poté nahrány do aplikace. Ta nyní využívá část těchto dat k zobrazení skupiny grafů relevantní k analýze tří typů nežádoucího chování řešiče: trashing (nadměrné backtrackování vůči počtu rozhodnutí), shlukování backtracků, mělké backtrackování.
For formal verification of software, SMT solvers are used. Yaga is an SMT solver developed at Charles University, and it implements the Model-Constructing Satisfiability Calculus. The goal of this work is to extend the Yaga solver with the ability to collect metric data during its run and to create a web application for its visualization. This web application is intended as an internal tool to provide insight into the behavior of the solver, which is useful for its future improvement. The collection of metric data is handled by logging to CSV files, which can then be uploaded to the application. The application currently uses part of this data to display a set of charts relevant to the analysis of three types of unwanted solver behaviour: trashing (excessive backtracking relative to the number of decisions), backtrack clustering, and shallow backtracking.
