There's at least two reasonably decent free projects out there for auto-parallelism: Par4All and PLUTO. They both can take C code as input and chuck out a paralellized OpenMP implementation. I did a research project last semester comparing them with hand optimization on wavelet filters (think JPEG-2000 image processing). So far, hand optimization blew them out of the water in every case. And that was after reworking the code to be more amenable to their particular "quirks". Both of these have reasonably recent ongoing work being poured into them. At least as of Spring 2012, the state of the art for auto-paralellizers wasn't anywhere near "holy-grail" territory.
More to the point, what is being claimed in this paper is that they can prove thread-safety and auto-split functions as long as the variables are properly typed into read-only and writable . While this is very cool and useful, it's not some game changing breakthrough that's suddenly going to let you multi-thread all your programs. The program must still be built with multi-threading in mind, but as long as you set up all of the type correctly, it can do a lot of the heavy lifting for you. Very cool, but hardly the "holy-grail" that the /. summary claims.