Statická analýza programů pracujících s dynamickou pamětí s využitím separační logiky

but.committeedoc. 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.defenceStudent 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.jazykangličtina (English)
but.programInformační technologiecs
but.resultpráce byla úspěšně obhájenacs
dc.contributor.advisorDacík, Tomášen
dc.contributor.authorBrablec, Tomášen
dc.contributor.refereeRogalewicz, Adamen
dc.date.created2025cs
dc.description.abstractTato 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.abstractThis 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.markAcs
dc.identifier.citationBRABLEC, 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.other163339cs
dc.identifier.urihttp://hdl.handle.net/11012/253189
dc.language.isoencs
dc.publisherVysoké učení technické v Brně. Fakulta informačních technologiícs
dc.rightsStandardní licenční smlouva - přístup k plnému textu bez omezenícs
dc.subjectverifikaceen
dc.subjectstatická analýzaen
dc.subjectseparační logikaen
dc.subjectAstralen
dc.subjectFrama-Cen
dc.subjectSV-COMPen
dc.subjectKTSNen
dc.subjectverificationcs
dc.subjectstatic analysiscs
dc.subjectseparation logiccs
dc.subjectAstralcs
dc.subjectFrama-Ccs
dc.subjectSV-COMPcs
dc.subjectKTSNcs
dc.titleStatická analýza programů pracujících s dynamickou pamětí s využitím separační logikyen
dc.title.alternativeStatic Analysis of Heap-Manipulating programs using Separation Logiccs
dc.typeTextcs
dc.type.driverbachelorThesisen
dc.type.evskpbakalářská prácecs
dcterms.dateAccepted2025-06-17cs
dcterms.modified2025-06-17-17:34:35cs
eprints.affiliatedInstitution.facultyFakulta informačních technologiícs
sync.item.dbid163339en
sync.item.dbtypeZPen
sync.item.insts2025.08.26 23:05:23en
sync.item.modts2025.08.26 20:07:30en
thesis.disciplineInformační technologiecs
thesis.grantorVysoké učení technické v Brně. Fakulta informačních technologií. Ústav inteligentních systémůcs
thesis.levelBakalářskýcs
thesis.nameBc.cs

Files

Original bundle

Now showing 1 - 2 of 2
Loading...
Thumbnail Image
Name:
final-thesis.pdf
Size:
1.12 MB
Format:
Adobe Portable Document Format
Description:
file final-thesis.pdf
Loading...
Thumbnail Image
Name:
review_163339.html
Size:
10.59 KB
Format:
Hypertext Markup Language
Description:
file review_163339.html

Collections