A Creature so Fierce… I’ve been wrestling with control flow graphs like this. I eliminated those pesky “empty” nodes found in the previous incarnations, improved branching to track conditions and realized that what I’m really doing is developing a tool to bite off the excessive necks and heads (otherwise known as edges and basic blocks) [...]
Posted in DeCOMtamination, squash on February 28th, 2007 No Comments »
Looking for developers to test the web frontend for squash I got the web frontend to squash working. Right now I’m looking for people to test it on my test server before I open it to the wild web. It ended up in a further frontend script explosion, but all of the pieces seem to [...]
Posted in DeCOMtamination, squash on January 24th, 2007 No Comments »
Squash may now be ready as a class member renaming tool for early adopters. I would like people to use me as a frontend to squash. Email me your requests for renames and I will reply with giant patches. This way squash can be immediately useful. Plus I can fix bugs in squash and figure [...]
Posted in DeCOMtamination, squash on January 11th, 2007 2 Comments »
Out-param Rewriting Work Since the last post I worked on rewriting functions that use out-parameters to use return values instead. I got as far as rewriting method definitions and simple call sites, but decided to hold off further work until the rest of squash is more complete. Squash Development Roadmap Robert O’Callahan helped me devise [...]
Posted in DeCOMtamination, squash on January 3rd, 2007 6 Comments »
Squash Milestone Reached Squash can now produce a patch that squashes my testcase class nsCSSLoaderImpl into the nsICSSLoader interface such that the resulting code compiles, links and runs! Gory Details Patching function bodies turned out easier than expected. Since the last post, I’ve added the ability to rewrite variable declarations, casts and static method calls. [...]
Posted in DeCOMtamination on December 21st, 2006 2 Comments »
Progress I spent some time proving to myself that it is possible to automate DeCOMtamination. The result is squash – a tool that aims to accomplish the first step of DeCOMtamination. My near term goals are to be able to squash together a real life XPCOM interface and implementation such that: The resulting code compiles [...]
Posted in DeCOMtamination, squash on December 5th, 2006 1 Comment »
Introduction My name is Taras Glek. I have been tasked with working on static analysis tools to automate deCOMtamination, verify code, etc. Progress C++ is a hard language to parse and no static analysis can be done before Mozilla source code be represented as an abstract syntax tree. My first step was to get the [...]