Introspector/RelatedProjects

SWIG is the Simplied Wrapper Interface Generator http://www.swig.org

CpPx is an related GccPatch http://swag.uwaterloo.ca/~cppx/

GccXml is very similar http://www.gccxml.org

VfIasco - to further develop coalgebraic specification techniques such that these techniques can be applied to real software http://os.inf.tu-dresden.de/vfiasco/

DaNdelion is for Smalltalk http://www.mars.dti.ne.jp/~umejava/smalltalk/stClasses/dandelion/

TunesProject http://cliki.tunes.org

PdToolkit http://www.cs.uoregon.edu/research/paracomp/pdtoolkit/

GaSta : http://sourceforge.net/projects/gasta/

SpLint : http://www.splint.org/links.html

BiNge http://wiki.dotgnu.org/Binge


GccXRef http://sourceforge.net/projects/gccxref/ (link broken)

SMatch http://sourceforge.net/projects/smatch/

SmAtch http://smatch.sourceforge.net/

ProgramTransformation http://www.program-transformation.org/twiki/bin/view/Transform

StRatego http://www.stratego-language.org/twiki/bin/view/Stratego/WebHome

MoZart http://mozart-dev.sourceforge.net/

IntentionalProgramming http://groups.yahoo.com/group/intentionalprogramming/

CppTool is a CppRefactorer, a C++ refactoring tool http://sourceforge.net/projects/cpptool

FlawFinder is a Python program that analyses C programs. http://www.dwheeler.com/flawfinder/

PsCan is a C Program that parses C and checks for errors http://www.striker.ottawa.on.ca/%7Ealand/pscan/

Formal Verification Tools and Techniques for Autonomous Systems http://is.arc.nasa.gov/AR/tasks/VrfTools.html

MoPs MOdelchecking Programs for Security properties http://www.cs.berkeley.edu/~daw/mops/

MetaLevelCompilation http://metacomp.stanford.edu/

The SLAM Project - Debugging System Software via Static Analysis SlAm from MicroSoft http://research.microsoft.com/SLAM/main.htm http://research.microsoft.com/slam/


VaUlt from MicroSoft http://research.microsoft.com/projects/Vault/

CqUal http://www.cs.berkeley.edu/~jfoster/cqual/

EsCj ExtendedStaticCheckingforJava Extended Static Checking for Java http://www.research.compaq.com/SRC/esc/Esc.html

SiMplify http://www.research.compaq.com/SRC/esc/Simplify.html

JavaMarkupLanguage http://www.cs.iastate.edu/~leavens/JML.html

Java Modeling Language http://www.jmlspecs.org

ChAse http://www-sop.inria.fr/lemme/verificard/modifSpec/index.html

DaIkon http://pag.lcs.mit.edu/daikon/

LoOp http://www.cs.kun.nl/~bart/LOOP/

EauClaire http://web.archive.org/20020105044046/sctest.cse.ucsc.edu/chess/EauClaire/

MoPed http://www.fmi.uni-stuttgart.de/szs/tools/moped/

BlAst http://www-cad.eecs.berkeley.edu/~rupak/blast/

JCAVE a framework for model checking JavaCard applets on the bytecode level http://www.sics.se/fdt/projects/vericode/jcave.html

MAGIC Modular Analysis of proGrams In C http://www-2.cs.cmu.edu/~chaki/magic/

BOOP http://boop.sourceforge.net/

Prosper - Proof and Specification Assisted Design Environments http://www.dcs.gla.ac.uk/prosper/

Spin - a model checker http://spinroot.com/spin/whatispin.html

VeriSoft http://cm.bell-labs.com/who/god/verisoft/

Bandera - a tool set for model checking concurrent Java software http://bandera.projects.cis.ksu.edu/

Bogor - a highly customizable and modular model checking framework aimed to ease the development of robust and efficient domain-specific model checkers for verification of dynamic and concurrent software http://projects.cis.ksu.edu/projects/bogor

Bounded Model Checking for ANSI-C http://www-2.cs.cmu.edu/%7Emodelcheck/cbmc/

Java Path Finder http://ase.arc.nasa.gov/visser/jpf/

KISS project http://research.microsoft.com/kiss/


CiL http://raw.cs.berkeley.edu/ccured/cil/index.html


CiNdent http://www.uvm.edu/~ashawley/c/indent/

CppReflection http://www.garret.ru/~knizhnik/cppreflection/docs/reflect.html

CiNt - a C interpreter; part of ROOT http://root.cern.ch/root/Cint.html

Pnet (C,C#,and other languages) - the managed C compiler from Pnet a managed C compiler for C, C#, and other languages http://www.southern-storm.com.au/portable_net.html


TreeCc - the AST lib from Pnet http://www.southern-storm.com.au/treecc_essay.html

KdeBindings are using the GccDumpTranslationUnits http://lists.kde.org/?l=kde-bindings&m=104703891005909&w=2

Here are a good list of related complier projects : http://www.ntlug.org/~cbbrowne/c.html

GccTranslationUnit is a similar project http://www.omegahat.org/GccTranslationUnit/

See this collection (I have taken the following from them) http://scgwiki.iam.unibe.ch:8080/SCG/370

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 - Feature detecting and clustering algorithms, designed for C not object-oriented. University of Stuttgart, Germany. http://www.bauhaus-stuttgart.de

BuNch - a software clustering/modularization tool by Mancoridis, from Drexel University, Philadelphia. http://serg.mcs.drexel.edu/bunch/

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

CodeNavigator http://sources.redhat.com/sourcenav/index.html

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

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

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

SDS - The Software Development Foundation (SDS) is an open architecture designed for developing tools for software development. Based on XML, the SDS makes it easy for most languages and other systems to incorporate its tools. http://sds.sourceforge.net/

Synopsis is related to SDS http://synopsis.sourceforge.net/

CADOCS - http://cadocs.sourceforge.net/index.html -- CADOCS - C/C++ API Documentation System. It uses gccxml as its front end and consists of a bunch of Python scripts that rewrite the XML into a more tractable form for developers and users of APIs

ValGrind - http://devel-home.kde.org/~sewardj/ Valgrind is a GPL'd tool to help you find memory-management problems in your programs. When a program is run under Valgrind's supervision, all reads and writes of memory are checked, and calls to malloc/new/free/delete are intercepted.


http://manju.cs.berkeley.edu/cil/ -- CIL - Infrastructure for C Program Analysis and Transformation (v. 1.1.2)

http://pirate.tangentcode.com/ PIRATE

http://cscope.sourceforge.net/ CSCOPE

bane http://www.cs.berkeley.edu/Research/Aiken/

metacomp Meta-Level Compilation http://metacomp.stanford.edu/


FermaT http://www.dur.ac.uk/martin.ward/fermat.html from Martin Ward http://www.dur.ac.uk/martin.ward/

Jerub : once properly equipped with parsers and transformations, that engine is capable of turning compiled cobol into readable C. I've even seen an experiement where martin took self modifying asm and turned it into readable C.