gjrand is a programmer's library for pseudo-random numbers. It includes random number generator testing code and is intended for simulation, games, and "Monte-Carlo" algorithms. It produces pseudo-random numbers of the types: uniform integers, uniform reals, normally distributed reals, binomial, Poisson, integer permutation, chi-squared distribution, "Student" T distribution, and spherical distribution.
TSPSG is intended to generate and solve "travelling salesman problem" (TSP) tasks. It uses the Branch and Bound method for solving. Its input is a number of cities and a matrix of city-to-city travel costs. The matrix can be populated with random values in a given range (which is useful for generating tasks). The result is an optimal route, its price, step-by-step matrices of solving, and a solving graph. The task can be saved in an internal binary format and opened later. The result can be printed or saved as PDF, HTML, or ODF. TSPSG may be useful for teachers to generate test tasks or just for regular users to solve TSPs. Also, it may be used as an example of using the Branch and Bound method to solve a particular task.
DOMjudge is an automated judgement system to run programming contests. It provides a mechanism to submit problem solutions and interfaces for teams, the jury, and the general public. It is lightweight, and depends on standard software to do its task. It has a Web interface for portability and simplicity. It is scalable, so distributed judging is easy. There is a modular system for plugging in languages and compilers. It features rejudging, clarifications, and detailed submission/judging info.
Linux Desktop Testing Project is aimed at producing a high quality test automation framework and cutting-edge tools that can be used to test the GNU desktop and improve it. It uses the "Accessibility" libraries to poke through the application's user interface. The framework also has tools to record test-cases based on user-selection on the application.
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 .