Bachelor's Thesis

Static Analysis Using Facebook Infer Focused on Performance Analysis

Final Thesis 1.25 MB

Author of thesis: Ing. Ondřej Pavela

Acad. year: 2018/2019

Supervisor: doc. Mgr. Adam Rogalewicz, Ph.D.

Reviewer: doc. Ing. Ondřej Lengál, Ph.D.

Abstract:

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.

Keywords:

static analysis, abstract interpretation,performance analysis, resource bounds analysis,amortized complexity, Loopus, OCaml

Date of defence

10.06.2019

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of 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:

  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?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology (IT-BC-3)

Field of study

Information Technology (BIT)

Composition of Committee

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)

Supervisor’s report
doc. Mgr. Adam Rogalewicz, Ph.D.

Grade proposed by supervisor: A

File inserted by supervisor Size
Hodnocení vedoucího [.pdf] 86,39 kB

Grade proposed by reviewer: A

File inserted by the reviewer Size
Posudek oponenta [.pdf] 87,68 kB

Responsibility: Mgr. et Mgr. Hana Odstrčilová