Frances (Fran) E. Allen is an IBM Fellow Emerita at IBM’s T. J. Watson Research Center. Starting as a programmer at IBM Research in July 1957, her first assignment was to teach the research scientists Fortran, a new high-level language IBM had announced 3 months earlier. This was the beginning of Allen’s career-long focus on compilers for high-performance computing.
As a member of IBM’s Stretch-Harvest project in the late 1950s early 1960’s, she was one of three designers of the multi-source, multi-target, cascading compiler for the machines. As the language liaison with a project customer, the National Security Agency, she helped design and build Alpha, a very high-level code breaking language. An Alpha program she wrote to automatically abstract articles was key to the final system acceptance test. An Experimental Compiler for IBM’s Advanced Computing System (ACS) (1962–1968) became her next project. Allen designed and built the machine-independent, language-independent optimizing component of the compiler. The result was a tool to help drive the hardware design and a new way to analyze and transform programs.
Allen’s seminal paper on Program Optimization (published internally in April, 1966 and in an expanded version in the open literature in 1969) resulted from the ACS work. It described a robust new framework for implementing program analysis and optimization and described a powerful set of new algorithms. New control and data flow analysis methods were given as well as new solutions to optimizing transformations. This paper laid the conceptual and pragmatic basis for the systematic analysis and transformation of computer programs. By partitioning and formalizing the problem space as it did, the work also provided a context for thinking about better solutions.
Allen’s 1970 paper on Control Flow analysis introduced the notion of “intervals” and node dominance relations, important improvements over the control flow abstractions given in her earlier paper. Her 1972 paper, “A Catalog of Optimizing Transformations”, identified and discussed many of the transformations commonly used today. These papers and her subsequent works, including the first paper on interprocedural analysis, initiated a vast outpouring of algorithms and methods launched by her pioneering projects and papers.
Allen’s later technical leadership on automatic parallelization projects such as the PTRAN (Parallel Translator) had significant influence on the science and technologies used in parallel systems. Her technical work and her advocacy for women and minorities have been widely recognized.
She is a member of the American Philosophical Society, the National Academy of Engineers, and is a Fellow of ACM, IEEE, and the American Academy of Arts and Sciences. She has served on numerous national technology boards including CISE at NSF, the CSTB for the National Research Council and CRA. Currently Allen’s board activities include CRAW, the Anita Borg Institute for Women in Technology, and the National Center for Women and Information Technology. She is IBM’s first female Fellow and was President of the IBM Academy of Technology. She has received honorary doctorates from the University of Alberta, Pace, and the University of Illinois at Urbana (2004).
2004 Computer Pioneer Award
“For pioneering work establishing the theory and practice of compiler optimization.”
Learn more about the Computer Pioneer Award