Program Understanding Tools

http://www.softpanorama.org/SE/program_understanding.shtml


Presentation Engine for Software Comprehension and Explanation : http://www.isi.edu/isd/I-DOC/CSS98.html

More tools


ArgoUml - a Java open source UML Tool that can reverse engineer java source files and folders and generate UML diagrams.
http://www.argouml.org/

Bauhaus http://www.bauhaus-stuttgart.de
Bunch - a software clustering/modularization tool by Mancoridis, from Drexel University, Philadelphia.
http://serg.cs.drexel.edu/projects/bunch/

Code Navigator
http://sources.redhat.com/sourcenav/index.html

CodeCrawler
http://www.iam.unibe.ch/~lanza/CodeCrawler/codecrawler.html

RBCrawler
http://smallwiki.unibe.ch/rbcrawler

CIAO - a graphical navigator for software and document repositories. AT\&T Labs-Research.
http://www.research.att.com/~ciao/

StarBrowser - Smalltalk Lightweight Classification Model and the Star Browser
http://iamwww.unibe.ch/~wuyts/StarBrowser/index.html

CodeRover - see DISCOVER
CodeSurfer - a maintenance, understanding, and inspection tool.
http://www.grammatech.com/products/codesurfer/index.html

CodeWizard - a source code analysis tool that implements coding guidelines for C and C++.
http://www.parasoft.com/jsp/products/home.jsp?product=Wizard&/cplus/index.htm

Columbus/CAN - reverse engineering framework and C++ front end of FrontEndART (free for academic purposes).
http://www.frontendart.com/

CPPX - a free, open source, general purpose parser and fact extractor for C++. It relies on the preprocessing, parsing, and semantic analysis of GNU g++, and produces a graph according to the Datrix fact model, in either GXL, TA, or VCG format.
http://www.swag.uwaterloo.ca/~cppx/

Crocodile
http://kastanie.informatik.tu-cottbus.de/crocodile.htm

dead link!

CXREF - a C language cross referencing and documenting tool. It produces documentation (in LaTeX, HTML, RTF or SGML) including cross-references from C program source code. From Andrew M. Bishop.
http://www.gedanken.demon.co.uk/cxref/

Datrix - software source code assessments with the goal of evaluating the maintainability and the evolability of software products.
http://www.iro.umontreal.ca/labs/gelo/datrix/

dead link!

daVinci - a X-Window visualization tool for drawing directed graphs.
http://www.tzi.de/~davinci/

Design Recovery Tool
http://www.cse.unsw.edu.au/~drt/

DISCOVER - a commercial a software development and maintenance environment Carnegie Mellon University, 1996 http://www.setech.com then bought by MKS (formerly Upspring Software) and integrated into CodeRover. Supports Impact Analysis, Integrity Checker... Commercial, Integration into VisualStudio, JBuilder, Emacs.
http://www.mks.com/upspring.shtml

GEN++ - an application-generator to support development of analysis tools for the C++ language. From UC Davis and Bell Labs. http://www.cs.ucdavis.edu/~devanbu/genp/
GOOSE - a tool set for analysing the design of object-oriented software systems (FAMOOS project).
http://esche.fzi.de/PROSTextern/software/goose/index.html

GraphViz - a graph visualization
http://www.research.att.com/sw/tools/graphviz/

GraVis
http://www-pr.informatik.uni-tuebingen.de/Forschung/GraVis/welcome.html

Headway - Structure101 lets you quickly understand, measure and control the structure (architecture, design, composition, dependencies, ...) of your code-base (Commercial).
http://www.headwaysoftware.com/

IDA - (interactive disassembler) reverse engineering at low level.
http://www.datarescue.com/idabase/

Imagix - a 3D query and visualization tool.
http://www.imagix.com

inSight tool suite - Nortel.
http://case.ispras.ru/insight/index.html

Insure+ - a source level run-time debugger for C and C++.
http://sdt.cern.ch/Insure/

