Frances Elizabeth "Fran" Allen | |
---|---|
Born |
Peru, New York, United States |
August 4, 1932
Nationality | American |
Fields | Computer science |
Institutions | IBM, New York University |
Alma mater |
State University of New York at Albany, |
Known for | High-performance computing, parallel computing, compiler organization, optimization |
Notable awards |
Turing Award (2006) Computer Pioneer Award (2004) Computer History Museum Fellow (2000) |
State University of New York at Albany,
Frances Elizabeth "Fran" Allen (born August 4, 1932, Peru, New York, United States) is an American computer scientist and pioneer in the field of optimizing compilers. Her achievements include work in compilers, code optimization, and parallelization. She also had a role in intelligence work on programming languages and security codes for the National Security Agency.
Allen was the first female IBM Fellow and in 2006 became the first woman to win the Turing Award.
Allen grew up on a farm in Peru, New York and graduated from The New York State College for Teachers (now State University of New York at Albany, SUNY) with a B.Sc. degree in mathematics in 1954. She earned an M.Sc. degree in mathematics at the University of Michigan in 1957 and began teaching school in Peru, New York. Deeply in debt, she joined the Thomas J. Watson Research Center at IBM on July 15, 1957, where she taught incoming employees the basics of FORTRAN. She planned to stay only until her school loans were paid, which were ordered for the Los Alamos National Lab. However, she ended up staying for her entire 45-year career.
To quote her A.M. Turing Award citation:
Fran Allen's work has had an enormous impact on compiler research and practice. Both alone and in joint work with John Cocke, she introduced many of the abstractions, algorithms, and implementations that laid the groundwork for automatic program optimization technology. Allen's 1966 paper, "Program Optimization," laid the conceptual basis for systematic analysis and transformation of computer programs. This paper introduced the use of graph-theoretic structures to encode program content in order to automatically and efficiently derive relationships and identify opportunities for optimization. Her 1970 papers, "Control Flow Analysis" and "A Basis for Program Optimization" established "intervals" as the context for efficient and effective data flow analysis and optimization. Her 1971 paper with Cocke, "A Catalog of Optimizing Transformations," provided the first description and systematization of optimizing transformations. Her 1973 and 1974 papers on interprocedural data flow analysis extended the analysis to whole programs. Her 1976 paper with Cocke describes one of the two main analysis strategies used in optimizing compilers today. Allen developed and implemented her methods as part of compilers for the IBM STRETCH-HARVEST and the experimental Advanced Computing System. This work established the feasibility and structure of modern machine- and language-independent optimizers. She went on to establish and lead the PTRAN project on the automatic parallel execution of FORTRAN programs. Her PTRAN team developed new parallelism detection schemes and created the concept of the program dependence graph, the primary structuring method used by most parallelizing compilers.