mi is a Linux command line utility that can identify potential deadlocks in multi-threaded applications. It can also collect statistics such as number of successful and failed mutex operations, time spent acquiring mutex locks, etc. It can also show call stacks for all mutex operations. It is able to identify the following conditions: the order of locking two mutexes in one thread is opposite to the order of locking the same mutexes in another thread; unlocking a mutex that was not locked earlier; a mutex is left locked after an application has finished; the order of unlocking mutexes does not correspond to the reverse order of locking these mutexes; and unlocking a mutex that was locked earlier in another thread.
MkDoc is a C and C++ code documentation tool. It parse complex code and still produces clear documentation for developers and library users. Unlike most code generation tools, it does not simply write generated code documentation with pieces of user text inside. Instead it handles plain documentation files with sections and other constructs (like Texinfo or LaTeX) and inserts pieces of generated code documentation on request. Thus it does not enforce any way of structuring your document. It has been designed to parse advanced C++ constructs including class inheritance, template specialization, and template instantiation. XHTML, Texinfo, LaTeX, and DocBook output formats are supported.
libpersist is a small library of C++ base classes and templates providing the capability to store and load objects in their entirety across executions. It also provides for object relocation between threads in a NUMA (non-uniform memory access) parallel processing environment. Objects are stored to disk as POD. They are reconstructed when reloaded into memory. Relocation is a special case of persistence, requiring reconstruction after the POD has been moved in memory. After all objects have been relocated, all references to the objects are swizzled (their IDs are resolved to their addresses), so that they can be dereferenced efficiently.
RunVCS is a restricted shell that allows the user to run version control software and only access specified repositories. It also provides other useful features such as changing the username that is passed to programs. Only SVN is supported currently, but more version control systems will be supported over time.