Dehydra

Dehydra is a lightweight, scriptable, general purpose static analysis tool capable of application-specific analyses of C++ code.
Download

Dehydra Ranking & Summary

Advertisement

  • Rating:
  • License:
  • GPL
  • Price:
  • FREE
  • Publisher Name:
  • Taras Glek
  • Publisher web site:
  • http://developer.mozilla.org/en/Dehydra

Dehydra Tags


Dehydra Description

Dehydra is a lightweight, scriptable, general purpose static analysis tool capable of application-specific analyses of C++ code. Dehydra is a lightweight, scriptable, general purpose static analysis tool capable of application-specific analyses of C++ code. In the simplest sense, Dehydra can be thought of as a semantic grep tool.Dehydra presents a wealth of semantic information that can be queried with concise JavaScripts. It is also useful to find bugs in source code as it allows for much more error checking than C++ is capable of by itself. Dehydra is built as a GCC plugin, thus it is easy to use for projects that already support GCC.Dehydra is also useful for generating language bindings and is used to bootstrap Treehydra, a heavy-duty static analysis GCC plugin.Usage:Dehydra checking can be performed directly within the Mozilla build. To enable static checking of a Mozilla build, see Building with static checking.To run Dehydra manually using G++, add the -fplugin and -fplugin-arg flags to specify the location of the Dehydra plugin and the location of the analysis script:$HOME/gcc-dehydra/installed/bin/g++ -quiet -fplugin=$HOME/gcc-dehydra/dehydra-gcc/gcc_dehydra.so -fplugin-arg=$DEHYDRA_SCRIPT -fshort-wchar $CPPFILE -S -o /dev/nullFor example, in the tests directory created by the installation procedure, I can run a Dehydra script 'a.js' on a Mozilla file like this:../../gcc-build/gcc/cc1plus -quiet -fplugin=../gcc_dehydra.so -fplugin-arg=a.js -fshort-wchar -fpreprocessed /home/dmandelin/builds/dehydra-gcc/browser/app/nsBrowserApp.ii -o /dev/nullThe -fshort-wchar is required for running against Firefox, but not necessarily for other codebases.Requirements:· Mercurial 1.0 (make sure that the mq extension is enabled)· GCC 4.3· SpiderMonkey 1.7 or newer provides scripting capabilities for Dehydra (trunk is preferred) Requirements: · Mercurial 1.0 (make sure that the mq extension is enabled) · GCC 4.3 · SpiderMonkey 1.7 or newer provides scripting capabilities for Dehydra (trunk is preferred)


Dehydra Related Software