Counting down to a Dehydra release

I hope to release Dehydra 0.9  within a couple of weeks. There is already a community of users, but there are still too many barriers to entry keeping potential bug hunters away.

In recent weeks there has been a lot of work on polishing rough areas. Now we have better error reporting, improved APIs for using libraries, etc. The remaining tasks are tracked in this bug.

There few big remaining TODOs are low-tech:

  • Need a better homepage than the current one.
  • Docs, tutorials and more docs. Currently, the plan is to puts more documentation on MDC and  have it also serve as a webpage. Any dehydra/treehydra guides or API doc contributions are welcome. For now if you need help, feel free to ask on the mailing list or #mmgc on
  • Verify, document and maintain the OSX port. Vlad Sukhoy did a lot of heavy lifting to make this happen, now we need to cement his achievement by setting up a buildbot
  • Spread the word! I would like to see other large projects such as KDE, OpenOffice, etc adopt application-specific static analysis in the form of *hydra. I am interested in seeing people use *hydra to scan code for security vunerabilities. Ok, so this isn’t really needed to release Dehydra 0.9, but I am impatient!

RIP: Oink Dehydra

Between GCC Dehydra and Treehydra, there is nothing that pork Dehydra could do better, so I finally removed Dehydra from Pork. From now on Pork’s purpose is large-scale C/C++ refactoring. For everything else one should use Dehydra.


  1. I’d like to see more cooperation between GCC and the various plugin projects. I know this isn’t easy… something to discuss a bit at the summit.

    I was wondering, though — any plans to get your changes into GCC? Maybe the GTY thing? If the assignment stuff is worked out you could get your own branch at the very least.

    Also, I’m curious to know what it would take to base Pork on GCC.

  2. Tom,
    The answer to all these questions is, yes it would be nice.
    I’m still waiting on the copyright assignment paperwork. I hope that at the summit we can work out how to get plugin functionality into GCC. I know people are skeptical about it, but I think we have a pretty good usecase, something that lacked before.

    Pork is nothing but a collection on Elsa hacks to make it grok refactoring code. “Pork on GCC” basically means having equivalent features in GCC. I think that’s a tromey-scale project. I dread the through of modifying parser code and adding/extending fe-specific AST nodes in GCC. It’s certainly possible and if someone wants to do it, I’ll gladly chat with them.
    However, for us it’s easier to just maintain our Elsa version, than introduce such drastic changes to GCC.

    I think before such a step is taken, I’d rather see IDEs start using the gcc plugin framework to aid with code-completion/browsing. It’s a reasonable first step towards using gcc for other source-related tasks.

  3. Hi,
    I am working on the static analysis of my code in GCC 4.3.0.but new in this field
    can u please help me regarding some of the following details that i need :-

    a) how dehydra works internally on the AST.
    b) can i access the whole tree in details using dehydra .
    c) Is separate AST is created for each function in the code or whole code is built on one AST. if possible please provide me any sample of the AST for a particular code.
    c) how loops are represented in AST??
    d)can i get some examples of the running javascripts that i can run using dehydra over my c++ code or give me any link regarding javascripts samples( of dehydra) for testing purpose of AST of my c++ codes.

    please reply soon.