D 2019

Reproducible Execution of POSIX Programs with DiOS

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

Basic information

Original name

Reproducible Execution of POSIX Programs with DiOS

Authors

ROČKAI, Petr (703 Slovakia, belonging to the institution), Zuzana BARANOVÁ (703 Slovakia, belonging to the institution), Jan MRÁZEK (203 Czech Republic, belonging to the institution), Katarína KEJSTOVÁ (703 Slovakia, belonging to the institution) and Jiří BARNAT (203 Czech Republic, guarantor, belonging to the institution)

Edition

17th ed. Cham, Software Engineering and Formal Methods, p. 333-349, 17 pp. 2019

Publisher

Springer International Publishing

Other information

Language

English

Type of outcome

Stať ve sborníku

Field of Study

10201 Computer sciences, information science, bioinformatics

Country of publisher

Switzerland

Confidentiality degree

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

Publication form

printed version "print"

References:

Impact factor

Impact factor: 0.402 in 2005

RIV identification code

RIV/00216224:14330/19:00107772

Organization unit

Faculty of Informatics

ISBN

978-3-030-30445-4

ISSN

UT WoS

000716915400016

Keywords in English

DIVINE; DiOS; operating system; formal verification; model checking; POSIX; C; C++

Tags

International impact, Reviewed
Změněno: 25/10/2021 13:11, RNDr. Jan Mrázek

Abstract

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. New components can be added to cover additional system calls or APIs. The experimental evaluation has two 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.

Links

GA18-02177S, research and development project
Name: Abstrakce a jiné techniky v semi-symbolické verifikaci programů
Investor: Czech Science Foundation
MUNI/A/1018/2018, interní kód MU
Name: Rozsáhlé výpočetní systémy: modely, aplikace a verifikace VIII.
Investor: Masaryk University, Category A
MUNI/A/1108/2020, interní kód MU
Name: Rozsáhlé výpočetní systémy: modely, aplikace a verifikace X. (Acronym: SV-FI MAV X.)
Investor: Masaryk University