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

Loading...
Thumbnail Image

Date

Authors

Ďuričeková, Daniela

Mark

A

Journal Title

Journal ISSN

Volume Title

Publisher

Vysoké učení technické v Brně. Fakulta informačních technologií

ORCID

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) doc. 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

DOI

Collections

Endorsement

Review

Supplemented By

Referenced By

Citace PRO