Friedrich-Alexander-Universität Erlangen-Nürnberg  /   Technische Fakultät  /   Department Informatik

FAUmachine - A Configurable Virtual Machine

Links Related to FAUmachine

Emulators/Simulators and Virtualization Tools

User Mode Linux (UML) from Jeff Dike

User Mode Linux runs a complete Linux Kernel as a user mode process on top of a Linux Kernel running on real hardware. Lists a number of related projects (more than I do here).

Jeff Dike's UML is not the same as our FAUmachine, although they evolved round about at the same time and based on the same principles. Since then the two have diverged quite a lot.

QEMU from Fabrice Bellard

QEMU is a fast processor emulator. Using dynamic translation it achieves a reasonable speed while being easy to port to new host CPUs. In its user mode emulation mode, it can launch Linux processes compiled for one CPU on another CPU. In its full system emulation mode, it emulates a full system, including a processor and various peripherials.


VMWare[tm] is a virtual machine which runs as usermode process in Linux (or MS Windows). A number of OS built for x86 can be installed on this virtual machine.

Virtual PC[tm]

Virtual machine originally implementated by Connectix and bought by Microsoft. It runs on a variety of Microsoft OS and runs a number of different OS including Linux.


Formerly named FreeMware, an open source project to implement a virtual machine, onto which different OS built for x86 can be installed.


Simics simulates a processor at instruction set level. It is capable of simulating high-end target systems with sufficient speed to boot and run operating systems and commercial workloads. According to information from Simics people, it is also capable of fault injection into the simulated hardware.


Open source IA-32 processor & hardware simulator.


Stanford University mips and alpha hardware simulator.

Tools to Test/Benchmark Software Reliability


Ballista tests a number of Posix-Functions as to their reaction to a number of (according to the standard legal and illegal) input parameters. Information about POSIX Standards may be found at or with these Posix Links, including information about Checking Applications for POSIX Conformance.


Fuzz tests commandline and GUI applications by feeding them random input (character streams, keyboard and mouse events). Crash or hang of application is interpreted as failing the test, anything else passes. Tool is automated to a high degree.


CrashMe also uses random input to test applications.

Fault Injection Tools


Extended VHDL-Based fault injection (some papers).


MAFALDA is a fault injection tool to evaluate commercial micro-kernels. It was designed in a project by Dependable Computing and Fault Tolerance Department (from Laas - Research).

Conferences on Related Topics

(including Fault Injection, Dependability)