MetaRuby contains miscellaneous libraries (useful now) for a future Ruby-in-Ruby interpreter including Array/Hash/String as abstract ("Hollow") classes, an undo queue, a statistical time-profiler, an event loop, a modular marshaller ("ToSource"), a specification for a modular+reflexive+homoiconic remote call system ("LGRAM"), a declarative type system, a schema for expressing Ruby source code as proper (non-special) Ruby objects, etc.
Chump is a table-driven assembler and dissembler with a very fast new architecture input format. Both the assembler and disassembler are created using a single description. It comes with descriptions for ARM, MIPS, Stump, and 6809. It is intended for use as a library compiled with other programs to allow line assembly and disassembly.
CCured is a source-to-source translator for C. It analyzes the C program to determine the smallest number of run-time checks that must be inserted in the program to prevent all memory safety violations. The resulting program is memory safe, meaning that it will stop rather than overrun a buffer or scribble over memory that it shouldn't touch. Many programs can be made memory-safe this way while losing only 10-60% run-time performance. CCured can find more bugs that Purify misses but with much less run-time cost.
Sparse is a semantic parser of source files. It's neither a compiler (although it could be used as a front-end for one) nor a preprocessor (although it contains a preprocessing phase). It is meant to be a small, simple, easy to use library. Its function is to create a semantic parse tree for some arbitrary user for further analysis. It's not a tokenizer, nor is it a generic context-free parser. Context (semantics) is what it's all about: figuring out not just what the grouping of tokens are, but what the types are that the grouping implies.
RJCE enables the editing of any method at runtime, applying the changes to any combination of objects, such as an array, or a complete class. It consists of a compiler, javaprec, and an IDE, Runtime Object Modifier (ROM). javaprec is used to compile programs, enabling runtime editing, and uses both sun.tools.javac and ANLTR for compilation. ROM is a JFrame used for editing methods, browsing classes, and viewing variables at runtime. It also includes an interpreter that runs Java scripts (which circumvent normal language access control) and is run from within any Java program. Aspects are also incorporated into RJCE, to enhance runtime editing.
Pin is an ATOM-like instrumentation tool for Linux executables. It allows arbitrary code (written in C or C++) to be injected at arbitrary places in an executable. Unlike Atom, Pin does not perform the instrumentation statically by rewriting the executable, but rather dynamically by adding instrumentation while the executable is running. Currently supported platforms include IA-32, Intel Xscale, and Itanium processors.
Groovy is an agile, dynamic language for the JVM which combines many features from languages like Python, Ruby, and Smalltalk and makes them available to Java developers using a Java-like syntax. It is designed to help get things done on the Java platform in a quicker, more concise, and fun way. It can be used as an alternative compiler to javac to generate standard Java bytecode to be used by any Java project or it can be used dynamically as an alternative language, such as for scripting Java objects, templating, or writing unit test cases.
Continuum is a continuous integration server. It makes sure that software always builds and works as expected. Continuous integration allows software projects to find and identify problems as soon as code is in the source control system. It currently supports building Apache Maven v1 and v2 projects.
Oink is a collaboration of backends for the Elsa C and C++ frontend. It aims to be industrial-strength for immediate utility in finding bugs, extensible for ease in adding backends, and composable for ease in combining existing ones. It computes expression-level and type-level data flow, and statement-level intra-procedural control flow (by delegating to Elsa). It's easy to get started by using the two demo backends that print graphs of these flows. It also comes with a client of the data flow analysis that does type qualifier inference: Cqual++, a C/C++ frontend for Cqual. Whole-program analyses may be attempted using the linker imitator.