Links:
AntiCutAndPaste (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. APIdeduce enables management to track dependencies, by their products, on third party Artistic Style a reindenter and reformatter of C++, C and Java source code 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. bcpp 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 bprof is a utility that provides execution profiling per source code line. C++Test (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 Cacheprof a tool designed to help programmers quantify and understand the cache behaviour of programs and algorithms. With this knowledge, you might be able to modify your code to be more cache-friendly and thereby faster CAFE Linux 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 Cbrowser 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 CCCC 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 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 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. Check 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 Checkstyle a development tool to help programmers write Java code that adheres to a coding standard CodeCheck (commercial) a programmable tool for managing all C and C++ source code on a file or project basis CodeFIX (commercial) a programmable tool for modifying all C and C++ source code on a file or project basis colorsvn colorsvn is a Subversion output colorizer. It was extracted from kde-sdk, and was extended with build process and configuration. coNCePTuaL 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 cpp2html given a source C/C++ file, produces an html source with syntax highlighting cpptools 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 CppUnit 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. Cscope a developer's tool for browsing program code. The cscope code has been released as Open Source CUT 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. dcc a product checking that a C source file complies with the precepts of Disciplined C, a set of rules intended to elevate ANSI C to the rank of high level language (as opposed to portable assembly language), and to make as much semantics as possible flow from the design to the source code dia2fsm 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. Duplo Duplo is a tool to find duplicated code blocks in large C, C++, Java, C#, and VB.Net systems. elmer 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 empy 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) ErlTools lets you neatly indent your C/C++ code Exuberant Ctags a better ctags with support for C, C++ and Java Fakiir This program reads C++ headers and generates the code necessary to expose public functions thru XMLRPC and OSC protocols. floppy a software tool that takes as input a file of FORTRAN 77 code and checks it according to various "coding conventions" freescope 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 ftnchek 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 FunctionCheck is a profile generator for C/C++ programs. It uses the gcc feature '-finstrument-functions' to track each function enter or exit. GENSCREEN C/C++ Code Generator (commercial) a C/C++ code generator for building screens using the ncurses library. It allows you to lay out screen designs using any text editor, then run the text file through Genscreen to create a ready-to-compile C/C++ source file GeSHi 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 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 Autounit GNU Autounit is a common unit testing framework for application developers who use GNU Autoconf already in their projects but do not currently use a unit testing framework. GNU GLOBAL 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. GNU Source-highlight a collection of programs that given a source file, produces a document with syntax highlighting gprof 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 gProjectGenerator is a tool for developers who don't want to spend their time creating the source tree. GUNit a C unit testing framework in the spirit of JUnit. The framework incorporates an easy-to-use GUI based on the GNOME libraries htmlcxx a simple non-validating html and css1 parser for C++. Imagix 4D (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 indent can be used to make code easier to read. It can also convert from one style of writing C to another. Indent Finder 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 inheritanCe a tool for browsing the class inheritance tree in OO programming languages java2html a simple program that, given a source java file, produces an html source with syntax highlighting kowey-generic 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 KScope is a KDE front-end to Cscope. It provides a source-editing environment for large C projects, such as the Linux kernel. lunit 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. makeheaders 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 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 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 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 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 OSPC (commmercial) Open Systems Portability Checker: designed to help solve portability, compliance, maintainability and complexity problems Perltidy a Perl script which indents and reformats Perl scripts to make them easier to read PlistEditor a GNUstep property list file editor pydsc 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 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 pyobfuscate isa source code obfuscator: It makes Python source code hard to read for humans, while still being executable for the Python interpreter. PySnippet 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. Pythius a set of tools to assess the quality of Python code. This is commonly done by applying different code metrics QCppUnit 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 qprof a set of profiling utilities, currently targeting only linux. It includes a simple command line profiling tool QtUnit a unit testing framework for c++, originally based on CppUnit RATS 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. RSM (commercial) performs metrics and quality checks on C, C++ and Java source code and creates reports in HTML format ScanDoc a Perl script which scans C++ source code for specially-formatted comments and produces attractive, organized, indexed documentation 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 SLOCCount 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 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. Splint 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 sql2class is a code generation tool, able to convert output from the mysql tool mysqldump to simple C++ classes. StripCmt 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 Stunnix CXX-Obfus (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 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. syntran 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 Tag Manager 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 "Test soon" is a testing framework trying to enable you to write tests quickly, organize them easily and still being flexible. turner will happily convert C, C++, or Java source code into nicely syntax hilighted HTML, with a few bells and whistles thrown in Uncrustify 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 utPLSQL a unit testing framework for programmers using Oracle's PL/SQL language Whitespace cleans up bogus whitespaces in source files xxdiff a graphical file comparator and merge tool ZenTest scans your target and unit-test code and writes your missing code based on simple naming rules, enabling XP at a much quicker pace