# 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.