In short, the idea is: profile a program running on a specific input; mutate the unexecuted code with respect to that input; compile and execute the mutated program and expect the output to be identical given the input.
"Static analysis is used to construct alternative versions of the program, that give identical outputs for a given subset of inputs I. The alternative programs are compiled and executed, and we test whether they do actually give the same outputs as the original program, on the input data I. By restricting to a subset I of inputs, a greater variety of alternatives can be produced, than if the alternatives had to be identical to the original program for all inputs."
That's not indicative of much though, as the actual timelines for writing papers can be driven by conference deadlines more than the works themselves (when talking about granularity of six months to a year).
Do you have a specific use for it? If so, let me know about it, as I might be able to try lobbying for packaging and releasing the code or work something out.
Thus it is weird, though gratifying, to see it actually used for real work. In fact I use it instead of nm, size, etc but I thought I might be the only one!
objdump has been an invaluable part of my debugging toolset over the years, and objcopy has been an indispensable part of the build pipeline we had for the Playstation 3.
But I digress.. awesome bit of detective work in the article. Compiler bugs are really frustrating/tedious to root out, especially if you don't usually muck around with asm.
[1] Underpowered according to FS's own recommended specs.
[2] FS also uses APR, but I'm just bitter that it's virtually impossible to cross-compile the Apache Portable Runtime out of the box...
I've heard people are able to get a few concurrent calls on the Raspberry Pi, and at least one person turned it into a physical phone.
http://www.switchpi.org/ http://www.switchpi.org/switchpi-proto-lcd-with-dtmf-pad-liv...