Barbara Liskov (born November 7, 1939, as Barbara Jane Huberman) is an American computer scientist who has made important contributions to programming languages and distributed computing. Her notable work includes the introduction of abstract data types and the idea of data abstraction. She also developed the Liskov substitution principle, which applies these ideas to object-oriented programming, subtyping, and inheritance. Her work was recognized with the 2008 Turing Award, the most important honor in computer science.
Liskov is one of the first women to earn a doctorate in computer science in the United States, and the second woman to receive the Turing Award. She holds the titles of Institute Professor and Ford Professor of Engineering at the Massachusetts Institute of Technology.
Early life and education
Barbara Liskov was born on November 7, 1939, in Los Angeles, California. She was the oldest of four children born to Jane (née Dickhoff) and Moses Huberman. She earned a bachelor's degree in mathematics with a focus on physics from the University of California, Berkeley, in 1961. At Berkeley, she was one of only two women in her major. She applied to graduate programs in mathematics at Berkeley and Princeton University. At that time, Princeton did not admit women into its mathematics programs. She was accepted to Berkeley but instead moved to Boston and began working at the MITRE Corporation, where she became interested in computers and programming. She worked at MITRE for one year before taking a programming job at Harvard University, where she helped develop tools for translating languages.
Later, she decided to return to school and applied to graduate programs at Berkeley, Stanford University, and Harvard University. In March 1968, she became one of the first women in the United States to earn a Ph.D. in computer science from Stanford University. At Stanford, she worked with a professor named John McCarthy and received support for her research in artificial intelligence. Her Ph.D. thesis focused on creating a computer program to play chess endgames, and she developed a key strategy called the "killer heuristic."
Career
After graduating from Stanford, Liskov returned to Mitre to work as a researcher.
Liskov has led many important projects, including the Venus operating system, a small, low-cost time-sharing system; the creation and development of CLU; Argus, the first high-level language to support the building of distributed programs and to show the technique of promise pipelining; and Thor, an object-oriented database system. With Jeannette Wing, she developed a specific definition of subtyping, commonly known as the Liskov substitution principle. She leads the Programming Methodology Group at MIT, with a current research focus in Byzantine fault tolerance and distributed computing. She was on the first Engineering and Computer Science jury for the Infosys Prize in 2009. Liskov’s design and development of CLU and Argus later influenced many well-known programming languages such as Java, C++, C#, and Ada.
Liskov’s formulation of the Liskov substitution principle (LSP) has had a lasting influence on software engineering theory and practice. The principle became a foundational concept in software engineering education, where it is widely taught as a formal rule for checking subtype correctness in object-oriented design. It is commonly presented in university curricula and textbooks as a key rule for reasoning about how different parts of a program work together.
Recognition and awards
Barbara Liskov is a member of the National Academy of Engineering, the National Academy of Sciences, and a fellow of the American Academy of Arts and Sciences and the Association for Computing Machinery (ACM). In 2002, she was recognized as one of the top women faculty members at MIT and among the top 50 faculty members in the sciences in the United States. In 2002, Discover magazine named Liskov one of the 50 most important women in science.
In 2004, Barbara Liskov received the John von Neumann Medal for "fundamental contributions to programming languages, programming methodology, and distributed systems." On November 19, 2005, Barbara Liskov and Donald E. Knuth were awarded ETH Honorary Doctorates. Liskov and Knuth also participated in the ETH Zurich Distinguished Colloquium Series. In 2011, she received a Doctorate Honoris Causa from the University of Lugano, and in 2018, she received a Doctorate Honoris Causa from Universidad Politécnica de Madrid.
In 2008, Liskov was awarded the Turing Award by the ACM in March 2009 for her work in designing programming languages and software methodology that led to the development of object-oriented programming. She created two programming languages, CLU in the 1970s and Argus in the 1980s. The ACM acknowledged her contributions to the practical and theoretical foundations of "programming language and system design, especially related to data abstraction, fault tolerance, and distributed computing." In 2012, she was inducted into the National Inventors Hall of Fame.
In 2023, Liskov was awarded the Benjamin Franklin Medal by the Franklin Institute for "seminal contributions to computer programming languages and methodology, enabling the implementation of reliable, reusable programs."
Selected works
Barbara Liskov has written five books and more than one hundred technical papers as of February 2023.
- Liskov, Barbara; Atkinson, R.; Bloom, T.; Moss, E.; Schaffert, J. C.; Scheifler, R.; Snyder, A. (1981). CLU: Reference Manual. Springer Berlin Heidelberg. ISBN 978-3-540-10836-8.
- Alford, M. W.; Ansart, J. P.; Hommel, G.; Lamport, L.; Liskov, Barbara; Mullery, G. P.; Schneider, F. B. (1985). Distributed Systems: Methods and Tools for Specification. An Advanced Course. Springer Berlin Heidelberg. ISBN 978-3-540-15216-3.
- Liskov, Barbara; Guttag, John (1986). Abstraction and Specification in Program Development. MIT Press. ISBN 978-0-262-12112-5.
- Liskov, Barbara; Guttag, John (2000). Program Development in Java: Abstraction, Specification, and Object-Oriented Design. Pearson Education. ISBN 978-0-7686-8496-4.
- Liskov, Barbara; Zilles, Stephen (1974-03-28). "Programming with abstract data types." ACM SIGPLAN Notices. 9 (4): 50–59. doi: 10.1145/942572.807045. ISSN 0362-1340.
- Liskov, Barbara; Snyder, Alan; Atkinson, Russell; Schaffert, Craig (1977-08-01). "Abstraction mechanisms in CLU." Communications of the ACM. 20 (8): 564–576. doi: 10.1145/359763.359789. ISSN 0001-0782. S2CID 17343380.
- Ladin, Rivka; Liskov, Barbara; Shrira, Liuba; Ghemawat, Sanjay (1992-11-01). "Providing high availability using lazy replication." ACM Transactions on Computer Systems. 10 (4): 360–391. doi: 10.1145/138873.138877. ISSN 0734-2071. S2CID 2219840.
- Liskov, Barbara H.; Wing, Jeannette M. (1994-11-01). "A behavioral notion of subtyping." ACM Transactions on Programming Languages and Systems. 16 (6): 1811–1841. doi: 10.1145/197320.197383. ISSN 0164-0925. S2CID 999172.
- Castro, Miguel; Liskov, Barbara (1999-02-22). "Practical Byzantine fault tolerance." Proceedings of the Third Symposium on Operating Systems Design and Implementation. OSDI '99. USA: USENIX Association: 173–186. ISBN 978-1-880446-39-3.
- Myers, Andrew C.; Liskov, Barbara (2000-10-01). "Protecting privacy using the decentralized label model." ACM Transactions on Software Engineering and Methodology. 9 (4): 410–442. doi: 10.1145/363516.363526. ISSN 1049-331X. S2CID 9600486.
Personal life
Liskov is Jewish. In 1970, she married Nathan Liskov. The couple has one son, Moses, who received a Ph.D. in computer science from MIT in 2004. Moses currently teaches computer science at the College of William & Mary.