John C. Reynolds, a long-time Computer Science Department professor known for his incisive work on the logical foundations of programs and programming languages and for his mentoring of students and junior faculty members, died April 28 of cancer and congestive heart disease. He was 77.
A memorial service is scheduled for 11 a.m. on May 11 at Allegheny Cemetery Mausoleum. He is survived by his wife, Mary, and his two sons, Edward and Matthew.
John joined the CSD faculty in 1986, but had retired from active teaching as of Jan. 1.
"We will always remember John for his cheerful spirit, his high ethical standards, and his deep intellect," said Randal E. Bryant, dean of the School of Computer Science. "He will very much be missed."
His main research interests were the design of programming languages and languages for specifying program behavior, mathematical tools for defining the semantics of such languages, and methods for proving the correctness of programs. His contributions to the field of computer science are numerous and influential, including work on parametric polymorphism and its connection to abstraction and abstract data types, prominent features in many modern programming languages. His papers on definitional interpreters, syntactic control of interference, practical intersection types, and Algol-like programming languages are widely cited.
Some of his most influential work was published just 10 years ago, when John was already 67. He and Peter O'Hearn, now at University College London, developed a framework for reasoning about programs called separation logic, which has developed into a significant area of research with practical benefits. Separation logic supports "local reasoning," in which specifications and proofs of a program component mention only the portion of memory used by the component, rather than the entire global state of the system. This work forms the basis for automated tools for program analysis, capable of dealing with software running on parallel processors.
O'Hearn first met John in 1989, when he was a visiting grad student and was invited to stay at the Reynolds' Shadyside home. He recalled how John would talk for hours with him, patiently listening as he tried to communicate his ideas.
"This is the thing about John: He always had time for ideas and for people, and that is what made him special," O'Hearn said. "He wanted to get to the heart of the matter and he did, many times. More than anybody I have ever met, John Reynolds went deep in his quest to understand. And the ideas he generated were like nobody else's. He was truly original; it is correct to say a genius. And he was gentle and wonderful man, a great friend."
The hospitality O'Hearn enjoyed was experienced by many CMU students, faculty members, and visitors. "He cared sincerely for the well-being and career development of his students, continuing to provide guidance and advice for years after graduation," said Stephen Brookes, professor of computer science. He showed similar concerns in his mentorship of junior faculty and was a frequent and productive collaborator with many researchers.
Born June 1, 1935, he grew up in Glen Ellyn, Ill. and graduated from Purdue University. He earned his Ph.D. in theoretical physics in 1961 at Harvard University, where he met his future wife, Mary Allen. He used a computer for his Ph.D. thesis and, though he described it in an interview with Link Editor Jason Togyer, as "an uninteresting computation of an unimportant quantity in a bad approximation," his passion for computer science began to grow.
From 1961 to 1970, he worked at Argonne ational Laboratory and pursued his interest in computer science as a visiting junior faculty member at Stanford University and a part-time post at the University of Chicago. From 1970 until he joined CMU in 1986, he served as a professor of computer and information science at Syracuse University.
A past editor of the Communications of the Association for Computing Machinery (ACM) and the Journal of the ACM, John was named an ACM Fellow in 2001 and won the ACM SIGPLA Programming Language Achievement Award in 2003. Reynolds was honored with the Lovelace Medal of the British Computer Society in 2010 and CMU's Dana Scott Distinguished Research Career Award in 2006. He was awarded an honorary Doctor of Science degree from Queen Mary, University of London in 2007.
Contributions in lieu of flowers may be made to East End Cooperative Ministry, Pittsburgh.