Barbara Liskov

Barbara Liskov, née Barbara Jane Huberman, was born on November 7, 1939, in California. She earned her BA in mathematics at the University of California, Berkeley in 1961. Rather than go directly to graduate school, she took a job at the Mitre Corporation where she learned that she was a natural at computer programming. After a year at Mitre, she moved to Harvard to work on computer translation of human languages.

Returning to California to do graduate work at Stanford, she was given financial support in John McCarthy’s lab partly because her earlier work on natural language translation was in the general area of artificial intelligence. In 1968 she became one of the first women in the United States to be awarded a computer science PhD. Her thesis on chess end-games was supervised by John McCarthy.

In 1971, shortly after finishing her experiments with Venus and presenting a conference paper on the topic, Liskov was urged by another attendee to consider a position at MIT. She left Mitre and joined the MIT faculty as a professor in the Laboratory for Computer Science. Building on her experience at the Mitre Corporation, her research has focused on creating more reliable computer systems.

At MIT she led the design and implementation of the CLU programming language, which emphasized the notions of modular programming, data abstraction, and polymorphism. These concepts are a foundation of object-oriented programming used in modern computer languages such as Java and C#, although many other features of modern object oriented programming are missing from this early language.

Her MIT group also created the Argus language, which extended the ideas of CLU to ease implementation of programs distributed over a network, including support for nested transactions. An example of such a distributed program might be a network based banking system. Argus provided object abstractions called “guardians” that encapsulate related procedures. As an experimental language, Argus influenced others developers but was never widely adopted or used for deployed networked applications.

Liskov's subsequent work has mainly been in the area of distributed systems, which use several computers connected by a network. Her research has covered many aspects of operating systems and computation, including important work on object-oriented database systems, garbage collection, caching, persistence, recovery, fault tolerance, security, decentralized information flow, modular upgrading of distributed systems, geographic routing, and practical Byzantine fault tolerance. Many of these, like Byzantine fault tolerance, deal with situations where a complex system fails in arbitrary ways. Liskov developed methods to allow correct operation even when some components are unreliable.

Liskov is currently the Ford Professor of Engineering at MIT. She leads the Programming Methodology Group at MIT, with a current research focus in Byzantine fault tolerance and distributed computing. She became a full professor at MIT in 1980. She served as the Associate Head for Computer Science from 2001 to 2004, and in 2007 was appointed Associate Provost for Faculty Equity. In 2008, MIT named her an Institute Professor, the highest honor awarded to an MIT faculty member.

She has supervised the research programs of more than twenty PhD students and large numbers of MSc students.

Liskov’s publications included Abstraction and Specification in Program Development (1986) and Program Development in Java: Abstraction, Specification, and Object-Oriented Design (2001), both in collaboration with John V. Guttag of MIT’s computer science department.


Liskov - program-development-in-java-abstraction-specification-and-object-oriented-design.pdf
Liskov - Programming with abstract data types.pdf