''If Google decided to misbehave there'd be big trouble'
Q&A: Turing Award winner on the cloud, women in IT and the dangers of data mining
By Natasha Lomas
2008 Turing Award winner Barbara Liskov speaks to silicon.com about her research and hot issues from security to gender gaps.
The
winner of the 2008 ACM AM Turing Award for lasting and major technical
contributions to the computing community was announced last month as
Barbara Liskov, a professor at the Massachusetts Institute of
Technology (MIT).
The
Turing Award, which is named after British mathematician Alan Turing,
has been awarded by the Association for Computing Machinery every year
since 1966. Past winners include Vint Cerf, commonly called 'father of
the internet' and Google's internet evangelist.
Liskov, who heads up the Programming Methodology Group in the Computer
Science and Artificial Intelligence Laboratory at MIT - where she has
conducted research and has been a professor since 1972 - is only the
second woman to receive the prize. IBM's Fran Allen won the 2006 award.
silicon.com recently spoke to Liskov about her work and current
research interests, and heard her views on a variety of IT issues -
from data breaches and cloud computing to the relative lack of women in
the IT industry.
silicon.com: Can you explain the significance of the work that won you the Turing prize. What impact has it had on computing?
Barbara Liskov I won the prize for my work in developing techniques
that... make it easier to build big software systems. The problem in
software is there are no obvious boundaries to contend with. For
example if you build some kind of electrical device you do that with
discrete components - wires and boxes - and this naturally leads you to
think about a design in which you go for pieces that may have very
complicated insides but on the outside they have some sort of simple
interface.
A good example here is a clock where there's a kind of standard
interface but on the inside there may be a very complicated way to
implement it. As far as the user's concerned, all you have to think
about is, 'what is that interface about?' and 'what do I get to do with
it?' You don't have to worry about the implementation details and you
can use one clock or another clock and there really isn't - as far as
you're concerned - any difference between them.
In software though there were no obvious boundaries like that - and the
work that I did was to develop a way of putting complicated software
systems into modules where each module presented to its users a
relatively simple interface and then on the inside there could be a
complicated implementation; the user didn't have to worry about that.
And furthermore if that implementation changed then the user was
unaffected by that change.
<snip>