Statická analýza programů pracujících s dynamickou pamětí s využitím separační logiky
| but.committee | doc. RNDr. Milan Češka, Ph.D. (předseda) Ing. Radek Kočí, Ph.D. (člen) Ing. Šárka Květoňová, Ph.D. (člen) Ing. David Bařina, Ph.D. (člen) Ing. Marta Jaroš, Ph.D. (člen) | cs |
| but.defence | Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm A. | cs |
| but.jazyk | angličtina (English) | |
| but.program | Informační technologie | cs |
| but.result | práce byla úspěšně obhájena | cs |
| dc.contributor.advisor | Dacík, Tomáš | en |
| dc.contributor.author | Brablec, Tomáš | en |
| dc.contributor.referee | Rogalewicz, Adam | en |
| dc.date.created | 2025 | cs |
| dc.description.abstract | Tato práce představuje statický analyzátor KTSN zaměřený na verifikaci bezpečnosti práce s pamětí programů v jazyce C. Naše metoda se soustředí na programy, které pracují s lineárními seznamy. Náš analyzátor je schopen verifikovat správnost manipulace s dynamicky alokovanou pamětí a detekovat neplatné dereference ukazatelů (např. use-after-free), úniky paměti a další chyby. Náš přístup je založen na analýze toku dat a využívá separační logiku pro reprezentaci abstraktních stavů paměti. Nástroj je implementovaný ve frameworku Frama-C. Analýza využívá dedikovaný solver Astral pro rozhodování separační logiky založený na překladu do SMT. Nástroj KTSN byl otestován na podmnožině SV-COMP benchmarků zaměřené na lineární seznamy a porovnán s dalšími verifikačními nástroji ve své kategorii. Přestože nedosahuje úrovně nejlepšího nástroje PredatorHP, překonává většinu verifikačních nástrojů v této kategorii, včetně analyzátoru EVA, který je součástí frameworku Frama-C. Naše metoda rovněž vykazuje potenciál pro integraci do analyzátoru EVA, čímž by se výrazně vylepšila analýza lineárních seznamů ve Frama-C. | en |
| dc.description.abstract | This thesis introduces the KTSN static analyzer that aims to verify the memory safety of C programs. The method focuses on programs that manipulate linked lists. Our tool is able to prove the correctness of handling dynamically allocated memory and detect invalid pointer dereferences such as use-after-free, memory leaks, and other bugs. The approach is based on dataflow analysis, and it uses separation logic to represent abstract memory states. The analysis uses Astral, a dedicated solver for SL based on translation to SMT. KTSN is implemented as a plugin to the Frama-C framework. The tool was tested on the linked lists subset of the SV-COMP benchmarks and compared to other verification tools. While it does not reach the top competitor, PredatorHP, it outperforms most verifiers in this category, including EVA, a value analyzer of Frama-C. Thus, our method shows promise of integration into EVA, greatly improving the analysis of linked lists in Frama-C. | cs |
| dc.description.mark | A | cs |
| dc.identifier.citation | BRABLEC, T. Statická analýza programů pracujících s dynamickou pamětí s využitím separační logiky [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2025. | cs |
| dc.identifier.other | 163339 | cs |
| dc.identifier.uri | http://hdl.handle.net/11012/253189 | |
| dc.language.iso | en | cs |
| dc.publisher | Vysoké učení technické v Brně. Fakulta informačních technologií | cs |
| dc.rights | Standardní licenční smlouva - přístup k plnému textu bez omezení | cs |
| dc.subject | verifikace | en |
| dc.subject | statická analýza | en |
| dc.subject | separační logika | en |
| dc.subject | Astral | en |
| dc.subject | Frama-C | en |
| dc.subject | SV-COMP | en |
| dc.subject | KTSN | en |
| dc.subject | verification | cs |
| dc.subject | static analysis | cs |
| dc.subject | separation logic | cs |
| dc.subject | Astral | cs |
| dc.subject | Frama-C | cs |
| dc.subject | SV-COMP | cs |
| dc.subject | KTSN | cs |
| dc.title | Statická analýza programů pracujících s dynamickou pamětí s využitím separační logiky | en |
| dc.title.alternative | Static Analysis of Heap-Manipulating programs using Separation Logic | cs |
| dc.type | Text | cs |
| dc.type.driver | bachelorThesis | en |
| dc.type.evskp | bakalářská práce | cs |
| dcterms.dateAccepted | 2025-06-17 | cs |
| dcterms.modified | 2025-06-17-17:34:35 | cs |
| eprints.affiliatedInstitution.faculty | Fakulta informačních technologií | cs |
| sync.item.dbid | 163339 | en |
| sync.item.dbtype | ZP | en |
| sync.item.insts | 2025.08.26 23:05:23 | en |
| sync.item.modts | 2025.08.26 20:07:30 | en |
| thesis.discipline | Informační technologie | cs |
| thesis.grantor | Vysoké učení technické v Brně. Fakulta informačních technologií. Ústav inteligentních systémů | cs |
| thesis.level | Bakalářský | cs |
| thesis.name | Bc. | cs |
