BUSH (Business Shell) combines the capabilities of BASH, PHP, GCC, and databases into a uniform design for rapidly building secure, reliable Web sites. Based on an ISO standard, it promotes code reuse: scripts and templates can be compiled with GCC or ported to JVM or .Net using third party tools with only minor changes. It can also replace BASH as an interactive command shell with SQL support, and is a general purpose scripting language.
Fenris is a multipurpose tracer, debugger, and code analysis tool that detects and documents high-level language constructions, can recover symbols, graph program execution flow, detect internal functions, recover symbol tables, and deal with anti-debugging protection. It features a command-line interface as well as a SoftICE-alike GUI and Web frontend.
GPS is a free software multi-platform and multi-language integrated development environment (IDE). It provides a wide range of tools integrated together, and features particularly powerful source navigation capabilities. GPS also integrates GVD, the GNU Visual Debugger, and replaces it.
The GRASP Project has created an algorithmic-level graphical representation for software called the Control Structure Diagram (CSD). The CSD was created to improve the comprehension efficiency of Ada source code and, as a result, improve software reliability and reduce software costs. Since its creation, the CSD has been expanded and adapted to include other languages. GRASP provides the capability to generate CSD's from Ada 95, C, C++, Java, and VHDL source code in both a reverse and forward engineering mode with a level of flexibility suitable for professional application. GRASP has been integrated with the GNU family of compilers for Ada (GNAT) and C (gcc), and Sun's javac compiler for Java. Use of GRASP is not restricted to these compilers, however. This has resulted in a comprehensive graphically-based development environment for these languages. The user may view, edit, print, and compile source code as CSDs with no discernible addition to storage or computational overhead.
Glib Binding properties is a system that allows developers to bind properties of GLib and GTK+ objects (Ada95 bindings are also available). This makes it possible to synchronize the properties of several objects, so that when one property changes the properties bound with it automatically change accordingly. This often eliminates the need to write callbacks watching for changes of properties. It supports one-way and mutual bindings and bindings with transformation functions.