Quantcast

Frances E. Allen wins ACM Turing Award



IBM Researcher Frances Allen won this year’s A. M. Turing Award, the ACM’s “most prestigious technical award.” The mainstream news story here is that Allen is the first woman to win the award although as
The Register notes

As Turing himself was famously gay, there are now relatively few inclusiveness milestones for the prestigious gong to pass.



An annoying property of these types of news stories is their bland and tasteless descriptions of a person’s important contributions to an academic field, to wit:

Her pioneering compiler work culminated in algorithms and technologies that are the basis for the theory of program optimization today and are widely used throughout the industry.

And that’s the detailed version, taken from Allen’s bio page.

Don’t hold back guys … where are the papers? I love seeing old scientific papers, thinking back to a time when techniques that are printed in thousands of textbooks we love to hate were just being invented.

I wish I could tell you what Allen did, but our stupid society keeps that information locked up. After over an hour of search, I found an early Allen paper called Control flow analysis … a hearty fuck you to the ACM (of which I used to be a member) for keeping this and all the rest of the Computer Science corpus locked up behind a password protected for-pay-only website. Scientific knowledge belongs to all of us.

Control flow analysis is my favorite topic from my favorite CS class, Compiling Techniques. Control flow is used by compilers to make my crappy code run faster. The idea is to build graph of the various execution paths that are possible in a given piece of code and then using graph traversal techniques to remove redundant code paths or introduce new paths that exploit hardware features. I also like it because debugging control flow (when you are making a compiler) involves making pretty pictures as in this comparison of three different control flow algorithms.

In Figure 5.5 the three approaches are compared using a method of medium size. The start block is marked dark gray, loop headers are red, blocks with loop depth greater than zero are orange and blocks without successors are drawn green. All other blocks are painted yellow. This way one can easily see the differences between the three algorithms.





Link to Frances Allen Turing Award on CNN

No comments yet. Be the first.

Leave a reply