KEDR is a framework to facilitate dynamic analysis of kernel modules in Linux ("KEDR" is an acronym for "KErnel-mode Drivers in Runtime"). KEDR allows you to intercept the calls that a kernel module makes to the functions exported by other modules and by the kernel proper. The tools provided by the framework can record the arguments and return values of these functions to a trace, perform fault simulation according to user-defined scenarios, and check the kernel modules for memory leaks and some other kinds of problems. Custom data collection and analysis tools for the Linux kernel can also be built on top of KEDR framework.
ftracer is a simple user space implementation of a Linux kernel style function tracer. It allows you to trace every call in instrumented user applications. It is useful for debugging and performance analysis due to its fine grained time stamp. This allows you to do control flow oriented debugging without any special instrumentation. So if the program does something unexpected, it's easily possible to look at the function calls before that, and use that to deduce the cause of the problem. ftracer relies on gcc generating a call on top of every function call. The tracing slows every function call down (about 3x). The tracing is per thread and does not create a global bottleneck. It supports a dump function in C, directly callable by the program or on exit, and a gdb function to dump from gdb.
Termdebug is a set of utilities for recording and replaying the input and output of terminal programs. Its main goal is to aid in developing and debugging terminal programs. Other programs such as termrec/termplay, nethack-recorder/player, and script/scriptreplay only record the output. However, when debugging an interactive terminal program, the input is often as important as the output.
pymiproxy is a small, lightweight, man-in-the-middle embeddable proxy capable of performing HTTP and HTTPS (or SSL) inspection. The proxy provides a built-in certificate authority that is capable of generating certificates for SSL-based destinations. Pymiproxy is also extensible, and provides two methods for extending the proxy: method overloading and a pluggable interface. It is ideal for situations where you're in dire need of a proxy to tamper with out- and/or in-bound HTTP data.