JLeak is a JVM agent meant to track down memory leaks within Java applications. It uses the javassist library to enhance Java classes in order to register instantiations and finalizations. The history view shows the stack trace of all new recorded instances. The graphic interface can be launched within the application or remotely as a dedicated process. Either way, the JLeak engine and the GUI communicate through network sockets. JLeak adds a reasonable memory overhead consumption, and can be easily launched through any IDE such as Eclipse, even on J2EE applications.
Ingatan is a clean, intuitive, and highly flexible memory quiz generator. It is perfect for a huge range of applications, including learning languages, remembering physics equations, labelling anatomical diagrams, practising any type of exam question, and reviewing organic chemistry mechanisms. When asking questions, a bias is placed toward those with a low historical grade. An inline symbol menu makes it easy to insert non-keyboard characters. Questions are intelligently organised into libraries, and libraries into groups, and can easily be shared.
exude is a simple to use memory debugger. It enhances standard memory allocation calls with simple replacements that add just a little more functionality, such as keeping track of whether memory was previously allocated, and prevents common errors such as double frees, memory leaks, and so on.
STMX is a high-performance Common Lisp library for composable Transactional Memory (TM), a concurrency control mechanism aimed at making concurrent programming easier to write and understand. Instead of traditional lock-based programming, one programs with atomic memory transactions: if a memory transaction returns normally it is committed. If it signals an error, it is rolled back. Transactions can safely run in parallel in different threads, are re-executed from the beginning in case of conflicts or if consistent reads cannot be guaranteed, and effects of a transaction are not visible from other threads until committed. This gives freedom from deadlocks, automatic rollback on failure, and aims to resolve the tension between granularity and concurrency.