Introspector - A long term project to extract MetaData from FreeSoftwareTools like the Gcc,Perl,Bash. From James Michael DuPont
*http://introspector.sf.net

Juliet - an IDE extension for NetBeans, Forte, JBuilder, JDeveloper.
http://infotectonica.com/juliet/

Klocwork Suite - a commercial suite of RE products targeted at C, C++, and Java.
http://www.klocwork.com/

Lattix LDM - Dependency Structure Matrix (DSM) approach to visualize and manage Java, .NET and C/C++.
http://www.lattix.com/

Logiscope - a source code analyser and test coverage tool for C/C++/Fortran. Telelogic.
http://sdt.cern.ch/Logiscope/

PBS Portable Bookshelf
http://swag.uwaterloo.ca/pbs/

PL/I Analyzer (REFINE) - an interactive workbench used to analyze and reengineer legacy PL/I systems. Phoenix Software Technologists.
http://stout.levtech.com/

Refactorit - an IDE extension with metrics and refactorings engine and integration for Forte.
http://www.refactorit.com/

Rigi
http://www.rigi.csc.uvic.ca/

SHriMP
http://www.thechiselgroup.org/shrimp

SNiFF+ - supports reverse engineering, configuration management, workspaces and build management and provides a set of browsers and parsers. Commercial.
http://www.windriver.com/products/html/sniff.html

Sotograph - analysis of large-scale object-oriented software systems, reverse engineering, architectural verification, code smells, trend analysis. Commercial.
http://www.sotograph.com

Source Browser. C Code Browser, non-commercial, Adam Moravanszky.
http://n.ethz.ch/student/adammo/ProBrowser.htm

SOURCE CODE BROWSER - commercial product by Alajava.
http://www.alajava.com/aubjex/products.htm

Source Explorer - commercial tool for source code browsing and re-engineering.
http://intland.com/html/__source_explorer.html

Source Insight - a commercial project oriented program editor with built-in analysis for C/C++, and Java programs.
http://www.sourcedyn.com/

Source Navigator
http://sources.redhat.com/sourcenav/

http://oimanager.de/sn.htm (Internet Extensions)

SPOOL - Spreading Desirable Properties into the Design of Object-Oriented, Large-Scale Software Systems.
http://www.iro.umontreal.ca/labs/gelo/spool/

StP - an UML Editor by Software through Pictures.
http://www.aonix.com/content/products/stp/stp.html

Surveyor - A tool for source code analysis, visualization, and documentation in most popular languages, OS's, and IDE's.
http://www.lexientcorp.com

sv3D - A 3D tool for software visualization.
http://www.sv3d.org

Tarantula - Finding software faults by visualizing test results - very specific views on metrics.
http://www.cc.gatech.edu/aristotle/Tools/tarantula/

IBM Structural Analysis for Java - is a commercial application for analyzing and visualizing large-scale software
http://www.alphaworks.ibm.com/tech/sa4j

TkSee - Knowledge-Based Reverse Engineering of Legacy Telecommunications Software.
http://www.site.uottawa.ca/~tcl/kbre/

Together ControlCenter - commercial round-trip engineering tool for Java.
http://www.togethersoft.com

Understand C / FORTRAN - an interactive development environment (IDE) tool providing reverse engineering, automatic documentation, metrics and cross referencing of C / FORTRAN source code. http://www.scitools.com/uf.html
http://www.scitools.com/ucpp.html

VIBRO (VIsualisation BROker Framework) - Visualisation Research Group, participated in SORTIE project. GXL. University of Durham, UK.
http://www.csr.uvic.ca/chisel/collab/reports/VIBRO/Report.html

Visualize it - a graphical source code visualization tool for Java.
http://www.powersoftware.com/vz/

VizzAnalyzer - a powerful framework for reverse engineering in 3D in Java.
http://w3.msi.vxu.se/~tps/VizzAnalyzer/

XGVis - A system for multidimensional scaling and graph layout in any dimension
http://www.research.att.com/areas/stat/xgobi/

Comments