Diplomová práce
Získaná ocenění: Cena děkana FI za vynikající závěrečnou práci

Compiling Applications for Analysis with DIVINE

Bc. Zuzana Baranová
Anotace

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 …více

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 …více

Zadání práce
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.
Práce zkontrolována:
16. 12. 2019 07:49, doc. RNDr. Petr Švenda, Ph.D., učo 4085
Jazyk práce
angličtina angličtina
Termín obhajoby
5. 2. 2020
Práce byla úspěšně obhájena

Vedoucí

doc. RNDr. Petr Švenda, Ph.D., učo 4085
KPSK FI MU

Oponent

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

Konzultant

RNDr. Petr Ročkai, Ph.D., učo 139761
KPSK FI MU

Masarykova univerzita Fakulta informatiky
Studijní program
Aplikovaná informatika

Práce na příbuzné téma

Seznam prací, které mají shodná klíčová slova.

  • 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.