Analýza tvaru nízkoúrovňových programů se složitými datovými strukturami
but.committee | prof. Ing. Lukáš Sekanina, Ph.D. (předseda) prof. RNDr. Ivana Černá, CSc. (člen) doc. RNDr. Jan Kofroň, Ph.D. (člen) doc. RNDr. Tomáš Masopust, Ph.D. (člen) doc. RNDr. David Šafránek, Ph.D. (člen) | cs |
but.defence | Studentka přednesla cíle a výsledky, kterých v rámci řešení disertační práce dosáhla. V rozpravě studentka odpověděla na otázky komise, oponentů a hostů. Diskuze je zaznamenána na diskuzních lístcích, které jsou přílohou protokolu. Počet diskuzních lístků: 2. Komise se v závěru jednomyslně usnesla, že studentka splnila podmínky pro udělení akademického titulu doktor. The student presented the goals and results that she achieved within the solution of the dissertation. The student has competently answered the questions of the committee members, reviewers and guests. The discussion is recorded on the discussion sheets, which are attached to the protocol. Number of discussion sheets: 2. The committee has agreed unanimously that the student has fulfilled the requirements for being awarded the academic title Ph.D. | 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 | Vojnar, Tomáš | en |
dc.contributor.author | Šoková, Veronika | en |
dc.contributor.referee | Sighireanu, Mihaela | en |
dc.contributor.referee | Kofroň, Jan | en |
dc.date.created | 2025 | cs |
dc.description.abstract | Tato disertační práce se zaměřuje na analýzu programů se složitými dynamickými datovými strukturami a operacemi s ukazateli. V první části se zaměřujeme na analýzu tvaru uzavřených programů. Zejména vylepšujeme přístup, založený na symbolických paměťových grafech pro analýzu uzavřených programů manipulujících s hromadou, o kombinaci analýzy tvaru s analýzou neukazatelových dat. Vylepšujeme ho i o podporu alokace na zásobníku, realokace haldy a lepší práci s intervalovými omezeními. Dále práce zkoumá potenciál využití této spolehlivé (sound) analýzy pro vyhledávání chyb. Uvedené postupy byly implementovány v nástroji Predator a v Symbiotic frameworku a soutěžily s dalšími nejmodernějšími nástroji v mezinárodní soutěži Software Verification Competition (SV-COMP), kde dosáhly vynikajících výsledků. Ve druhé části se zaměřujeme na analýzu tvaru otevřených programů. Rozšířili jsme již existující bi-abdukční přístup k analýze tvaru, tak abychom si dokázal poradit s programy manipulujícími se seznamy, které používají nízkoúrovňové paměťové operace často přítomné v systémovém kódu. Vytvořili jsme novou nízkoúrovňovou separační logiku, její paměťový model, jazyk, syntaxi a sémantiku a ukázali jsme, jak byl kvůli tomu změněn bi-abdukční algoritmus. Náš přístup jsme implementovali do prototypového nástroje s názvem Broom. Nástroj jsme spouštěli nad vybranými fragmenty kódu z reálného softwaru. | en |
dc.description.abstract | This thesis focuses on analysis of programs with complex dynamic data structures and pointer operations. In the first part, we focus on shape analysis of closed programs. Particularly, we improve an approach based on symbolic memory graphs for analysing closed heap-manipulating programs requiring combined reasoning about shape and non-pointer data by a support of stack allocation, heap reallocation, and better handling of interval constraints. Furthermore, the thesis investigates the potential of this sound analysis for bug hunting. The mentioned procedures have been implemented in the Predator tool and the Symbiotic framework and competed with other state-of-the-art tools in the Software Verification Competition (SV-COMP), where they achieved excellent results. In the second part, we focus on shape analysis of open programs. We extended an existing bi-abductive approach to shape analysis to be able to cope with list-manipulating programs that use low-level memory operations often present in system code. We created a new low-level separation logic, its memory model, language, syntax, and semantics and showed how the bi-abduction procedure was changed to reflect it. We have implemented our approach in a prototype tool called Broom. We have applied the tool to a selection of code fragments from real-world code. | cs |
dc.description.mark | P | cs |
dc.identifier.citation | ŠOKOVÁ, V. Analýza tvaru nízkoúrovňových programů se složitými datovými strukturami [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2025. | cs |
dc.identifier.other | 162837 | cs |
dc.identifier.uri | http://hdl.handle.net/11012/251184 | |
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 | dynamické datové struktury | en |
dc.subject | nízkoúrovňové operace s pamětí | en |
dc.subject | bezpečnost práce s pamětí | en |
dc.subject | symbolické grafy paměti | en |
dc.subject | separační logika | en |
dc.subject | bi-abdukce | en |
dc.subject | symbolická exekuce | en |
dc.subject | analýza tvaru | en |
dc.subject | statická anaýza | en |
dc.subject | formální verifikace | en |
dc.subject | hledání chyb | en |
dc.subject | dynamic linked data structures | cs |
dc.subject | low-level memory manipulation | cs |
dc.subject | memory safety | cs |
dc.subject | symbolic memory graphs | cs |
dc.subject | separation logic | cs |
dc.subject | bi-abduction | cs |
dc.subject | symbolic execution | cs |
dc.subject | shape analysis | cs |
dc.subject | static analysis | cs |
dc.subject | formal verification | cs |
dc.subject | bug hunting | cs |
dc.title | Analýza tvaru nízkoúrovňových programů se složitými datovými strukturami | en |
dc.title.alternative | Shape Analysis of Low-Level Programs with Complex Data Structures | cs |
dc.type | Text | cs |
dc.type.driver | doctoralThesis | en |
dc.type.evskp | dizertační práce | cs |
dcterms.dateAccepted | 2025-05-29 | cs |
dcterms.modified | 2025-05-29-16:14:59 | cs |
eprints.affiliatedInstitution.faculty | Fakulta informačních technologií | cs |
sync.item.dbid | 162837 | en |
sync.item.dbtype | ZP | en |
sync.item.insts | 2025.06.04 10:02:02 | en |
sync.item.modts | 2025.06.03 15:36:12 | 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 | Doktorský | cs |
thesis.name | Ph.D. | cs |
Files
Original bundle
1 - 5 of 6
Loading...
- Name:
- final-thesis.pdf
- Size:
- 1.88 MB
- Format:
- Adobe Portable Document Format
- Description:
- file final-thesis.pdf
Loading...
- Name:
- appendix-1.zip
- Size:
- 92.21 MB
- Format:
- Unknown data format
- Description:
- file appendix-1.zip
Loading...
- Name:
- Posudek-Vedouci prace-anon_stanovisko_skolitele.pdf
- Size:
- 921.49 KB
- Format:
- Adobe Portable Document Format
- Description:
- file Posudek-Vedouci prace-anon_stanovisko_skolitele.pdf
Loading...
- Name:
- Posudek-Oponent prace-anon_PHD_thesis_review_Sighireanu.pdf
- Size:
- 123.29 KB
- Format:
- Adobe Portable Document Format
- Description:
- file Posudek-Oponent prace-anon_PHD_thesis_review_Sighireanu.pdf
Loading...
- Name:
- Posudek-Oponent prace-anon_review.pdf
- Size:
- 182.04 KB
- Format:
- Adobe Portable Document Format
- Description:
- file Posudek-Oponent prace-anon_review.pdf