J 2021

Reproducible execution of POSIX programs with DiOS

ROČKAI, Petr, Zuzana BARANOVÁ, Jan MRÁZEK, Katarína KEJSTOVÁ, Jiří BARNAT et. al.

Základní údaje

Originální název

Reproducible execution of POSIX programs with DiOS

Autoři

ROČKAI, Petr (703 Slovensko, domácí), Zuzana BARANOVÁ (703 Slovensko, domácí), Jan MRÁZEK (203 Česká republika, domácí), Katarína KEJSTOVÁ (703 Slovensko, domácí) a Jiří BARNAT (203 Česká republika, domácí)

Vydání

Software & Systems Modeling, Springer, 2021, 1619-1366

Další údaje

Jazyk

angličtina

Typ výsledku

Článek v odborném periodiku

Obor

10201 Computer sciences, information science, bioinformatics

Stát vydavatele

Německo

Utajení

není předmětem státního či obchodního tajemství

Odkazy

Impakt faktor

Impact factor: 2.211

Kód RIV

RIV/00216224:14330/21:00118773

Organizační jednotka

Fakulta informatiky

UT WoS

000582103200001

Klíčová slova anglicky

model checking; posix; operating system; llvm; verification; model

Příznaky

Mezinárodní význam, Recenzováno
Změněno: 28. 4. 2022 09:50, RNDr. Pavel Šmerk, Ph.D.

Anotace

V originále

In this paper, we describe DiOS, a lightweight model operating system, which can be used to execute programs that make use of POSIX APIs. Such executions are fully reproducible: running the same program with the same inputs twice will result in two exactly identical instruction traces, even if the program uses threads for parallelism. DiOS is implemented almost entirely in portable C and C++: although its primary platform is DiVM, a verification-oriented virtual machine, it can be configured to also run in KLEE, a symbolic executor. Finally, it can be compiled into machine code to serve as a user-mode kernel. Additionally, DiOS is modular and extensible. Its various components can be combined to match both the capabilities of the underlying platform and to provide services required by a particular program. Components can be added to cover additional system calls or APIs or removed to reduce overhead. The experimental evaluation has three parts. DiOS is first evaluated as a component of a program verification platform based on DiVM. In the second part, we consider its portability and modularity by combining it with the symbolic executor KLEE. Finally, we consider its use as a standalone user-mode kernel.

Návaznosti

GA18-02177S, projekt VaV
Název: Abstrakce a jiné techniky v semi-symbolické verifikaci programů
Investor: Grantová agentura ČR, Abstrakce a jiné techniky v semi-symbolické verifikaci programů