In 1961, after earning her undergraduate degree in mathematics from the University of California at Berkeley, Barbara Liskov (then Barbara Huberman) decided to apply to graduate school at Princeton.
The school replied with a form letter explaining that it didn’t accept female students. “I was just astounded when I got that,” says Liskov. “A little postcard.” In retrospect, she says, “I was very naïve.”
Though other women at the time might have known they weren’t welcome to knock on certain doors, Liskov never spent much time worrying about what she was or wasn’t allowed to do. The result has been a remarkable career. In 1968, Liskov, who is now an Institute Professor in the Department of Electrical Engineering and Computer Science and head of CSAIL’s Programming Methodology Group, became the first woman–indeed, one of the first people–in the United States to get a PhD from a computer science department. Her research has led to major breakthroughs in such fundamental areas as operating systems, distributed systems, programming languages, and programming methodology. Her ideas helped form the foundation for modern programming languages such as Java, which are designed to make use of self-contained modules of data and instructions that can be developed once and reused to many different ends. Her work on how to keep distributed systems reliable laid the groundwork for achievements like Google’s world-spanning architecture of cheap, off-the-shelf servers. Last summer, her achievements were recognized with the Turing Award from the Association for Computing Machinery–an honor that has been called the “Nobel Prize of computing.”
“It’s hard to imagine what today’s programming and distributed systems would be like without Barbara’s many seminal contributions,” John Guttag, a professor of computer science and engineering who has known Liskov for more than three decades, wrote in a 2008 letter supporting her promotion to Institute Professor. Guttag, who also nominated Liskov for the Turing Award, notes that dozens of prominent computer scientists from whom he solicited support for that nomination were “consistent in that they all said that the work was great” but “inconsistent as to which piece of her work they would choose to say was great.” And that, he says, is a testament to the breadth and impact of Liskov’s career.
Liskov, a trim, curly-haired woman who wears whimsical socks, doesn’t dwell on her accomplishments or honors (she also won the Institute of Electrical and Electronics Engineers’ John von Neumann Medal in 2004). Nor does she dwell on the obstacles she had to overcome to make her way in a largely male-dominated field.
“Growing up, I had no idea how important her achievements were,” says her son, Moses Liskov, SM ‘01, PhD ‘04, who is now an assistant professor of computer science at the College of William and Mary. She was always reticent about her own triumphs, he adds, but would talk with pride about her students, celebrating when they got good jobs or were granted tenure.
Barbara Liskov’s career in computer science began at the birth of the field. Instead of pursuing an advanced degree in math after college, she got a job as a computer programmer at Mitre, a not-for-profit organization in the Boston area that conducts federally funded research in systems engineering and information technology. At the time, hardly anyone was trained in computer science. “Some of them had training as engineers, but others might have had a degree in literature,” Liskov says of her colleagues. “They were hiring people they thought might have aptitude.”
From Mitre, Liskov moved on to work on a Harvard University project that sought to automatically translate English sentences into something a computer could understand. Though natural-language processing is a problem that computer scientists are still working on, back then people expected that it would be solved in a few years.
She was learning a lot on the job, but Liskov decided to go back to school so that she could cover more material more quickly. She headed to Stanford University, which would soon institute a PhD program in computer science.
Though she focused her formal studies on artificial intelligence, Liskov discovered that her real interests lay in the fundamentals of computer design–operating systems and programming languages. AI, she felt, presented a set of seemingly intractable problems, and progress was slow. But with systems research, “you could build applications that did something,” she says. “I just wanted to be working in an area where it was a little easier to make progress.”
After Stanford, Liskov returned to Mitre, this time as a researcher. She jumped right into a project that would become the Venus operating system, an experiment in allowing several people to use the same small computer at once. As she read scientific papers on programming methodology, she recalls, “I realized that I had been designing the operating system in a way that was different than what people normally talked about.” She had defined the operating system as simply as possible, breaking out more complex elements into their own programs.
Liskov submitted a paper describing the Venus operating system to the Symposium on Operating Systems Principles, a conference for researchers from academia and industry. Jerry Saltzer, now an MIT professor emeritus of computer science (see Meet the Author, p. M10), saw her presentation and pushed her to apply to teach at MIT. She started at the Institute in 1972, becoming the first woman on the computer science faculty.
At MIT, Liskov threw herself into her ideas about systems. Working with graduate student Steve Zilles ‘63, ‘67, SM ‘70, EE ‘70, she thought a lot about how to organize computer programs so that they were easy to write, modify, and maintain.
Any sophisticated software application is a complex structure of interlocking parts, often modified over time by a large team of engineers. Any change can have unintended effects on other parts of the software, requiring programmers to essentially rewrite the program. Liskov came up with ways to structure programs in discrete chunks, or “multi-operation modules,” so that changes would be less likely to affect code outside certain boundaries.
Because it was hard to illustrate her ideas to programmers, Liskov designed a programming language that put them directly into practice. “I had a very strong idea about what were good programs and what were bad programs,” she says. “I wanted to make it easy for people to write good programs, and while you can’t prevent people from writing bad programs, I didn’t want to make it too easy for them.”
Her programming language, called CLU, had a huge influence on a new crop of language designers. It was the first to provide support for data abstraction, a technique Liskov invented that has become essential to advanced programming (see “Theory and Practice,” p. M21), and introduced several other features, such as a way for generalizing programs so they could handle iterations. Indeed, it was crucial in the development of object-oriented programming, the predominant approach in use today.
In the 1980s, Liskov got interested in supporting applications that work on the Internet. To that end, she began thinking about how a program could be split up so that parts of it run on many interconnected machines. Among other things, she figured out a new protocol that could take advantage of redundant hardware so that a distributed system could sustain damage–the inevitable failure of computers, communication links, and storage disks–without breaking down altogether. Her work helps account for why a system like Google’s search engine can keep working as people simultaneously add, modify, and delete data all over the world.
“A lot of people developed stuff that worked fine for the systems of the ’80s, but it’s no good for the systems of the 2000s,” says Guttag. “Barbara managed to develop stuff in the ’80s that’s still relevant or even more relevant today than it was then.” In fact, he says, “I think one of the reasons people can be demanding about these complex systems is that Barbara helped show the world how to build systems that work reliably.”
These days, Liskov says, she’s interested in the security of information stored online–specifically, personal information, such as medical records. As always, she’s finding ways to design systems that will encourage good programming habits. “What can you put into a platform that will make it easier for programmers to build programs that don’t inadvertently leak information?” she says.
Information can leak in many ways–so many that the problem can seem hopeless, Liskov acknowledges. Her current research focuses on protecting data in the event of the most flagrant breaches, such as cases in which users lose laptops or accidentally e-mail sensitive information to an unauthorized recipient. As policymakers and advocates debate the future of online privacy, Liskov is quietly working to ensure that the technological solutions will be there when the world wants them. “You’re talking about new technology, and you know that it takes a while for the political process to catch up,” she says.
Liskov has always encouraged and helped female students and in recent years has devoted considerable attention to making computer science a more welcoming field. As associate provost for faculty equity at MIT, she works to recruit more women and minority faculty members and to help them manage and advance their careers. Today, the Institute is a very different place from the one she encountered in the early 1970s, when there were only a handful of women on the faculty. Back then, Liskov says, she didn’t encounter much deliberate prejudice, but she did run up against ingrained assumptions. At a party at the president’s house to welcome the year’s new hires, for example, one important guest approached Liskov’s husband with his hand out, saying, “Welcome to MIT.” Students sometimes mistook her for a secretary, and she says she went through “a certain amount of testing” in classes.
Being a woman in the early days of computer science would have been difficult for someone who paid more attention to such obstacles, Liskov says. And even though those barriers didn’t much bother her, societal expectations prevented her from acknowledging the importance of her career until her own research interests began to mature.
“I had always thought–even after I had my PhD–that I would work for a while and then I might stop,” she says. “When I had a family, I might stop. Sometime while I was at Mitre, I realized that I wasn’t going to be willing to do that.” Her husband, Nathan Liskov ‘60, an electrical engineer whom she married in 1970, supported that decision, even after Moses was born in 1975.
But Liskov made it a priority to cultivate a rich set of interests outside the workplace, including gardening and reading mystery novels (she particularly likes Tony Hillerman). “I’ve organized my workweek so that when I’m working I’m very intense, but when I go home I stop,” she says.
Her son confirms that when she wasn’t at MIT or in her office at home, she wasn’t working. Nor did she spend much time on the home computer, though the household got its first quite early, in 1983. Almost everything Moses learned about computers as a child came from his father, he says: “My mom is a great thinker about computers, and my dad is an actual user of them.” For all her deep understanding of systems and methodologies, she would sometimes have to call on her husband for help getting a document to print.
Her friends have put a lot of effort in recent years into making sure Liskov gets the acclaim that she never seeks. Guttag, for one, is convinced that she could have won the Turing Award a decade ago. But while Liskov is deeply grateful for the award, she sometimes seems uncomfortable with the attention. Her son recalls her talking incredulously about having to spend an entire workday posing for pictures. She went out to dinner with family to celebrate receiving the award last June, but she seemed relieved when the furor passed, allowing her to return to the research that has always driven her.