ROČKAI, Petr, Zuzana BARANOVÁ, Jan MRÁZEK, Katarína KEJSTOVÁ and Jiří BARNAT. Reproducible Execution of POSIX Programs with DiOS. In Peter Csaba Ölveczky and Gwen Salaün. Software Engineering and Formal Methods. 17th ed. Cham: Springer International Publishing, 2019, p. 333-349. ISBN 978-3-030-30445-4. Available from: https://dx.doi.org/10.1007/978-3-030-30446-1_18.
Other formats:   BibTeX LaTeX RIS
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
Original language English
Type of outcome Proceedings paper
Field of Study 10201 Computer sciences, information science, bioinformatics
Country of publisher Switzerland
Confidentiality degree is not subject to a state or trade secret
Publication form printed version "print"
WWW URL
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 0302-9743
Doi http://dx.doi.org/10.1007/978-3-030-30446-1_18
UT WoS 000716915400016
Keywords in English DIVINE; DiOS; operating system; formal verification; model checking; POSIX; C; C++
Tags firank_B
Tags International impact, Reviewed
Changed by Changed by: RNDr. Jan Mrázek, učo 422279. Changed: 25/10/2021 13:11.
Abstract
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 projectName: Abstrakce a jiné techniky v semi-symbolické verifikaci programů
Investor: Czech Science Foundation
MUNI/A/1018/2018, interní kód MUName: Rozsáhlé výpočetní systémy: modely, aplikace a verifikace VIII.
Investor: Masaryk University, Category A
MUNI/A/1108/2020, interní kód MUName: Rozsáhlé výpočetní systémy: modely, aplikace a verifikace X. (Acronym: SV-FI MAV X.)
Investor: Masaryk University
PrintDisplayed: 13/5/2024 11:29