Thesis Details

Practical Application of Facebook Infer on Systems Code

Bachelor's Thesis Student: Beránek Tomáš Academic Year: 2020/2021 Supervisor: Vojnar Tomáš, prof. Ing., Ph.D.
Czech title
Praktická aplikace Facebook Infer na systémový kód
Language
English
Abstract

Static analysis is nowadays often used in the development process to find defects in the produced software. Although static analysis tools can effectively find bugs in software with millions of lines of code, they have also some disadvantages. The main disadvantages are the difficulty to deploy the chosen tool on the given project, high numbers of false reports, and the time and space requirements. This thesis focuses on mitigating these negative features of the Facebook Infer tool mainly for the context of using it to analyse Linux utilities shipped as SRPM packages. To simplify its deployment, an Infer plugin has been created for the csmock tool, which allows static analysers to run automatically on packages for CentOS or Fedora. To reduce the number of false reports, a filter has been created, which filters Infer's output according to several proposed heuristics based on experience obtained by analysing the reports produced by Infer. The filter has been also included into the csmock plugin and tested on a number of packages. On the analysed packages, the filter was able to remove 60 % of false reports with a loss of 2.5 % of real defects. The time required to run the analysis can be reduced by using incremental analysis. Shortcomings of the incremental analysis provided implicitly by Infer were experimentally found, so this thesis also describes the creation of a wrapper for Infer, which replaces the incremental analysis in Infer.

Keywords

static analysis, Facebook Infer, csmock, incremental analysis, automated analysis, SRPM package, integration of static analysers, false positive filtering, software analysis

Department
Degree Programme
Information Technology
Files
Status
defended, grade A
Date
15 June 2021
Reviewer
Committee
Vojnar Tomáš, prof. Ing., Ph.D. (DITS FIT BUT), předseda
Kořenek Jan, doc. Ing., Ph.D. (DCSY FIT BUT), člen
Peringer Petr, Dr. Ing. (DITS FIT BUT), člen
Ryšavý Ondřej, doc. Ing., Ph.D. (DIFS FIT BUT), člen
Citation
BERÁNEK, Tomáš. Practical Application of Facebook Infer on Systems Code. Brno, 2021. Bachelor's Thesis. Brno University of Technology, Faculty of Information Technology. 2021-06-15. Supervised by Vojnar Tomáš. Available from: https://www.fit.vut.cz/study/thesis/24187/
BibTeX
@bachelorsthesis{FITBT24187,
    author = "Tom\'{a}\v{s} Ber\'{a}nek",
    type = "Bachelor's thesis",
    title = "Practical Application of Facebook Infer on Systems Code",
    school = "Brno University of Technology, Faculty of Information Technology",
    year = 2021,
    location = "Brno, CZ",
    language = "english",
    url = "https://www.fit.vut.cz/study/thesis/24187/"
}
Back to top