Sciweavers

VEE
2010
ACM

Capability wrangling made easy: debugging on a microkernel with valgrind

14 years 6 months ago
Capability wrangling made easy: debugging on a microkernel with valgrind
Not all operating systems are created equal. Contrasting traditional monolithic kernels, there is a class of systems called microkernels more prevalent in embedded systems like cellphones, chip cards or real-time controllers. These kernels offer an abstraction very different from the classical POSIX interface. The resulting unfamiliarity for programmers complicates development and debugging. Valgrind is a well-known debugging tool that virtualizes execution to perform dynamic binary analysis. However, it assumes to run on a POSIX-like kernel and closely interacts with the system to control execution. In this paper we analyze how to adapt Valgrind to a non-POSIX environment and describe our port to the Fiasco.OC microkernel. Additionally, we analyze bug classes that are indigenous to capability systems and show how Valgrind’s flexibility can be leveraged to create custom debugging tools detecting these errors. Categories and Subject Descriptors D.2.5 [Testing and Debugging]; D.2.7 [...
Aaron Pohle, Björn Döbel, Michael Roitzs
Added 14 May 2010
Updated 14 May 2010
Type Conference
Year 2010
Where VEE
Authors Aaron Pohle, Björn Döbel, Michael Roitzsch, Hermann Härtig
Comments (0)