Valgrind is a tool that helps you find memory management problems in programs. When a program is run under Valgrind's supervision, all reads and writes of memory are checked, and calls to malloc/new/free/delete are intercepted. As a result, Valgrind can detect problems such as use of uninitialized memory, reading/writing of memory after it has been freed, reading/writing off the end of malloced blocks, reading/writing inappropriate areas on the stack, memory leaks in which pointers to malloced blocks are lost forever, passing of uninitialized and/or unaddressable memory to system calls, and mismatched use of malloc/new/new  vs. free/delete/delete .
Cobra is a general purpose programming language with a clean, high-level syntax. It provides language level features for quality, including first class unit tests and Eiffel-style contracts. It supports both static and dynamic binding. Cobra is a compiled language with good run-time performance, but also provides some scripting conveniences such as a pound-bang line (#!) and one step compile-and-run. Cobra runs on Linux, Mac, Windows, and anywhere else that Novell Mono or MS .NET exist, including handhelds.
Apache uimaFIT provides Java annotations for describing UIMA components which can be used to directly describe the UIMA components in Java code without the need for traditional UIMA XML descriptors. This greatly simplifies refactoring a component definition (e.g., changing a configuration parameter name). It also makes it easy to instantiate UIMA components without using XML descriptor files by providing convenient factory methods. It is ideal for testing UIMA components because the component can be easily instantiated and invoked without requiring a descriptor file to be created first.
XMLUnit provides assertions and supporting class libraries to test various properties of generated pieces of XML using a popular testing framework. It supports finding the differences between two pieces of XML, validating documents against DTDs or XML Schemas, testing the results of XPath expressions, or asserting properties of Nodes exposed via DOM traversal. Two branches exist: one that supports Java and JUnit and one that supports the .NET Framework and NUnit.
Asymptopia Crossword Builder (Math/Text) is an application that runs in any modern Web browser, but does not require an Internet connection (if it is installed locally). The application was designed to allow teachers to quickly produce well-designed, challenging activities. The application features a configuration panel where the user can either enter their own word-hint pairs, or generate math-crossword problems via a single button. The math functionality generates word:hint pairs like: "four:7/x-3/8=11/8", where the hint corresponds to the problem, and the student would write the letters "four" in the corresponding boxes of the puzzle.
UPPAAL is an integrated tool environment for modeling, validation, and verification of real time systems, modeled as networks of timed automata, extended with data types (bounded integers, arrays, etc.). Typical application areas include real time controllers and communication protocols, in particular those where timing aspects are critical.
TestLink is a test management tool and execution tracking system with Web based and SOAP interfaces. It helps streamline the software development process. It enables quality assurance teams to create and manage their test cases and organize them into test plans and execute them. Users can also manage requirements, create reports, and directly work with bug trackers.
Aegis is a transaction-based software configuration management system. It provides a framework within which a team of developers may work on many changes to a program independently, and Aegis coordinates integrating these changes back into the master source of the program, with as little disruption as possible. Aegis supports geographically distributed development.
Daikon is an implementation of dynamic detection of likely invariants. An invariant is a property (such as "x=2*y+5" or "this.next.prev = this" or "myarray is sorted by <") that holds at a certain point or points in a program. Invariants are often seen in assert statements, documentation, and formal specifications. Invariants can be useful in program understanding and a host of other applications. Daikon runs a program, observes the values that the program computes, and then reports properties that were true over the observed executions. It can detect properties in Java, C, C++, Perl, and IOA programs, in spreadsheet files, and in other data sources.