当前位置: X-MOL 学术Softw. Syst. Model. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Reproducible execution of POSIX programs with DiOS
Software and Systems Modeling ( IF 2 ) Pub Date : 2020-10-23 , DOI: 10.1007/s10270-020-00837-y
Petr Ročkai , Zuzana Baranová , Jan Mrázek , Katarína Kejstová , Jiříí Barnat

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.



中文翻译:

使用DiOS可重复执行POSIX程序

在本文中,我们描述了DiOS,这是一种轻量级的模型操作系统,可用于执行使用POSIX API的程序。这样的执行是完全可重现的:用相同的输入运行相同的程序两次将导致两条完全相同的指令跟踪,即使该程序使用线程进行并行处理也是如此。DiOS几乎完全用可移植的C和C ++实现:尽管其主要平台是DiVM(面向验证的虚拟机),但可以将其配置为也可以在符号执行器KLEE中运行。最后,可以将其编译为机器代码以用作用户模式内核。此外,DiOS是模块化和可扩展的。它的各种组件可以组合在一起以匹配基础平台的功能,并提供特定程序所需的服务。可以添加组件来覆盖其他系统调用或API,也可以删除组件以减少开销。实验评估分为三个部分。首先将DiOS评估为基于DiVM的程序验证平台的组成部分。在第二部分中,我们将其与符号执行器KLEE结合起来考虑其可移植性和模块化。最后,我们考虑将其用作独立的用户模式内核。

更新日期:2020-10-30
down
wechat
bug