TAU (Tuning and Analysis Utilities) is a set of tools for analyzing the performance of C, C++, Fortran and Java programs. It collects much more information than is available through prof or gprof, the standard Unix utilities, including per-process, per-thread, and per-host information, inclusive and exclusive function times, profiling groups that allow you to organize data collection, access to hardware counters on some systems, per-class and per-instance information, the ability to separate data for each template instantiation, start/stop timers for profiling arbitrary sections of code, and support for collection of statistics on user-defined events.
Cactus is a general, modular, parallel environment for solving systems of partial differential equations. The code has been developed over many years by a large international collaboration of numerical relativity and computational science research groups and can be used to provide a portable platform for solving any system of partial differential equations.
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.
PCP (Pattern Classification Program) is a machine learning program for supervised classification of patterns. It runs in interactive and batch modes, and implements the following machine learning algorithms and methods: k-means clustering, Fisher's linear discriminant, dimension reduction using Singular Value Decomposition, Principal Component Analysis, feature subset selection, Bayes error estimation, parametric classifiers (linear and quadratic), pseudo-inverse linear discriminant, k-Nearest Neighbor method, neural networks, Support Vector Machine algorithm (SVM), model selection for SVM, cross-validation, and bagging (committee) classification.
PLplot is a library of C functions that are useful for making scientific plots from programs written in a wide variety of languages. It can be used to create standard x-y plots, semi-log plots, log-log plots, contour plots, 3D plots, shade (gray-scale and color) plots, mesh plots, bar charts, and pie charts. Multiple graphs may be placed on a single page with multiple lines in each graph. Different line styles, widths, and colors are supported. A virtually infinite number of distinct area fill patterns may be used. A variety of output devices and file formats are supported.
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.