GSOC Projects proposals

Gabriel Laskar gabriel at
Thu Feb 18 08:21:03 UTC 2016


Here is my 2 projects proposal for GSOC 2016.

Fault injection for syscalls
Suggested by: Gabriel Laskar

Strace is basically a big pattern matcher for syscalls. It is mainly
used for diagnostics and debugging purpose. But it seems that with a
code base like this we could do more. We receive an event at the start
and end of a syscall, and we have th possiblity to cancel a syscall,
and affect the output.

The basic idea is here to be able to inject some faults in programs, in
order to stress test them.

For example, we should be able to express that mmap() calls should fail
10% of the time. We could reuse `-e` option for that.

This is not a simple project, and there is multiple level of
possibilities here. This project can be greatly rewarding, as all the
apis needs to be designed.

Netlink socket parsers
Suggested by: Gabriel Laskar

Netlink is a network protocol that is used to communicate between the
kernel and the userspace. For example, iproute use netlink in order to
configure the network stack (interfaces, addresses, routes, etc…). It
is also used by the kernel to report hotplug events to the userland.

The goal here is to add support in strace to decode theses packet
structures in order to be able to debug and discover netlink messages.

With the base ground work done, it can be easily extended to support
more protocols.

Gabriel Laskar

More information about the Strace-devel mailing list