Taras’ Blog

Just another Blog.mozilla.com weblog

Archive for 'dehydra' Category

Next Page »

Status Report: Nearterm plans for Pork, Dehydra

24 June 2008

Pork
I planned to release Pork 1.0 for a while now. The tools work great, even if all the love is going to the GCC-based toolchain. However, after hearing grumpy comments from a certain coworker about the uglyness of the oink build system it dawned on me that it’s rather mean to release such a mess [...]

No Comments »

GCC Summit

19 June 2008

Our presentation on Treehydra and Dehydra GCC plugins was received well at the summit.
The big news is that FSF is working on license changes to allow GPL-only GCC plugins. I’m looking forward to having our work be compatible with future GCC without any patching.
In a few minutes we’ll be having a meeting with users of [...]

4 Comments »

Dehydra 0.9: It’s alive!

9 June 2008

I am finally happy enough with Dehydra API and functionality to release 0.9. Dehydra is basically feature complete, the main reason I’m not calling it 1.0 is in case there are outstanding API bugs.
I believe Dehydra is the first useful open source static analysis tool. I hope to see projects outside of Mozilla benefitting from [...]

No Comments »

Treehydra goes Push and Pop

27 May 2008

After writing a ton of docs and working through other Dehydra 0.9 blockers, I decided to cool off by doing some actual analyses. Before I get to that, I’d like to say that the last big task is to setup a buildbot for Dehydra on Linux/OSX. Thanks to yet another awesome contribution from Vlad, that’s [...]

3 Comments »

Counting down to a Dehydra release

29 April 2008

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 [...]

3 Comments »

Dehydra World Tour

17 March 2008

After a few weeks of mindnumbing work on treehydra gutts, I finally have something exciting to talk about!
We will be presenting  Dehydra at the GCC Developer’s Summit in lovely Ottawa. The GCC version of Dehydra exceeded all of my expectations, so it will be exciting to meet awesome GCC hackers who lay the groundwork to [...]

2 Comments »

Recipe: How many classes are instantiated in Mozilla?

12 March 2008

I got this question in the mail today.
Seems like a simple enough question, but grep won’t provide that answer It also happens to be an excellent usecase for Dehydra.
My script:

var classes = []
function process_type (c) {
if (!/class|struct/(c.kind)) return
classes.push (c.name)
}

function input_end() {
var f = this.aux_base_name + “.counter”
print(f)
write_file (f, classes.join (”\n”))
}

process_type is called every time GCC [...]

6 Comments »

Dehydra progress

25 January 2008

GCC Dehydra is evolving much faster than the Elsa version did and it is easier to use. Once I implemented virtual methods correctly, Joshua was able to do his thing in no time at all. All it takes is a custom GCC (I’d love to see it packaged) and specifying plugin parameters in CXXFLAGS.
Dehydra has [...]

4 Comments »

GCC + SpiderMonkey = GCC Dehydra

17 January 2008

Analysis
GCC Dehydra is starting to work. I encourage people try it out for their code scanning needs. The main missing feature is control-flow-sensitive traversal, which means that currently function bodies are traversed represented in a sequential fashion. It is the most complicated part of Dehydra, but most of the time this feature is not needed.
So [...]

1 Comment »

Dehydra as a GCC plugin

8 January 2008

Thanks to the 2-fold increase in manpower working on pork, we finally have an opportunity to work on the nice-to-have things.
Progress
Recently I have been working on a GCC plugin to do Mozilla-specific analyses with GCC.
Unfortunately, I didn’t notice that GCC had a plugin branch so I reinvented the wheel there. Fortunately that part was rather [...]

2 Comments »

Next Page »