Treehydra

  • Revision slug: Treehydra
  • Revision title: Treehydra
  • Revision id: 137147
  • Created:
  • Creator: Dmandelin
  • Is current revision? No
  • Comment 4 words added

Revision Content

 

Treehydra is a GCC plugin that provides a low level JavaScript binding to GCC's GIMPLE AST representation. Treehydra is intended for precise static analyses.

Most of Treehydra is generated by Dehydra. A Dehydra script walks the GCC tree node structure using the GTY attributes present in GCC. Treehydra is included in Dehydra source, and is built when a plugin-enabled CXX is detected.

For description of node types used in Treehydra see tree.def and cp-tree.def in the GCC sources.

Documentation

Treehydra Build Instructions
How to build Treehydra
Treehydra Manual
Usage instructions
Static Analyses
Analyses being worked on for Mozilla 2(Many use Treehydra)

Interesting Papers

ESP
Path-Sensitive Program Verification in Polynomial Time

Community

  • View Treehydra Forums...

{{ DiscussionList("dev-static-analysis", "mozilla.dev.static-analysis") }}

Blogs

Related Topics

Pork C/C++ Refactoring Tools, Mozilla 2, SpiderMonkey

Categories

Interwiki Language Links

 

 

Revision Source

<p> </p>
<div><strong>Treehydra</strong> is a GCC plugin that provides a low level <a href="/en/JavaScript" title="en/JavaScript">JavaScript</a> binding to GCC's GIMPLE AST representation. Treehydra is intended for precise static analyses.
<p>Most of Treehydra is generated by <a href="/en/Dehydra" title="en/Dehydra">Dehydra</a>. A <a href="/en/Dehydra" title="en/Dehydra">Dehydra</a> script walks the GCC tree node structure using the GTY attributes present in GCC. Treehydra is included in <a href="/en/Dehydra" title="en/Dehydra">Dehydra</a> source, and is built when a plugin-enabled CXX is detected.</p>
<p>For description of node types used in Treehydra see tree.def and cp-tree.def in the GCC sources.</p>
<table class="topicpage-table"> <tbody> <tr> <td> <h4 name="Documentation"><a href="/Special:Tags?tag=Treehydra&amp;language=en" title="Special:Tags?tag=Treehydra&amp;language=en">Documentation</a></h4> <dl><dt> <a href="/en/Treehydra_Build_Instructions" title="en/Treehydra_Build_Instructions">Treehydra Build Instructions</a> </dt><dd> <small>How to build Treehydra</small> </dd></dl> <dl><dt> <a class="internal" href="/Treehydra%20Manual" title="Treehydra Manual">Treehydra Manual</a> </dt><dd> <small>Usage instructions</small> <br> </dd></dl> <dl><dt> <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=430328">Static Analyses</a> </dt><dd> <small>Analyses being worked on for Mozilla 2(Many use Treehydra)</small> </dd></dl> <h4 name="Interesting_Papers"><a href="/Special:Tags?tag=Treehydra&amp;language=en" title="Special:Tags?tag=Treehydra&amp;language=en">Interesting Papers</a></h4> <dl><dt> <a class="external" href="http://www.cs.cornell.edu/courses/cs711/2005fa/papers/dls-pldi02.pdf">ESP</a> </dt><dd> <small>Path-Sensitive Program Verification in Polynomial Time</small> </dd></dl></td> <td> <h4 name="Community">Community</h4> <ul> <li>View Treehydra Forums...</li> </ul> <p>{{ DiscussionList("dev-static-analysis", "mozilla.dev.static-analysis") }}</p> <ul> <li><a class="link-irc" href="irc://irc.mozilla.org/js">#mmgc on irc.mozilla.org</a></li> </ul> <h4 name="Blogs">Blogs</h4> <ul> <li><a class="external" href="http://blog.mozilla.com/tglek">Taras Glek</a></li> <li><a class="external" href="http://blog.mozilla.com/dmandelin">David Mandelin</a></li> </ul> <h4 name="Related_Topics">Related Topics</h4> <dl><dd> <a class="external" href="http://wiki.mozilla.org/Pork">Pork C/C++ Refactoring Tools</a>, <a class="external" href="http://wiki.mozilla.org/Mozilla_2">Mozilla 2</a>, <a href="/en/SpiderMonkey" title="en/SpiderMonkey">SpiderMonkey</a> </dd></dl></td> </tr> </tbody>
</table>
<p><span class="comment">Categories</span></p>
<p><span class="comment">Interwiki Language Links</span></p>
<p> </p>
</div>
<p> </p>
Revert to this revision