Detail práce

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

Bakalářská práce Student: Pavela Ondřej Akademický rok: 2018/2019 Vedoucí: Rogalewicz Adam, doc. Mgr., Ph.D.
Název anglicky
Static Analysis Using Facebook Infer Focused on Performance Analysis
Jazyk práce
český
Abstrakt

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.

Klíčová slova

statická analýza, abstraktní interpretace,výkonnostní analýza, analýza mezí,amortizovaná složitost, Loopus, OCaml

Ústav
Studijní program
Informační technologie
Soubory
Stav
obhájeno, hodnocení A
Obhajoba
10. června 2019
Oponent
Průběh obhajoby

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
  1. Jaký je nejsložitější program, jehož složitost se Vám prostřednictvím Vaší implementace podařilo přesně odvodit?
  2. Jakým způsobem by bylo možné použít Váš plugin v procesu vývoje software?
Komise
Vojnar Tomáš, prof. Ing., Ph.D. (UITS FIT VUT), předseda
Grézl František, Ing., Ph.D. (UPGM FIT VUT), člen
Honzík Jan M., prof. Ing., CSc. (UIFS FIT VUT), člen
Kořenek Jan, doc. Ing., Ph.D. (UPSY FIT VUT), člen
Smrčka Aleš, Ing., Ph.D. (UITS FIT VUT), člen
Citace
PAVELA, Ondřej. Statická analýza v nástroji Facebook Infer zaměřená na analýzu výkonnosti. Brno, 2019. Bakalářská práce. Vysoké učení technické v Brně, Fakulta informačních technologií. 2019-06-10. Vedoucí práce Rogalewicz Adam. Dostupné z: https://www.fit.vut.cz/study/thesis/21919/
BibTeX
@bachelorsthesis{FITBT21919,
    author = "Ond\v{r}ej Pavela",
    type = "Bakal\'{a}\v{r}sk\'{a} pr\'{a}ce",
    title = "Statick\'{a} anal\'{y}za v n\'{a}stroji Facebook Infer zam\v{e}\v{r}en\'{a} na anal\'{y}zu v\'{y}konnosti",
    school = "Vysok\'{e} u\v{c}en\'{i} technick\'{e} v Brn\v{e}, Fakulta informa\v{c}n\'{i}ch technologi\'{i}",
    year = 2019,
    location = "Brno, CZ",
    language = "czech",
    url = "https://www.fit.vut.cz/study/thesis/21919/"
}
Nahoru