HomeTechnology & BuildingTechnology & Invention

Frances Allen

1932–2020 · 88 years Tier III

The farm girl who taught computers to optimize their own code

Portrait of Frances Allen
Rama — 2008-05-06 — CC BY-SA 2.0 fr via Wikimedia Commons

Frances Allen grew up the oldest of six children on a farm near Lake Champlain, walking a mile to a one-room schoolhouse before she reached high school. She trained to teach math, earned a bachelor's degree from a New York State teachers' college in 1954, and went back to Peru, New York, to teach algebra and trigonometry to students she had grown up alongside. A master's degree was required for a permanent teaching certificate, so she borrowed money for one more year at the University of Michigan. The loans were the reason she took a job at IBM Research in 1957 rather than go straight back to a classroom — she meant to pay off the debt and leave. She never did.

Fortran had existed for two months when IBM put Allen in front of a room to teach it to researchers who had only ever written in assembly language; she was often learning the material days ahead of the people she taught. She taught herself how the compiler worked by reading its source code, and built a career on the question that raised: how do you make a compiler turn readable code into fast code, automatically? Her papers with colleague John Cocke, especially 1972's A Catalogue of Optimizing Transformations, laid out techniques still taught in compiler courses today. In the 1980s she led PTRAN, IBM's project on automatically parallelizing programs, introducing the program dependence graph that parallelizing compilers still rely on. In 1989 she became IBM's first female Fellow, and in 2006 the first woman ever to win the Turing Award.

The work Allen did well is invisible by design: a good compiler optimization is one nobody notices, because the program just runs faster with no visible sign of what changed underneath it. That anonymity followed her career even as the substance became foundational — the transformations she and Cocke catalogued in 1972 run, uncredited, inside essentially every compiler built since. Her personal life had its own reversal: she married a fellow computer scientist, NYU's Jacob Schwartz, in 1972, the same year as her most cited paper, and the marriage ended in divorce a decade later. Outside the lab she went looking for exposure rather than invisibility, climbing as a member of the American Alpine Club and putting up a new route across Ellesmere Island in the Canadian Arctic — about as far from a punch-card room as American geography allows.

Allen died on August 4, 2020 — her 88th birthday — of complications from Alzheimer's disease, in Schenectady, New York. The recognitions kept compounding after 2006: IBM had already named a doctoral fellowship for her, and in 2020 the IEEE created the Frances E. Allen Medal, only the second of its awards ever named for a woman. Her influence ran through people as much as through papers — she was the only woman on the graduate faculty computer scientist Anita Borg studied under, and Borg went on to found the institute and the industry conference that still carry her own name forward today.

Lifespan

15401700180019002030

Frances Allen's life against the full span of the corpus.

Notable works

  • Program Optimization article
    Established graph-theoretic analysis of programs for automatic optimization
    1966
  • A Catalogue of Optimizing Transformations article
    With John Cocke — the first systematic account of compiler optimization techniques
    1972
  • PTRAN (Parallel Translator) invention
    IBM project automating Fortran parallelization; introduced the program dependence graph
    1985
  • Compiler-optimization team, IBM Stretch-Harvest other
    Classified NSA codebreaking project that established her research direction
    1959

Life in brief

with age at each point
  • August 4, 1932 aged 0 Born in Peru, New York
  • 1954 aged ~22 Earns a BS in mathematics, begins teaching in Peru, New York
  • 1957 aged ~25 Earns an MS at Michigan and joins IBM Research
  • 1959 aged ~27 Leads compiler optimization for the classified Harvest and Stretch projects
  • 1966 aged ~34 Publishes "Program Optimization"
  • 1972 aged ~40 Publishes "A Catalogue of Optimizing Transformations" with John Cocke; marries Jacob Schwartz
  • 1989 aged ~57 Becomes IBM's first female Fellow
  • 2006 aged ~74 Wins the Turing Award, the first woman to do so
  • August 4, 2020 aged 88 Dies in Schenectady, New York, on her 88th birthday

Related

Contemporaries

Technology & Building, born within 25 years