Robust, Lightweight, Cross-platform, Template Software. STLSoft is a collection of STL and standard library extensions, and facades over operating-system and 3rd-party APIs.
Finds vulnerabilities in C/C++ source code
Flawfinder is a program that examines C source code and reports possible security weaknesses (``flaws'') sorted by risk level. It's very useful for quickly finding and removing some security problems before a program is widely released.
CCCC is a tool which analyzes C++ and Java files and generates a report on various metrics of the code. Metrics supported include lines of code, McCabe's complexity and metrics proposed by Chidamber&Kemerer and Henry&Kafura.
Python package to retrieve and manage data of the IMDb
IMDbPY is a Python package useful to retrieve and manage the data of the IMDb movie database about movies, people, characters and companies. Platform-independent, it can retrieve data from both the IMDb's web server and a local copy of the whole db.
Open System Testing Architecture - a distributed software testing architecture designed around CORBA. The current toolset has the capability of performing scripted Web (HTTP and HTTPS) heavy load tests with performance measurements from Win32 platforms.
SLOCCount is an easy-to-use tool that counts Source Lines of Code (SLOC). It auto-determines the language(s) (inc. C, C++, Ada, Assembly, shell, COBOL, C#, Fortran, Haskell, Java, LISP/Scheme, Perl, PHP, Python, Ruby, SQL). It also estimates cost & time.
A model-based test automation framework for GUI applications
This framework supports a wide variety of model-based GUI testing techniques. The innovation lies in the architecture of GUITAR, which uses plug-ins to support flexibility and extensibility. Software developers and quality assurance engineers may use this architecture to create new toolchains, new workflows based on the toolchains, and plug in a variety of measurement tools to conduct GUI testing. More detail is presented in this publication: GUITAR: An Innovative Tool for Automated Testing of GUI-driven Software. Bao N. Nguyen, Bryan Robbins, Ishan Banerjee, and Atif Memon. Automated Software Engineering Journal. p.21, 1. 2014
netstress is a client/server utility designed to stress & benchmark network activity of a given ethernet device or path using simulated (random) real world data and packet sizes instead of fixed data and packet sizes.
ebizzy is designed to generate a workload resembling common web application server workloads. It is highly threaded, has a large in-memory working set, and allocates and deallocates memory frequently.
AceUnit (Advanced C and Embedded Unit): a comfortable C code unit test framework. AceUnit is JUnit 4.x style, easy, modular and flexible. AceUnit can be used in resource constraint environments, e.g. embedded software development.
PEP is a modelling and verification framework for parallel systems, providing a large number of different modelling languages and verification techniques (e.g. SDL, Petri nets and model checking)
banshee-- A toolkit for building constraint-based program analyses
This profiler (JRE 1.5.0 only) uses JVMTI and native bytecode instrumentation for the analysis of the heap, reachable objects, execution time, garbage collection efficiency, code coverage and thread contention. No preparation steps required in build.
Software Unit Tests (Language Independent Approach)
Automation of Unit and System Tests. Tests can be implemented in any language and on many platforms. The flexible approach enables the inclusion of many types of tests, such as memory leak checks (using valgrind), coding rule checks, complexity checks, etc. Tests are run by a simple call to hwut in a base directory of a project. In particular for C, HWUT supports make file generation using 'sos' and 'sols' modes. Remote control-able function stubs may be generated using the 'stub' mode. Test cases can be generated using the 'gen' mode, and state machine walkers by the 'sm_walker' mode. Over the last decade HWUT has matured towards a full fledged unit test tool for a wide variety of applications.
LeakTrack provides memory leak tracking and out-of-range access checks for acquired memory blocks for you C/C++ applications on each platform.
Unit Test for C is a very useful and powerful software development tool for C and C++ programmers. It is designed to provide a great deal of functionality in a very small package and functions nearly identically on Windows and UNIX systems.
The Compartmented Robust Posix C++ Unit Test system. crpcut is a simple to use unit test system for C++, where each test case is run in its own process and own working directory, to ensure that each test case starts from a clean slate.
An advanced cross platform fuzzing framework suited to find code bugs.
ansvif, or A Not So Very Intelligent Fuzzer, suited to find bugs in code by throwing garbage arguments, files, and environment variables at the target program, that you may or may not have the source code to. It supports many features, such as buffer size, randomization of the buffer size, random data injection, templates, and much more. The purpose of this project is to identify bugs in software, specifically bugs that can induce a segmentation fault under various conditions. This aids security researchers in writing buffer overflows, input validation vulnerabilities, as well as helping one audit code for general logic mistakes.
ggcov is a GTK+ GUI for exploring test coverage data produced by C programs compiled with gcc --coverage. It's basically a GUI replacement for the gcov program that comes with gcc.
Automatic correction of software bugs and grammar mistakes
Automatic correction of software bugs announced in compilers (clang, gcc) / Static Code Analysis tools (cppcheck, FindBugs) and grammar/style errors like in LanguageTool. Usage: use tool (e.g. cppcheck) and store results in a text file. Afterwards call: autoreplacerplus mytextfile
Proshee is a Prolog type-inference system written in Prolog but depending on the banshee project in C (banshee.sourceforge.net). At present it manages very simple type-inference, but it has some problems with lists that need to be overcome.
Splaticus is a command-line-based bug tracker. It is intended for small, single developer projects. The goal here is speed. If you code at the speed of sound, waiting for groupware bug-tools to catch up can seriously deflate your Karma. Enter Splaticus.
X11::GUITest, is a Perl package, used for controlling applications by means of user emulation. This can be used to interact (SendKeys, ClickMouseButton, FindWindowLike, etc.) with applications running under an X Windows environment. Including applications built (GTK+, Qt, Motif, etc.) upon X11 / Xlib. You may find that this mechanism is easier to use then that provided by xautomation or xdotool.
A Tool to Validate Function Calls using Model Checking Techniques
Utility to dump undecorated C++ symbols from C/C++ libraries in a sorted fashion. Useful for testing new library versions for backwards ABI compatibility, among other things. Requires a valid install of VS.Net 2003 or VS 2005, and the .NET 2.0 framework.