Statická analýza možných hodnot proměnných v programech v C

Loading...
Thumbnail Image
Date
ORCID
Mark
A
Journal Title
Journal ISSN
Volume Title
Publisher
Vysoké učení technické v Brně. Fakulta informačních technologií
Abstract
Analýza rozsahu hodnot (anglicky value-range analysis) je metoda statické analýzy založená na zjišťování hodnot, kterých může daná proměnná nabývat v určitém místě v programu. Tato technika může být použita k dokázání, že se v programu nevyskytují chyby za běhu, jako například přístup za hranici pole. Jelikož analýza rozsahu hodnot získává informace o každém místě v programu, lze k její implementaci využít analýzu toku dat (anglicky data-flow analysis). Cílem této diplomové práce je návrh a implementace funkčního nástroje provádějícího analýzu rozsahu hodnot. Práce začíná úvodem do problematiky, vysvětlením analýz toku dat a hodnot proměnných a popisem abstraktní interpretace, která tvoří formální základ analyzátoru. Následuje seznámení s prostředím Code Listener, které bylo využito k implementaci analyzátoru. Jádro práce tvoří návrh, implementace a otestování analyzátoru. V závěru jsou shrnuty nabyté zkušenosti a diskutovány možnosti budoucího vývoje vytvořeného nástroje.
Value-range analysis is a static analysis technique based on arguing about the values that a variable may take on a given program point. It can be used to prove absence of run-time errors such as out-of-bound array accesses. Since value-range analysis collects information on each program point, data-flow analysis can be used in association with it. The main goal of this work is designing and implementing such a value-range analysis tool. The work begins with an introduction into the topic, an explanation of data-flow and value-range analyses and a description of abstract interpretation, which provides the formal basis of the analyser. The core of this work is the design, implementation, testing and evaluation of the analyser. In the conclusion, our personal experience obtained in the area of the thesis is mentioned, along with a discussion of a possible future development of the designed tool.
Description
Citation
ĎURIČEKOVÁ, D. Statická analýza možných hodnot proměnných v programech v C [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2013.
Document type
Document version
Date of access to the full text
Language of document
cs
Study field
Inteligentní systémy
Comittee
doc. RNDr. Jitka Kreslíková, CSc. (předseda) doc. Ing. Richard Růžička, Ph.D., MBA (místopředseda) Ing. Petr Matoušek, Ph.D., M.A. (člen) doc. Mgr. Adam Rogalewicz, Ph.D. (člen) doc. Ing. Martin Sysel, Ph.D. (člen) doc. Ing. František Zbořil, Ph.D. (člen)
Date of acceptance
2013-08-29
Defence
Studentka nejprve prezentovala výsledky, kterých dosáhla v rámci své práce. Komise se pak seznámila s hodnocením vedoucího a posudkem oponenta práce. Studentka následně odpověděla na otázku 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í studentky na položené otázky rozhodla práci hodnotit stupněm " A ". Otázky u obhajoby: Na straně 41 jsem narazil na nepřesnou formulaci ohledně hodnot po přetečení a podtečení čísel v plovoucí čárce. Můžete to upřesnit? (Cituji: " Floating-point numbers do not underflow or overflow - instead, they are set to the negative or positive infinity, respectively." )
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