Master's thesis
Awards: Dean's Award for an Outstanding Final Thesis

Compiling Applications for Analysis with DIVINE

Bc. Zuzana Baranová
Abstract

Verifikácia a formálna analýza softvéru je drahá a časovo náročná. Z tohoto dôvodu sa len zriedkavo použije takáto dôsledná analýza na nekritické programy. To ale neznamená, že by tieto techniky nemohli zlepšiť kvalitu a spoľahlivosť bežného softvéru a tvorcovia verifikačných nástrojov sa dlhodobo snažia o zjednodušenie ich použitia. V ideálnom prípade by sa formálna analýza stala bežnou súčasťou vývojového …more

Abstract

Verification and other formal analysis techniques are often demanding tasks, both in skill and time. This is why non-critical software is seldom subjected to the same rigorous analysis as safety-critical software. However, all software would benefit from an extra level of assurance of its reliability and there has been prolonged effort on the side of analysis tools developers to make their use easier …more

Thesis description
Programs can be automatically analysed at various levels: some tools work directly with the source code, while others load a compiled, executable binary. However, both those approaches have substantial downsides. For complex languages (like C++ or Rust), working with source code is too difficult. Binary code, on the other hand, is often too hard to analyse because most of the high-level structure of the program has been erased at this point, and is tied to a particular CPU ISA. For this reason, many analysis tools opt to instead work with an intermediate representation -- the LLVM IR in the case of DIVINE. However, this means that the software to be analysed must be compiled to this intermediate representation, and this currently needs to be done by hand. The goal of this thesis is to design and implement an extension to the C and C++ compiler toolchain based on LLVM and CLang, which would store the bitcode along standard machine code. The extended compiler, linker and related tools should transparently work with existing build systems. The hybrid binaries produced this way should be directly executable, but it should also be possible to load them into the DIVINE model checker (and possibly other LLVM-based tools) for analysis.
The thesis has been checked:
16/12/2019 07:49, doc. RNDr. Petr Švenda, Ph.D., UČO 4085
Language used
English English
Defence date
5/2/2020
The thesis was defended successfully

Supervisor

doc. RNDr. Petr Švenda, Ph.D., UČO 4085
KPSK FI MU

Reader

RNDr. Marek Chalupa, Ph.D.
KTP FI MU

Consultant

RNDr. Petr Ročkai, Ph.D., UČO 139761
KPSK FI MU

Masaryk University Faculty of Informatics
Programme
Applied Informatics
Field of Study

Theses on a related topic

List of theses with an identical keyword.

  • Přidání souboru

    Soubor nebo složku lze nahrát pomocí tlačítka Přidat.
  • Další operace se soubory

    Podrobnosti lze zjistit označením příslušného řádku.
  • Pohled pro experty

    Pro častou práci je možné zvolit režim Více možností.
  • Vyhledávání souborů

    Vyhledávaný výraz můžete zadat přímo do adresního řádku.
  • Rychlý přístup k souborům

    Pomocí funkce Nedávné je možné se rychle vrátit k právě prohlíženým souborům. Oblíbené soubory je také možné označit Hvězdičkou.