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.
SLOCCount is a suite of programs for counting physical source lines of code (SLOC) in possibly large software systems. It can count physical SLOC for a wide number of languages. It can take a large set of files and automatically categorize their types using a number of different heuristics, and also comes with analysis tools.
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.
PCL is a software library to access hardware performance counters on many microprocessors through a uniform interface and with low overhead. Language bindings exist for C, C++, Fortran, and Java. It is intended to be used by the expert application programmer who wishes to do detailed analysis on program performance, and it is intended to be used by tool writers which need a common platform to base their work on.
FTIDOE is a comprehensive tool for performing the complex process of dynamic energy analysis. This software enables architects and engineers to perform a comprehensive analysis of dynamic heating and cooling loads, simulation of heating and cooling distribution systems, modeling of equipment supplying the required energy, and calculation of the life-cycle costs of owning and operating energy systems for buildings. It can simulate hour-by-hour performance for buildings ranging in size from a small one room residence to a large multi-storied structure for each of the 8760 hours in a year.
The National Space Science Data Center's (NSSDC) Common Data Format (CDF) is a self-describing data abstraction for the storage and manipulation of multidimensional data in a platform- and discipline-independent fashion. It consists of a scientific data management package (known as the "CDF Library") that allows programmers and application developers to manage and manipulate scalar, vector, and multi-dimensional data arrays.
Babel is an IDL-based language interoperability tool specific to engineering and scientific applications. It allows Fortran 77, Fortran 90, C, C++, Java, and Python to call each other in a single address space for maximum performance. Babel won a 2006 R&D 100 award from R&D Magazine.