Statická analýza v nástroji Facebook Infer zaměřená na analýzu výkonnosti

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
Statická analýza se v současnosti dostává do popředí v oblasti technik pro odhalování chyb v moderním software. Nedostatečná škálovatelnost, především v kombinaci se zachováním potřebné přesnosti, je však přetrvávající problém u většiny současných nástrojů pro statickou analýzu, což je činí nepoužitelnými v případě rozsáhlého a často se měnícího kódu. Efektivní statické analyzátory, jako například Coverity nebo Code Sonar, jsou navíc často proprietární a není tedy možné je jednoduše rozšířit nebo srovnávat jejich výsledky. Oproti tomu Facebook Infer nabízí open source rámec s důrazem na kompoziční, inkrementální, a v důsledku i škálovatelnou inter-procedurální statickou analýzu. Tato práce představuje Looper --- nový analyzátor zaměřující se na analýzu výkonnosti, přesněji na analýzu mezí, rozšiřující rámec nástroje Facebook Infer. Implementace našeho analyzátoru je založena na existujícím nástroji Loopus, který se zaměřuje na přesnou analýzu mezí. Výsledný prototyp jsme otestovali na dvou různých testovacích sadách a povzbudivé výsledky srovnali s existujícím analyzátorem Cost, který je vyvíjen Infer týmem.
Static analysis has nowadays become one of the most popular ways of catching bugs early in the modern software. However, reasonably precise static analysis tools still often struggle to scale well on large and quickly changing codebases. Efficient static analysers, such as Coverity or Code Sonar, are usually proprietary and difficult to openly evaluate or extend. On the contrary, Facebook Infer offers an open source static analysis framework with the emphasis on compositional, incremental and consequently highly scalable inter-procedural analysis. This thesis presents Looper --- a new performance oriented resource bounds analyser which extends the capabilities of Facebook Infer. We have based our implementation on an existing resource bounds analyser Loopus and evaluated it on two different test suites, showing encouraging results in comparison with the existing Cost analyser developed by the Infer team.
Description
Citation
PAVELA, O. Statická analýza v nástroji Facebook Infer zaměřená na analýzu výkonnosti [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2019.
Document type
Document version
Date of access to the full text
Language of document
cs
Study field
Informační technologie
Comittee
prof. Ing. Tomáš Vojnar, Ph.D. (předseda) prof. Ing. Jan M. Honzík, CSc. (místopředseda) Ing. František Grézl, Ph.D. (člen) doc. Ing. Jan Kořenek, Ph.D. (člen) Ing. Aleš Smrčka, Ph.D. (člen)
Date of acceptance
2019-06-10
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 nejsložitější program, jehož složitost se Vám prostřednictvím Vaší implementace podařilo přesně odvodit? Jakým způsobem by bylo možné použít Váš plugin v procesu vývoje software?
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