It’s summer and with the change in weather, I’m going to take a holiday from much of my work on web media and audio/visual code for Mozilla. I’ll still be working on the audio data api patch, but the rest of my work I’m going to put on ice for a few months so I can return to an old love, DXR.
If you aren’t familiar with DXR, it’s a web-based source code navigation tool that uses semantic data from many sources (dehydra, treehydra, xpidl, build system, C preprocessor, etc.) to help developers understand what they are looking at in large code bases. Imagine being able to click on a variable named ‘i’ and getting back information on that particular i vs. the 10,000 other ones, or seeing all callers of SomeClass.ToString() vs. SomeOtherClass.ToString() and you get the idea. I’ve written about DXR before if you want to learn more.
One of the first things I’m going to do is get DXR running on a server at Mozilla. For the past year I’ve had a desktop machine running a DXR instance so people could test it. I’ll be working on this Mozilla DXR and updating it frequently as I fix bugs and add new features. When it’s running I’ll blog again with a URL.
I’ve been talking with people a lot about the things they want to see in DXR, and I’ve put together a list of things that need to be done. If you’d like to add to this list, feel free. You can also talk to me about things on irc in the #static channel.
If you look at that list you’ll see that there is way more than I can possibly do in the next two months on my own. So I’m putting out the call for other developers to join me. DXR is a strange mix of static analysis, server side programming, tool hacking, and client side work. Don’t be put off by the fact that this uses static-analysis if that’s not something you know (I only barely know it myself!). This is just a lot of scripts and hacks to various tools, and there’s room here for you to help improve it.