Nástroj pro statickou analýzu programů se seznamy

Loading...
Thumbnail Image

Date

Authors

Kotoun, Michal

Mark

A

Journal Title

Journal ISSN

Volume Title

Publisher

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

ORCID

Abstract

Tvorba softwarového analyzátoru je komplexní úloha -- je nutno implementovat parsování zdrojového kódu, reprezentaci instrukcí, abstrakci hodnot, uživatelské rozhraní, ... a také analýzu samu. Abychom předešli zbytečné práci vývojářů analýz, rozhodli jsme se vytvořit framework pro statickou analýzu programů. Předkládáme obecný návrh frameworku zvaného Angie s důrazem na jeho použitelnost a popisujeme prototyp frameworku, včetně modelové analýzy založené na symbolických paměťových grafech. Angie je implementován v C++ a používá nástroje z kolekce LLVM pro parsování zdrojového kódu analyzovaných programů.
Creating a software verification tool is a complex task -- one must implement source code parsing, instruction representation, value abstraction, user interface, ... and the analysis itself. Therefore, we decided to create a static analysis framework to prevent unnecessary wheel reinventing by an analyses implementers. We propose a general design of the framework called Angie with a primary focus on usability, and describe a prototype implementation of the framework, including a model analysis based on symbolic memory graphs. Angie is implemented in C++ and uses the LLVM toolchain as the front-end for parsing the source code of analysed programs.

Description

Citation

KOTOUN, M. Nástroj pro statickou analýzu programů se seznamy [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2017.

Document type

Document version

Date of access to the full text

Language of document

cs

Study field

Informační technologie

Comittee

doc. Ing. Richard Růžička, Ph.D., MBA (předseda) doc. RNDr. Jitka Kreslíková, CSc. (místopředseda) doc. RNDr. Dana Hliněná, Ph.D. (člen) Ing. Bohuslav Křena, Ph.D. (člen)

Date of acceptance

2017-08-29

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 " A ". Otázky u obhajoby: Jak je složité rozšířit rámec o novou analýzu? Co vše je pro to potřeba provést a jaká je očekávaná časová náročnost pro vývojáře analýzy? Jaké jsou výhody použití rámce oproti např. přímému použití LLVM mezikódu?

Result of defence

práce byla úspěšně obhájena

DOI

Collections

Endorsement

Review

Supplemented By

Referenced By

Citace PRO