Diplomová práce

Lazy object initialization support in KLEE

Bc. Jakub Novák
Anotace

KLEE je nástroj na dynamickú symbolickú exekúciu programov. Nástroj je schopný automatického generovania testov pre programy napísané v programovacích jazykoch preložiteľných do medzijazyka LLVM IR. KLEE ale v súčasnosti nedokáže spustiť programy z inej ako hlavnej funkcie main, pokiaľ tieto funkcie pracujú s globálnymi objektami, alebo berú funkčné argumenty. Cieľom tejto diplomovej práce je implementovať …více

Abstract

KLEE is a tool for dynamic symbolic execution. It can automatically generate test cases for computer programs written in programming languages, which can be translated to the LLVM IR code. KLEE is currently unable to execute the programs from a different function than the main if the function takes function arguments or uses global variables. This thesis focuses on implementing lazy initialization …více

Zadání práce
Compositional verification is a promising approach to software verification applicable to real-world programs. The idea is to analyze parts of the verified program in isolation and then compose the final result from the results of the verification of parts. The verification framework Symbiotic does not support compositional verification, in particular, its default verification backend, which is a fork of the state-of-the-art symbolic executor KLEE, does not support it. KLEE was designed to execute programs from the entry point (usually the function main()) and any attempt to start the execution from other point in the program fails on accessing non-existent memory objects. To enable analysis of program parts, such accesses must be intercepted and new objects must be lazily created to ensure that accesses to memory do not fail. The lazily allocated objects must be also properly initialized, e.g., in the case when they might contain pointers to other objects. The student will research the literature on this topic and implement some method of creating memory objects lazily into KLEE. The implementation will be thoroughly tested.
Práce zkontrolována:
24. 5. 2022 10:08, prof. RNDr. Jan Strejček, Ph.D., učo 3366
Jazyk práce
angličtina angličtina
Termín obhajoby
20. 6. 2022
Práce byla úspěšně obhájena

Vedoucí

prof. RNDr. Jan Strejček, Ph.D., učo 3366
KTP FI MU

Oponent

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

Konzultant

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

Masarykova univerzita Fakulta informatiky
Plán
Řízení vývoje softwarových systémů

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.