Zobrazit minimální záznam

WebAssembly Memory Debugger



dc.contributor.advisorMatoušek Jan
dc.contributor.authorJakub Mareš
dc.date.accessioned2024-06-19T22:53:22Z
dc.date.available2024-06-19T22:53:22Z
dc.date.issued2024-06-19
dc.identifierKOS-1240981679705
dc.identifier.urihttp://hdl.handle.net/10467/115890
dc.description.abstractMožnost kompilace programů napsaných v programovacích jazycích s manuální režií paměti do WebAssembly vytvořilo potřebu existence WebAssembly paměťového dubuggeru s vlastnostmi podobnými nástroji Valgrind Memcheck. Výsledkem této práce je Wasm Doctor, WebAssembly paměťový debugger inspirovaný nástrojem Valgrind Memcheck. Důraz je především kladen na detekci chyb způsobených nedefinovanými hodnotami a špatnou prací s dynamickou alokací paměti. Detekce chyb souvisejících s pamětí funguje nejlépe pro programy napsané v jazyce C a kompilované překladačem Clang, protože použitý kompilátor ovlivňuje struktury uvnitř spustitelného souboru, které Wasm Doctor používá pro detekci chyb. Aplikací tohoto paměťového debuggeru je výukový nástroj Trainer, který se používá při cvičeních Programování a algoritmizace 1 a 2 na FIT ČVUT. Paměťový debugger používá shadow memory pro detekci chyb způsobených nedefinovanou pamětí. Namísto instrumentace, kterou používá Valgrind, používá Wasm Doctor existující interpret --- Toywasm. Tato práce též popisuje unikátní problémy, které souvisí s analýzou spustitelných souborů ve WebAssembly.cze
dc.description.abstractThe ability to compile programs written in manually managed languages such as C and C++ to WebAssembly has introduced the need for a WebAssembly memory debugger similar to Valgrind's Memcheck. The result of this thesis is Wasm Doctor, a WebAssembly memory debugger inspired by Valgrind's Memcheck. It focuses on the detection of undefined value bugs and the detection of dynamic memory allocation bugs. The detection of memory bugs works best for C programs compiled by Clang, as the compiler choice affects some structures inside the executable, that Wasm Doctor uses for the detection of bugs. Immediate application of this memory debugger is in the Trainer education tool used during Programming and Algorithmics 1 and 2 courses at FIT CTU. The memory debugger utilizes shadow memory for undefined value bug detection. Instead of instrumentation, as is the case for Valgrind, Wasm Doctor uses an existing interpreter --- Toywasm. This thesis also outlines the unique problems associated with the analysis of WebAssembly executables.eng
dc.publisherČeské vysoké učení technické v Praze. Vypočetní a informační centrum.cze
dc.publisherCzech Technical University in Prague. Computing and Information Centre.eng
dc.rightsA university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.htmleng
dc.rightsVysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.htmlcze
dc.subjectpameťový debuggercze
dc.subjectWebAssemblycze
dc.subjectValgrindcze
dc.subjectMemcheckcze
dc.subjectshadow memorycze
dc.subjectdynamická binární analýzacze
dc.subjectFIT ČVUT Trainercze
dc.subjectwebové vývojové prostředícze
dc.subjectinterpretacecze
dc.subjectToywasmcze
dc.subjectmemory debuggereng
dc.subjectWebAssemblyeng
dc.subjectValgrindeng
dc.subjectMemcheckeng
dc.subjectshadow memoryeng
dc.subjectdynamic binary analysiseng
dc.subjectFIT CTU Trainereng
dc.subjectweb development environmenteng
dc.subjectinterpretationeng
dc.subjectToywasmeng
dc.titleWebAssembly paměťový debuggercze
dc.titleWebAssembly Memory Debuggereng
dc.typebakalářská prácecze
dc.typebachelor thesiseng
dc.contributor.refereeVagner Ladislav
theses.degree.disciplineSoftwarové inženýrství 2021cze
theses.degree.grantorkatedra softwarového inženýrstvícze
theses.degree.programmeInformatikacze


Soubory tohoto záznamu




Tento záznam se objevuje v následujících kolekcích

Zobrazit minimální záznam