Vylepšení analýzy živých proměnných pomocí points-to analýzy

but.committeedoc. Ing. František Zbořil, CSc. (předseda) doc. Ing. Vladimír Drábek, CSc. (místopředseda) Ing. Vladimír Bartík, Ph.D. (člen) Ing. Martin Hrubý, Ph.D. (člen) doc. Ing. Vladimír Janoušek, Ph.D. (člen) doc. Ing. Stanislav Racek, CSc. (člen)cs
but.defenceStudent nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se pak seznámila s hodnocením vedoucího a posudkem oponenta práce. Komise měla výhrady k nedostatečnému počtu provedených a prezentovaných testů. 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 velmi dobře (B). Otázky u obhajoby: bez otázekcs
but.jazykčeština (Czech)
but.programInformační technologiecs
but.resultpráce byla úspěšně obhájenacs
dc.contributor.advisorDudka, Kamilcs
dc.contributor.authorRaiskup, Pavelcs
dc.contributor.refereeRogalewicz, Adamcs
dc.date.created2012cs
dc.description.abstractJazyky, jako je C, hojně využívají práce s ukazateli. Implemetace dynamických datových struktur vázaných ukazateli a operací nad nimi však není jednoduchá - významně zvyšuje rizika zanášení chyb do zdrojových kódů. Jedna z cest, jakými lze eliminovat množství těchto chyb, je použití statické analýzy. Tato práce se tedy zabývá vylepšením architektury Code Listner, která nabízí rozhraní pro tvorbu statických analyzátorů. Vlastností tohoto rozhraní je, že poskytuje takovému analyzátoru k rozboru potřebné informace o programu - ku příkladu databázi proměnných, graf toku řízení čí graf volání funkcí. Součástí implementace Code Listeneru je také algoritmus pro analýzu živých proměnných, umožňující odstranit, neboli zabít proměnné, které nejsou v daném místě grafu toku řízení potřeba. Původní algoritmus ale nedovedl z důvodu bezpečnosti zabít žádné proměnné, na něž byla kdekoliv ve zdrojovém kódu vzata adresa. Předpokládalo se, že taková proměnná může být zpřístupněna pomocí reference kdekoliv v programu. Cílem práce tedy bylo navrhnout a implementovat algoritmus pro points-to analýzu, která dovede vyloučit existenci některých referencí v daném kontextu programu a umožní tedy zefektivnit analýzu živých proměnných.cs
dc.description.abstractLanguages such as C use pointers very heavily. Implementation of operations on dynamically linked structures is, however, quite difficult. This can cause the programmer to make more mistakes than usual. One method for dealing with this situation is to use the static analysis tools. This thesis elaborates on the extension to the Code Listener architecture which is an interface for building static analysis tools. Code Listener is able to construct a call-graph or a control flow graph for a given source code and send it to the analyzing tool. One ability of the architecture is that it can conduct the live variable analysis internally. It detects places in the control flow graph where some subset of variables may be killed. The problem was that every variable for which a pointer address was assigned could not been killed, before. This decision had been made because there was no assurance that the variable could never been used through the pointer. So the goal of this work was to design and incorporate a points-to analysis which is able to exclude some references from the set of considered pointers to improve the live variable analysis.en
dc.description.markBcs
dc.identifier.citationRAISKUP, P. Vylepšení analýzy živých proměnných pomocí points-to analýzy [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2012.cs
dc.identifier.other79116cs
dc.identifier.urihttp://hdl.handle.net/11012/53654
dc.language.isocscs
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.subjectStatická analýzacs
dc.subjectanalýza živých proměnnýchcs
dc.subjectanalýza ukazatelůcs
dc.subjectpoints-to analýzacs
dc.subjectanalýza aliasůcs
dc.subjectukazatelová aritmetikacs
dc.subjectCode Listenercs
dc.subjectgcc zásuvný modulcs
dc.subjectformální verifikacecs
dc.subjectStatic analysisen
dc.subjectlive variable analysisen
dc.subjectpointer analysisen
dc.subjectpoints-to analysisen
dc.subjectalias analysisen
dc.subjectpointer arithmeticen
dc.subjectCode Listeneren
dc.subjectgcc pluginen
dc.subjectformal verificationen
dc.titleVylepšení analýzy živých proměnných pomocí points-to analýzycs
dc.title.alternativeImprovement of Live Variable Analysis Using Points-to Analysisen
dc.typeTextcs
dc.type.drivermasterThesisen
dc.type.evskpdiplomová prácecs
dcterms.dateAccepted2012-06-15cs
dcterms.modified2020-05-09-23:43:27cs
eprints.affiliatedInstitution.facultyFakulta informačních technologiícs
sync.item.dbid79116en
sync.item.dbtypeZPen
sync.item.insts2025.03.26 15:12:13en
sync.item.modts2025.01.15 17:59:45en
thesis.disciplineInteligentní systémycs
thesis.grantorVysoké učení technické v Brně. Fakulta informačních technologií. Ústav inteligentních systémůcs
thesis.levelInženýrskýcs
thesis.nameIng.cs
Files
Original bundle
Now showing 1 - 2 of 2
Loading...
Thumbnail Image
Name:
final-thesis.pdf
Size:
493.42 KB
Format:
Adobe Portable Document Format
Description:
final-thesis.pdf
Loading...
Thumbnail Image
Name:
review_79116.html
Size:
1.46 KB
Format:
Hypertext Markup Language
Description:
file review_79116.html
Collections