AffirmIt! is a supportive testing framework for Ruby. It tolerates all code, whether it exhibits behavioral challenges or not.
(Free for non-commercial use) AntiCutAndPaste is designed to search for text fragments that have been copied and pasted in programming language source code or plain text. It is tested on sources from large C++, Pascal, Java, and C# (Mono) projects. Algorithms used are very fast and can handle up to three million C++ code lines in one minute.
enables management to track dependencies, by their products, on third party
a reindenter and reformatter of C++, C and Java source code
atoum is a modern, simple and intuitive PHP 5.3+ unit testing framework.
Automated Argument Helper
Aargh is a code generator, written in C++ and licensed under the terms of the GNU General Public License (GPL). It generates C++ code to parse a command line, using the getopt() facility available in UNIX and UNIX-like environments. It supports command-line options with integer arguments, string arguments, and no arguments. The generated code is commented and carefully indented for readability.
indents C/C++ source programs, replacing tabs with spaces or the reverse. Unlike indent, it does not attempt to wrap long statements
Bicycle Repair Man!
an editor that automates Refactorings, a behaviour preserving change to source code
bprof is a utility that provides execution profiling per source code line.
(commercial) a unit testing tool that automatically tests any C and C++ class, function, or component without requiring developers to write a single test case, harness, or stub
a CASE tool which aid the process of design and code generation using visual modeling. This tool helps you in developing the class diagrams using UML notations and generates code accordingly
a graphical C/C++ source code searching and browsing tool, and a hierarchical function call viewer. Cbrowser is a front end to the popular source code indexing and querying program cscope
C and C++ Code Counter: a simple command line tool which parses files in the supported languages and builds a set of reports in HTML of numeric measurements (metrics) on those files
cflat filters C source for easier searching. It should also work for reasonably C-like languages like C++, Java, or C#. If you are brave you might even use it on Perl code.
cgvg is a pair of scripts written in Perl to give me the functionality of cscope(1), a tool which there is no good equivalent for in Open Source to date. MostLinux hackers get by with using find(1) and grep(1), so I've just made a nicer front-end to doing this.
a unit testing framework for C. It was inspired by similar
frameworks that currently exist for most programming languages; the most famous example being JUnit for Java
a development tool to help programmers write Java code that adheres to a coding standard
cindent is a fork of GNU indent with extensions. It is the version of "indent" used for ncurses, xterm, lynx, and other programs maintained by Thomas Dickey.
cipra is a simple, TAP-compatible Unit Testing Framework for C++.
ciss is a simple command line tool for helping to manage issues in human-workable ISSUES.txt files.
(commercial) a programmable tool for managing all C and C++ source code on a file or project basis
(commercial) a programmable tool for modifying all C and C++ source code on a file or project basis
codespell fixes common misspellings in text files. It's designed primarily for checking
misspelled words in source code, but it can be used with other files as well.
colorsvn is a Subversion output colorizer. It was extracted from kde-sdk, and was extended with build process and configuration.
a tool designed to facilitate rapidly generating programs that measure the performance and/or test the correctness of networks and network protocol layers. coNCePTuaL centers around a simple, domain-specific progamming-language; a few lines of coNCePTuaL code can produce programs that would take significantly more effort to write in a conventional programming language
given a source C/C++ file, produces an html source with syntax highlighting
to create a toolbox for C/C++ development. Among them, we intend to deploy a lint, a code beautifier, some refactoring tools, and any other that may shrink a month long task into a key hit
the C++ port of the famous JUnit framework for unit testing. Test output is in XML for automatic testing and GUI based for supervised tests
Create Java Logger
Create Java Logger adds logger code to all Java files recursively from a given directory.
a developer's tool for browsing program code. The cscope code has been released as Open Source
CUT is a tool to help programmers develop ProgrammerTests for their C-based software. CUT can be used to help test C, C++, Objective-C, and depending on the run-time environment, even assembly language software.
deheader analyzes C and C++ files to determine which header inclusions can be removed while still allowing them to compile.
dia2fsm reads DIA diagram files constructed in the prescribed format and produces Finite State Machine (FSM) skeleton code. It supports code generation to C and C++ and is built on Linux only.
Diffident is intended to be a diff editor that allows you to adjust the files you are comparing. It is also intended to be a patch editor.
DiffMerge is an application to visually compare and merge files on Linux, Windows, and OS X. Read more
Duplo is a tool to find duplicated code blocks in large C, C++, Java, C#, and VB.Net systems.
allows code written in an embeddable programming language to be called from another extendable programming language. Elmer generates "glue" code which embeds an interpreter for one type of language into an extension for anothe
a system for embedding Python expressions and statements in template text (or any other unexecuted content); it takes source files, processes them, and produces output. These are done via expansions, which are snippets of Python code delimited by character sequences involving a special prefix (by default the at sign, '@'), and are substituted in the output with the return value (for expressions) or with any in-Python printing to stdout that takes place (for both expressions and statements)
lets you neatly indent your C/C++ code
a better ctags with support for C, C++ and Java
This program reads C++ headers and generates the code necessary to expose public functions thru XMLRPC and OSC protocols.
a software tool that takes as input a file of FORTRAN 77
code and checks it according to various "coding conventions"
a programmer tool that provides source code browsing on UNIX-like operating systems. It is a clone of the cscope program but has its own unique features such as symbol completion and easy result browsing
a static analyzer for Fortran 77 programs. It is designed to detect certain errors in a Fortran program that a compiler usually does not
FunctionCheck is a profile generator for C/C++ programs. It uses the gcc feature '-finstrument-functions' to track each function enter or exit.
GCCSense is a set of intelligent development tools for C and C++ using GCC as backend. Code completion and automatic syntax checking are available. Emacs and Vim are currently supported
a generic syntax highlighter for PHP that takes any source code and highlights it in XHTML and CSS
gettext lint tools
The gettext lint tools is a collection of tools for checking the validity, consistency and spelling of PO and POT files. It also includes an experimental glossary building tool.
GIPSpin is a graphical interface programming system which allows code to be visualized and which can generate threaded code. The user constructs code segments using visual boxes. The program flow is represented as links between the boxes. Complex elements such as threader boxes are available to implement threading. Currently, simple C code can be automatically parsed and visualized. The user can also start with the GUI to construct code segments which are turned into C++ code.
GNU GLOBAL is a source code tagging system that works the same way across diverse environments (such as emacs, vi, less, bash, or a Web browser). It allows you to locate specified objects in source files and move there easily. It is useful for hacking a large project containing many subdirectories, many #ifdef directives, and many main() functions. It is similar to ctags or etags, but differs by being independent of any editor.
a collection of programs that given a source file, produces a document with syntax highlighting
a venerable C/C++ profiling from the GNU project. Provides flat profiles, call graphs and source code annotation. May require patching and various tweaking to profile multithreaded programs GPL
gProjectGenerator is a tool for developers who don't want to spend their time creating the source tree.
a C unit testing framework in the spirit of JUnit. The framework incorporates an easy-to-use GUI based on the GNOME libraries
a simple non-validating html and css1 parser for C++.
(commercial) lets you to rapidly check or systematically study your software on any level -- from its high level architecture to the details of its build, class, and function dependencies
can be used to make code easier to read. It can also convert from one style of writing C to another.
a python script that reads a file and tells
you what indentation is used inside the file. It is not tied to any particular language. It was tested successfully with C, C++, python and Java code
a set of templates for small programming projects in single languages. The goal is to provide a simple way to make highly portable and nicely distributable software that "just works". These templates allow you produce packages that the user simply downloads and runs with no mess, fuss
KScope is a KDE front-end to Cscope. It provides a source-editing environment for large C projects, such as the Linux kernel.
liwc is a tool suite which includes programs for converting C++ comments to C comments, removing C comments, printing string literals, and converting characters to trigraphs and trigraphs to characters.
lunit is a unit testing framework for lua, written in lua. It provides currently 26 assert functions, 8 type checking functions and a few misc functions for usage as an easy unit testing framework.
a simple utility that will automatically generate all the .h'' files for large programming project based on information gleaned from the .c'' or .cpp'' source files. It operates by scanning the C and/or C++ source code, extracting appropriate macros, structure and subroutine declarations and writing this declarations, in the correct order, into the generated header files
Mascot is a style checker for Objective Caml sources. It checks for overloading of built-in elements, useless constructs, deeply nested constructs, 'open' statements, magic numbers, complex conditions, presence of comments, spelling, empty interfaces and the number of exported elements, coupling, Halstead, and McCabe metrics, matching of regular expressions, and spaces, tabulation, headers, and file/line lengths. It supports CheckStyle, CSV, HTML, JDepend, bare text, and XML outputs, and supports plugins for custom checks and outputs.
Mock Objects for C++
a platform independent generic unit testing framework for C++. It's goal is to facilitate developing unit tests in the spirit of Mock Objects for Java and EasyMock
Neptuner (Neptuner Codebase Management Suite) is used to analyze and maintain C/C++ codebases. You can browse through, comment on, review, and analyze complexity, symbol usage(data and functions) and other characteristics of your codebase.
Objresolv inspects all symbols from a set of object files in order to detect if some local symbols are declared globals and/or if there is some dead code in the program. It uses nm or libbfd to parse symbols.
opag is a program to generate C code which parses command line options. It takes as input a description of the command line options you want your program to support. The output is a C function which finds these options in an array of strings (typically argv, the second parameter of the main function) and sets variables accordingly.
Open Office Software Development Kit
an add-on for OpenOffice.org. It provides the necessary tools and documentation for programming the OpenOffice.org APIs and creating your own extensions (UNO components) for OpenOffice.org
OProfile is a statistical profiler that is intended for use on production systems, for the profiling of the entire dynamic system, including the kernel, kernel modules, interrupt handlers, shared libraries, and user-space binaries. It makes use of the facilities provided by Intel P6 core processors such as the Pentium Pro to generate statistical execution profiles transparently. Read more
(commmercial) Open Systems Portability Checker: designed to help solve portability, compliance, maintainability and complexity problems
a Perl script which indents and reformats Perl scripts to make them easier to read
pfff_visual is a fancy code visualizer using treemaps and source code thumbnails rendered through Cairo
a GNUstep property list file editor
pydsc is a spell checker for Python documentation strings. After importing the pydsc module, every imported module will be checked for spelling errors in documentation strings and comments.
Pygments is a fast syntax highlighter written in Python with a special focus on details. It can highlight source code in many supported languages: Python, Ruby, PHP, HTML, etc. It outputs arbitrarily-styled HTML or LaTeX, and comes with many built-in styles.
pyobfuscate isa source code obfuscator: It makes Python source code hard to read for humans, while still being executable for the Python interpreter.
PySnippet is a code snippet manager for any language. It features a user defined folder hierarchy, syntax highlighting, automatic clipboard copying, and an XML based data file.
a set of tools to assess the quality of Python code. This is commonly done by applying different code metrics
a framework to perform unit testing which uses Qt to display the result of the tests and contains an example that show how to test a Qt application, even on user behaviour
a set of profiling utilities, currently targeting only linux. It includes a simple command line profiling tool
QSource-Highlight is a Qt4 front-end for GNU Source-Highlight. You can highlight your code on the fly, and have the highlighted output in all the formats supported by source-highlight (e.g. HTML, LaTeX, Texinfo, etc.).
a unit testing framework for c++, originally based on CppUnit
Rough Auditing Tool for Security is a security auditing utility for C, C++, Python, Perl and PHP code. RATS scans source code, finding potentially dangerous function calls.
riparty is a code visualization tool that generates a video based on the commit history.
(commercial) performs metrics and quality checks on C, C++ and Java source code and creates reports in HTML format
a Perl script which scans C++ source code for specially-formatted comments and produces attractive, organized, indexed documentation
Seascope is a multi-platform multi-language source code browsing tool. pyQt GUI front-end for idutils, cscope and gtags.
Simple C++ Unittest Framework
a simple, robust, easy to use C++ unit testing framework. The output is being integrated with doxygen for automatic results reporting as well
a set of tools for counting physical Source Lines of Code (SLOC) in a large number of languages of a potentially large set of programs
Sonar enables you to collect, analyze, and report metrics on source code. Sonar not only offers consolidated reporting on and across projects throughout time, but a central place to manage code quality.
Source Navigator NG
Source Navigator NG is based upon Red Hat's Source Navigator. Source Navigator is a source code analysis tool. With it, you can edit your source code, display relationships between classes and functions and members, and display call trees. Source Navigator NG tries to improve usability and performance.
a tool for statically checking C programs for security vulnerabilities and coding mistakes. With minimal effort, Splint can be used as a better lint. If additional effort is invested adding annotations to programs, Splint can perform stronger checking than can be done by any standard lint
sql2class is a code generation tool, able to convert output from the mysql tool mysqldump to simple C++ classes.
a simple little filter for stripping comments from C, C++, and Java source code. It can function as a FIFO filter or work as a normal commandline utility. It's written in ANSI C
(commercial) an advanced tool for making C and C++ source code difficult to understand and adapt. It's useful for cases when source code of some project needs to be shipped without fear of intellectual property theft or illegal code reuse
Stunnix Perl-obfus is an obfuscator for the Perl source code. It converts the perl source files (.pl and .pm) into highly mangled and obfuscated form, making it extermely difficult to study, analyse, reuse and re-work for competitors or customers, while fully retaining functionality of the original source code.It's not a compiler to machine code - the obufscated form will still be the usual perl source code, thus it will work on all platforms the original source worked on.
a code generator for Haskell data types, parsers, and pretty-printers, from a formal description of the abstract and concrete syntax they are intended to work with
TagManager is a library for creating, managing and querying tags in a variety of languages. It is similar to, and based on Exuberent CTags. Currently, TagManager is used in Anjuta.
"Test soon" is a testing framework trying to enable you to write tests quickly, organize them easily and still being flexible.
Uncrustify is a source code beautifier that allows you to banish crusty code. It works with C, C++, C#, D, and Java and indents (with spaces, tabs and spaces, and tabs only), adds and removes newlines, has a high degree of control over operator spacing, aligns code, is extremely configurable, and is easy to modify.
Understand for C++
(commercial) a reverse engineering, documentation and metrics tool for C and C++ source code. It offers code navigation using a detailed cross reference, a syntax colorizing "smart" editor, and a variety of graphical reverse engineering views
The unifdef utility selectively processes conditional C preprocessor #if and #ifdef directives. It removes from a file both the directives and the additional text that they delimit, while otherwise leaving the file alone.
a unit testing framework for programmers using Oracle's PL/SQL language
xxdiff is an open source graphical file and directories comparator and merge tool. xxdiff can be used for viewing the differences between two or three files, or two directories, and can be used to produce a merged version. The texts of the two or three files are presented side by side with their differences highlighted with colors for easy identification. Read more
Yasca looks for security vulnerabilities, code-quality, performance, and conformance to best practices in program source code.
scans your target and unit-test code and writes your missing code based on simple naming rules, enabling XP at a much quicker pace