Vyhledávání výrazů s nedefinovaným chováním v jazyce C

Loading...
Thumbnail Image
Date
ORCID
Mark
C
Journal Title
Journal ISSN
Volume Title
Publisher
Vysoké učení technické v Brně. Fakulta informačních technologií
Abstract
Práce se zabývá detekcí nedefinovaného chování v programech v jazyce C. Zaměřujemese na nedefinované chování vznikající nesprávnou prací se sekvenčními body a vedlejšími efekty. Provedeme teoretický rozbor a pojmy jako nedefinované chování nebo vedlejší efekt zasadíme do kontextu práce. Dále vysvětlíme nebezpečnost konstrukcí vedoucích k nedefinovanému chování. Navrhneme metodu pro automatickou detekci zmíněného druhu nedefinovaného chování. Nakonec navrhneme a implementujeme nástroj pro jeho automatizovanou statickou detekci a popíšeme principy funkce tohoto nástroje. Při jeho návrhu klademe, narozdíl od současných řešení, důraz na funkčnost i v případě přístupu k paměti přes ukazatel nebo z volané funkce. Práce obsahuje příklady nebezpečných konstrukcí, na některých z nich jsou demonstrovány funkce vytvořeného nástroje.
This thesis engages in detection of undefined behavior in the C language programs. We focus on undefined behavior stemming from incorrect work with sequence points and side effects. We perform a theoretical analysis and put terms like undefined behavior or side effect in context of the paper. Furthermore, we explain dangerousness of the constructs leading to undefined behavior. We propose a method for automated detection of the mentioned kind of undefined behavior. Finally, we design and implement a tool for its automated static detection and show the principles of the tool’s function. While designing the tool, contrary to current solutions, we stress functionality even in cases like accessing the memory via a pointer or from a called function. The thesis contains examples of dangerous constructs, functions of the created tool are demonstrated on some of them.
Description
Citation
HELLEBRANDT, L. Vyhledávání výrazů s nedefinovaným chováním v jazyce C [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2014.
Document type
Document version
Date of access to the full text
Language of document
en
Study field
Informační technologie
Comittee
doc. Dr. Ing. Petr Hanáček (předseda) prof. Ing. Tomáš Vojnar, Ph.D. (místopředseda) Ing. Vítězslav Beran, Ph.D. (člen) Ing. Karel Masařík, Ph.D. (člen) Ing. Josef Strnadel, Ph.D. (člen)
Date of acceptance
2014-06-19
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 C. Otázky u obhajoby: Můžete blíže vysvětlit způsob překladu výsledků "alias" analýzy z LLVM IR na zdrojový kód na příkladu výpisů uvedených na obrázcích 4.7 až 4.9? Charakterizujte blíže programy, na nichž jste váš analyzátor testoval, a vysvětlete údaje uvedené na obr. 5.3.
Result of defence
práce byla úspěšně obhájena
Document licence
Standardní licenční smlouva - přístup k plnému textu bez omezení
DOI
Collections
Citace PRO