3
Distinguished Researcher Joins CCIS Faculty
T
his fall, CCIS added another out-
standing faculty member to its
already prestigious roster when
it welcomed Olin Shivers, one of the
industry's most accomplished program-
ming language researchers, who comes
to Northeastern from Georgia Institute
of Technology (Georgia Tech).
Shivers has contributed many novel
ideas to the world of programming language
design, and his pioneering work on static
program analysis is used by academic
and commercial compilers worldwide.
He's founded three companies,
including the Cambridge-based Smartleaf
Corporation, which provides portfolio
analysis services to the financial industry
and manages $6 billion a year. He has
also held research or faculty positions at
Bell Labs, the University of Hong Kong,
and Massachusetts Institute of Technology
(MIT). Shivers spent six years at Georgia
Tech, where he was an associate professor
in the College of Computing, before
making the move to Northeastern.
"Being at Northeastern makes daily
life very exciting intellectually," Shivers
says. "The idea that I can stick my head
in Will Clinger's door and ask a question
about garbage collection or discuss seman-
tics with Mitch Wand, object-oriented
software patterns with Karl Lieberherr,
or programming-language design with
Matthias Felleisen is tremendous. The
people I get to work with at Northeastern
are the people who defined the field. The
greatest concentration of top scholars in
programming languages anywhere in
the world is found, literally, on the same
hallway as my new office. That's a
dream deal for any researcher, and for
me it makes it fun to show up for work."
Shivers, of course, is no lightweight,
despite the seemingly simple answer he
gave to the director of MIT's computer
science laboratory one day, when asked
to describe his vision of computer
science: "Imagine programs that work,"
he replied. "That's the key. Programs
mostly crash, so that idea has been my
pole star ever since."
With a PhD in artificial intelligence
and programming languages from
Carnegie Mellon, Shivers focuses his
research on the development of powerful
languages as practical, efficient tools for
real programming tasks. "I'm always think-
ing of a programmer sitting in a little
cubicle trying to write programs that work,
and I think, `How can I help this person?'"
he says. "As a computer scientist, I use
mathematics to build models and figure
out in advance if a program is going to
burst into flames--meaning if it's going
to use up too much memory or crash,
for instance--or if it's going to work."
Shivers' work in this area blends
theory and practice, analysis and design.
"Beautiful theory, such as operational
semantics or lambda calculus, has to be
harnessed to practical applications, like
Web services or multimedia processing,"
he says. "One reason I value the time I've
spent doing startups is that my experi-
ences there helped keep me grounded in
industry practice and gave me a sense
for real-world software problems."
Similarly, he believes techniques for
analyzing programs must be developed in
concert with the design of new language
features. "You can't be in the game of
designing a new programming language
unless you understand the analysis side,"
he explains. "How will you reason about
programs written with that language?"
These attitudes have led him to a
fairly broad perspective on programming
languages, where he has done work on
language design, formal semantics, program
analyses and compiler optimizations,
garbage collection, and other run-time
support systems. For him, the key chal-
lenge is applying these powerful tech-
nologies to real-world programming
tasks and applications.
Shivers is happy to be in such a vibrant
new location. "With all the programming
language people at Northeastern, Boston
University, MIT, Harvard, and other Boston-
area schools, this is an amazingly exciting
place to be right now," he says.
Associate Professor Olin Shivers comes to
CCIS with a strong academic and private-
sector background.
"I'm always thinking of a
programmer sitting
in a little cubicle trying to
write programs that work,
and I think, `How can I help
this person?'"