Women in STEM with Dr. Barbara Liskov
The Diversity and Inclusion Task Force presents Women in STEM, with Dr. Barbara Liskov, Institute Professor at MIT.
Widely recognized for her work in programming languages, programming methodology, and distributed systems, Barbara Liskov is an IEEE von Neumann medal, Turing award and IEEE CS Pioneer award winner.
We are humbled to have had the opportunity to discuss career growth, overcoming challenges, and unique professional qualities with Barbara Liskov.
What is your current technical field and what made you choose that particular area of interest?
My current research is primarily in the area of distributed and parallel computing. I tend to look for research in areas where there are hard problems and finding good solutions is important to advance the field.
What’s been your greatest challenge and your greatest reward in your professional career?
I have always looked for challenging research problems. Here I only will talk about a couple of these projects.
Early in my career I got interested in programming methodology and started to think about how to organize software so that it would be more likely to be correct. This led to the invention of data abstraction, which is the foundation object oriented programming. My students and I then designed and implemented a new programming
language that supported abstract data types. This was a challenging project that took several years because we had to invent other new technology including a way to define generics (procedures and data types that can be parameterized by type).
After this I moved into distributed computing. One problem that caught my attention was how to provide reliable storage by replicating it on several remote machines connected by a network. In the mid 1980s, a student (Brian Oki) and I invented a way to do this correctly in the presence of concurrent user requests and benign (crash) failures. In the 90s, another student (Miguel Castro) and I took on the more challenging problem of handling Byzantine (arbitrary) failures.
During most of my career I have been a faculty member at MIT and I have found this very rewarding, especially working with students. In addition I have received a number of awards for my work, including the von Neumann medal and the Turing award, and this has been gratifying.
How did your professional journey begin?
I got into computer science by accident. I graduated UC Berkeley in 1961 with a degree in math but when I looked for a job the best offer was to be a programmer. At that time there were no CS majors, so people like me, who were untrained but could perhaps do the work, were being hired. I discovered a field that I really good at and also really enjoyed. After working for two years I went to graduate school in CS at Stanford. I ended up doing my thesis in AI.
When I looked for a job this time (in 1968) I received no good offers for a faculty position, so I returned as a researcher to the company (Mitre) that had first hired me in 1961. I worked there for 4 years, and switched from AI into computer systems. Not having to teach and do research simultaneously turned out to be a good thing since this gave me the time to make this switch. While at Mitre I did research in computer architecture and then operating systems. After that I was asked to look into the “software crises” — at that point and continuing through the 70s and 80s, it was common for software projects to fail after millions of dollars and hundreds of man-years had been spent on then. This got me into the field of programming methodology, which led to the invention of data abstraction.
How did you decide to pursue a career in your current professional sector (academia vs. industry vs. government)?
In the fall of 1971 I presented a paper on my work on operating systems at SOSP, the top systems conference. At that point universities were a little more open to hiring women and MIT in particular was looking for women faculty members. I was invited to apply to MIT. I had always wanted to be a faculty member so i applied and joined MIT in the fall of 1972.
This was a good time for me to make this move. A faculty member has both the freedom and the responsibility to set his or her own research directions. I was ready to take this on: I was really engaged in my work on programming methodology and came up with the idea of data abstraction during my first few months at MIT.
What are the unique qualities or characteristics that you have brought to your career and workplace?
I think that what underlies the ability to do good research is being able to understand things deeply, and being aware not just of what you understand, but also what you don’t understand. The latter is very important! It helps you avoid errors and also gives you insight into what you need to think about.
I also think that teaching is an excellent basis for research, since teaching requires the same clarity of thought that research does. Also teaching requires that you break down material into its key components, and this is the same thing you have to do to understand deeply.
Dr. Barbara Liskov is an Institute Professor at MIT. She is widely recognized for her work in programming languages, programming methodology, and distributed systems.
Liskov grew up in San Francisco and attended the University of California at Berkeley where she received a BA in Mathematics. She received her PhD from Stanford in Computer Science and joined the faculty at MIT in 1972 in the Electrical Engineering and Computer Science Department.
Liskov’s research interests span a wide range of topics within computer science, including distributed systems, replication algorithms to provide fault-tolerance, programming methodology, and programming languages. Liskov’s work in programming methodology led to the invention of the notion of data abstraction, which is an important underpinning of how software systems are organized today. She and her group designed and implemented CLU, the first programming language to support data abstraction. Her research in distributed systems includes work on online storage systems that provide confidentiality and integrity for the stored information, and the development of two replication techniques that are in wide use today. The first, Viewstamped Replication, ensures correct behavior when computers fail by crashing. The second, PBFT (practical Byzantine Fault Tolerance) ensures correct behavior when computers and the network fail arbitrarily. Her current research includes work on techniques for implementing databases on multicore machines to achieve good scalability and performance, and investigation of new directions for programming languages.
Liskov is a member of the National Academy of Engineering, the National Academy of Sciences, the National Inventors Hall of Fame, and the Massachusetts Academy of Sciences. She is a fellow of the American Academy of Arts and Sciences and the Association for Computing Machinery, and a charter fellow of the National Academy of Inventors. She received the ACM Turing Award in 2009, the ACM SIGPLAN Programming Language Achievement Award in 2008, the IEEE von Neumann medal in 2004, the IEEE CS Pioneer Award in 2018, a lifetime achievement award from the Society of Women Engineers in 1996, and in 2003 was named one of the 50 most important women in science by Discover Magazine.