You are on page 1of 124

COMMUNICATIONS

ACM
cACM.acm.org OF THE 04/2011 VOL.54 NO.4

Design Principles For


Visual Communication
Crowdsourcing Systems
On The World-Wide Web
Successful Strategies For
IPv6 Rollouts. Really.
Why STM Can Be More
Than A Research Toy
Engineering Sensation
In Artificial Limbs

Association for
Computing Machinery
The 2012 ACM Conference on C
Computer Supported Cooperative Work S
)(
2
0
1
C
February 11-15, 2012 | Seattle, Washington 2 W

Call for Submissions Submission


Deadlines
CSCW is an international and interdisciplinary conference on
CS
technical and social aspects of communication, collaboration, and Papers & Notes
coordination. The conference addresses the design and use of 3 June 2011
technologies that affect groups, organizations, and communities.
CSCW topics continue to expand as we increasingly use
technologies to live, work and play with others. Workshops
28 July 2011
This year we have adopted a new review process for papers and
notes intended to increase their diversity and quality. The
submission deadline is early to avoid conflicting with the CHI 2012 Panels
deadline. This enables us to include a revision cycle: Qualifying Interactive Posters
authors can revise their submissions after the initial reviews.
Demonstrations
For more details about CSCW 2012, please review the Call for CSCW Horizon
Participation on our conference homepage, www.cscw2012.org. To Videos
learn about future details as they become available, please follow us
on Twitter @ACM_CSCW2012. Student Volunteers
9 September 2011
Conference Chairs: Steve Poltrock, Carla Simone

Papers and Notes Chairs: Gloria Mark, John Riedl, Jonathan Grudin Doctoral Colloquium
16 October 2011
Also consider attending WSDM (wsdm2012.org) immediately before
CSCW 2012.

Sponsored by

http://www.cscw2012.org
ACM Multimedia 2011
Scottsdale, Arizona, USA
November 28-December 1, 2011

http://www.acmmm11.org
ACM Multimedia 2011, the worldwide premier multimedia conference,
solicits submissions in 10 broad areas, including:
 multi-modal integration and understanding in the imperfect world
 human, social, and educational aspects of multimedia
 media analysis and search
 scalability in media processing, analysis, and applications
 multimedia systems and middleware
 media transport and sharing
 multimedia security
 media authoring and production
 location-based and mobile multimedia
 arts and contemporary digital culture

Important Dates:
Apr 11, 2011: Full paper submission
Apr 11, 2011: Short paper submission
Apr 11, 2011: Panels, Tutorials
May 09, 2011: Technical demos, Open source software
Jun 06, 2011: Multimedia grand challenge
Nov 28, 2011: Conference starting date

General Chairs
K. Selçuk Candan (Arizona State U.)
Sethuraman Panchanathan (Arizona State U.)
Balakrishnan Prabhakaran (U. Texas at Dallas)

Get short, timely messages from ACM Multimedia 2011. Join Twitter and follow @acmmm11.
Acmmm11 is on Facebook. Sign up for Facebook to connect with Acmmm11.
communications of the acm

Departments News Viewpoints

5 Education Policy Committee Letter 24 Emerging Markets


Educating Computing’s Managing Global IT Teams:
Next Generation Considering Cultural Dynamics
By Robert B. Schnabel Successful global IT team managers
combine general distributed
8 In the Virtual Extension team management skills enhanced
with cultural sensitivity.
9 Letters To The Editor By Fred Niederman and Felix B. Tan
I Want a Personal Information Pod
28 Historical Reflections
10 BLOG@CACM Building Castles in the Air
Matters of Design, Part II Reflections on recruiting and
Jason Hong discusses how Apple training programmers during
creates well-designed products the early period of computing.
and what the human-computer By Nathan Ensmenger
interaction community can
learn from its methods. 13 The Quest for Randomness 31 Technology Strategy and Management
It’s not easy to generate a string Platform Wars Come to Social Media
12 CACM Online of numbers that lack any pattern The world can absorb more social
ACM on the Move or rule, or even to define exactly media sites, but how many?
By Scott E. Delman what randomness means. By Michael A. Cusumano
By Gary Anthes
27 Calendar 34 Kode Vicious
16 Engineering Sensation Coder’s Block
116 Careers in Artificial Limbs What does it take to clear
Advancements in mobile electronics the blockage?
have led to several prosthetics By George V. Neville-Neil
Last Byte innovations in recent years, but
providing reliable touch sensations 36 Viewpoint
120 Q&A to users remains an elusive goal. Asymmetries and Shortages
The Chief Computer By Kirk L. Kroeker of the Network Neutrality Principle
Kelly Gotlieb recalls the early days What could neutrality achieve?
of computer science in Canada. 19 Social Games, Virtual Goods By José Luis Gómez-Barroso
By Leah Hoffmann The popularity of virtual goods and Claudio Feijóo
and currencies in online gaming
is changing how people think Reaching Future Computer Scientists
and act about money. Think teachers, not students.
By Samuel Greengard By Patricia Morreale and David Joiner

23 British Computer Scientists Reboot


About the Cover: After a year of turmoil, computer
The art of exploded-view
illustrations explore scientists at King’s College London
the pieces and cuts
have retained their jobs, but
Illustratio n by w eknow/sh ut t erstock

and shape of the missing


geometry and spatial substantial challenges lie ahead.
relationships among parts.
This month’s cover story
By Sarah Underwood
traces ways to identify
and analyze design
principles for creating
more powerful and
effective visualizations.

Cover illustration by Leonello Calvetti

2 communi cations o f the ac m | april 2 0 1 1 | vol. 5 4 | no. 4


04/2011 vol. 54 no. 04

Practice Contributed Articles Review Articles

60 Design Principles for 86 Crowdsourcing Systems


Visual Communication on the World-Wide Web
How to identify, instantiate, and The practice of crowdsourcing
evaluate domain-specific design is transforming the Web and
principles for creating more giving rise to a new field.
effective visualizations. By AnHai Doan, Raghu Ramakrishnan,
By Maneesh Agrawala, Wilmot Li, and Alon Y. Halevy
and Floraine Berthouzoz
Achievements and Challenges
70 Why STM Can Be More in Software Reverse Engineering
Than A Research Toy Deeply understanding the intricacies
Despite earlier claims, Software of software must always come before
Transactional Memory outperforms any considerations for modifying it.
sequential code. By Gerardo Canfora, Massimiliano
By Aleksandar Dragojević, Di Penta, and Luigi Cerulo
Pascal Felber, Vincent Gramoli,
38 Returning Control to and Rachid Guerraoui
the Programmer: SIMD Intrinsics Research Highlights
for Virtual Machines 78 Reflecting on the DARPA
Exposing SIMD units within Red Balloon Challenge 98 Technical Perspective
interpreted languages could simplify Finding 10 balloons across Liability Issues in
programs and unleash floods of the U.S. illustrates how the Internet Software Engineering
untapped processor power. has changed the way we solve By Daniel M. Berry
By Jonathan Parri, Daniel Shapiro, highly distributed problems.
Miodrag Bolic, and Voicu Groza By John C. Tang, Manuel Cebrian, 99 Liability Issues in
Nicklaus A. Giacobe, Software Engineering:
44 Successful Strategies Hyun-Woo Kim, Taemie Kim, The use of formal methods
for IPv6 Rollouts. Really. and Douglas “Beaker” Wickert to reduce legal uncertainties
Knowing where to begin By Daniel Le Métayer,
is half the battle. Emergency! Web 2.0 to the Rescue! Manuel Maarek, Eduardo Mazza,
By Thomas A. Limoncelli, Emergent serendipity fosters Marie-Laure Potet, Stéphane Frénot,
With an introduction by Vinton G. Cerf volunteerism driven by creative Valérie Viet Triem Tong,
problem solving, not simply Nicolas Craipeau, and Ronan Hardouin
49 A Co-Relational Model of Data following directions.
for Large Shared Data Banks By Ann Majchrzak
Contrary to popular belief, SQL and Philip H.B. More 107 Technical Perspective
and noSQL are really just two sides Patterns Hidden from
of the same coin. A Research Doctorate Simple Algorithms
By Erik Meijer and Gavin Bierman for Computing Professionals By Madhu Sudan
Looking back on the first decade of
Articles’ development led by the Doctor of Professional Studies 108 Poly-logarithmic Independence
queue.acm.org in Computing—an ambitious Fools Bounded-Depth
doctoral track for people who want to Boolean Circuits
do research in an industrial setting. By Mark Braverman
By Fred Grossman, Charles Tappert,
Illustratio n by A nd rew Cl ark

Joe Bergin, and Susan M. Merritt

Association for Computing Machinery


Advancing Computing as a Science & Profession

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n i c at i o n s of the acm 3


communications of the acm
Trusted insights for computing’s leading professionals.

Communications of the ACM is the leading monthly print and online magazine for the computing and information technology fields.
Communications is recognized as the most trusted and knowledgeable source of industry information for today’s computing professional.
Communications brings its readership in-depth coverage of emerging areas of computer science, new trends in information technology,
and practical applications. Industry leaders use Communications as a platform to present and debate various technology implications,
public policies, engineering challenges, and market trends. The prestige and unmatched reputation that Communications of the ACM
enjoys today is built upon a 50-year commitment to high-quality editorial content and a steadfast dedication to advancing the arts,
sciences, and applications of information technology.

ACM, the world’s largest educational STA F F editorial Board


and scientific computing society, delivers  
resources that advance computing as a Director of Group P ublishi ng E ditor-i n -c hief
science and profession. ACM provides the Scott E. Delman Moshe Y. Vardi ACM Copyright Notice
computing field’s premier Digital Library publisher@cacm.acm.org eic@cacm.acm.org Copyright © 2011 by Association for
and serves its members and the computing Executive Editor News Computing Machinery, Inc. (ACM).
profession with leading-edge publications, Diane Crawford Co-chairs Permission to make digital or hard copies
conferences, and career resources. Managing Editor Marc Najork and Prabhakar Raghavan of part or all of this work for personal
Thomas E. Lambert Board Members or classroom use is granted without
Executive Director and CEO Senior Editor Hsiao-Wuen Hon; Mei Kobayashi; fee provided that copies are not made
John White Andrew Rosenbloom William Pulleyblank; Rajeev Rastogi; or distributed for profit or commercial
Deputy Executive Director and COO Senior Editor/News Jeannette Wing advantage and that copies bear this
Patricia Ryan Jack Rosenberger notice and full citation on the first
Director, Office of Information Systems Web Editor Viewpoints page. Copyright for components of this
Wayne Graves David Roman Co-chairs work owned by others than ACM must
Director, Office of Financial Services Editorial Assistant Susanne E. Hambrusch; John Leslie King; be honored. Abstracting with credit is
Russell Harris Zarina Strakhan J Strother Moore permitted. To copy otherwise, to republish,
Director, Office of Marketing and Rights and Permissions Board Members to post on servers, or to redistribute to
Membership Deborah Cotton P. Anandan; William Aspray; lists, requires prior specific permission
David M. Smith Stefan Bechtold; Judith Bishop; and/or fee. Request permission to publish
Director, Office of SIG Services Art Director Stuart I. Feldman; Peter Freeman; from permissions@acm.org or fax
Donna Cappo Andrij Borys Seymour Goodman; Shane Greenstein; (212) 869-0481.
Director, Office of Publications Associate Art Director Mark Guzdial; Richard Heeks;
Bernard Rous Alicia Kubista Rachelle Hollander; Richard Ladner; For other copying of articles that carry a
Director, Office of Group Publishing Assistant Art Directors Susan Landau; Carlos Jose Pereira de Lucena; code at the bottom of the first or last page
Scott Delman Mia Angelica Balaquiot Beng Chin Ooi; Loren Terveen or screen display, copying is permitted
Brian Greenberg provided that the per-copy fee indicated
ACM C ou ncil Production Manager P ractice in the code is paid through the Copyright
President Lynn D’Addesio Chair Clearance Center; www.copyright.com.
Alain Chesnais Director of Media Sales Stephen Bourne
Vice-President Jennifer Ruzicka Board Members Subscriptions
Barbara G. Ryder Public Relations Coordinator Eric Allman; Charles Beeler; David J. Brown; An annual subscription cost is included
Secretary/Treasurer Virgina Gold Bryan Cantrill; Terry Coatta; in ACM member dues of $99 ($40 of
Alexander L. Wolf Publications Assistant Stuart Feldman; Benjamin Fried; which is allocated to a subscription to
Past President Emily Williams Pat Hanrahan; Marshall Kirk McKusick; Communications); for students, cost
Wendy Hall Erik Meijer; George Neville-Neil; is included in $42 dues ($20 of which
Chair, SGB Board Columnists is allocated to a Communications
Theo Schlossnagle; Jim Waldo
Vicki Hanson Alok Aggarwal; Phillip G. Armour; subscription). A nonmember annual
Co-Chairs, Publications Board Martin Campbell-Kelly; The Practice section of the CACM subscription is $100.
Ronald Boisvert and Jack Davidson Michael Cusumano; Peter J. Denning; Editorial Board also serves as
Members-at-Large Shane Greenstein; Mark Guzdial; the Editorial Board of . ACM Media Advertising Policy
Vinton G. Cerf; Peter Harsha; Leah Hoffmann; Communications of the ACM and other
Mari Sako; Pamela Samuelson; C on tributed Articles
Carlo Ghezzi; Co-chairs ACM Media publications accept advertising
Anthony Joseph; Gene Spafford; Cameron Wilson in both print and electronic formats. All
Al Aho and Georg Gottlob
Mathai Joseph; Board Members advertising in ACM Media publications is
Kelly Lyons; C on tact P oi n ts at the discretion of ACM and is intended
Copyright permission Yannis Bakos; Elisa Bertino;
Mary Lou Soffa; Gilles Brassard; Alan Bundy; to provide financial support for the various
Salil Vadhan permissions@cacm.acm.org activities and services for ACM members.
Calendar items Peter Buneman; Andrew Chien;
SGB Council Representatives Peter Druschel; Blake Ives; James Larus; Current Advertising Rates can be found
Joseph A. Konstan; calendar@cacm.acm.org by visiting http://www.acm-media.org or
Change of address Igor Markov; Gail C. Murphy; Shree Nayar;
G. Scott Owens; Lionel M. Ni; Sriram Rajamani; by contacting ACM Media Sales at
Douglas Terry acmhelp@acm.org (212) 626-0654.
Letters to the Editor Marie-Christine Rousset; Avi Rubin;
Publicatio ns Boar d letters@cacm.acm.org Fred B. Schneider; Abigail Sellen;
Ron Shamir; Marc Snir; Larry Snyder; Single Copies
Co-Chairs
Veda Storey; Manuela Veloso; Michael Vitale; Single copies of Communications of the
Ronald F. Boisvert; Jack Davidson W eb S I T E
Wolfgang Wahlster; Andy Chi-Chih Yao ACM are available for purchase. Please
Board Members http://cacm.acm.org contact acmhelp@acm.org.
Nikil Dutt; Carol Hutchins; Joseph A. Konstan;
Ee-Peng Lim; Catherine McGeoch; Au th or G u id elin es Research High lights
Comm unicatio n s of the ACM
M. Tamer Ozsu; Holly Rushmeier; http://cacm.acm.org/guidelines Co-chairs
(ISSN 0001-0782) is published monthly
Vincent Shen; Mary Lou Soffa David A. Patterson and Stuart J. Russell
by ACM Media, 2 Penn Plaza, Suite 701,
A dvertisin g Board Members
ACM U.S. Public Policy Office New York, NY 10121-0701. Periodicals
Martin Abadi; Stuart K. Card; Jon Crowcroft;
Cameron Wilson, Director postage paid at New York, NY 10001,
ACM Advertisi n g Department Shafi Goldwasser; Monika Henzinger;
1828 L Street, N.W., Suite 800 and other mailing offices.
2 Penn Plaza, Suite 701, New York, NY Maurice Herlihy; Dan Huttenlocher;
Washington, DC 20036 USA Norm Jouppi; Andrew B. Kahng;
10121-0701 POSTMASTER
T (202) 659-9711; F (202) 667-1066 Gregory Morrisett; Michael Reiter;
T (212) 869-7440 Please send address changes to
Computer Science Teachers Association F (212) 869-0481 Mendel Rosenblum; Ronitt Rubinfeld;
Communications of the ACM
Chris Stephenson David Salesin; Lawrence K. Saul;
Director of Media Sales 2 Penn Plaza, Suite 701
Executive Director Guy Steele, Jr.; Madhu Sudan;
Jennifer Ruzicka New York, NY 10121-0701 USA
2 Penn Plaza, Suite 701 Gerhard Weikum; Alexander L. Wolf;
jen.ruzicka@hq.acm.org Margaret H. Wright
New York, NY 10121-0701 USA
T (800) 401-1799; F (541) 687-1840 Media Kit acmmediasales@acm.org
W eb
Association for Computing Machinery Co-chairs
(ACM) James Landay and Greg Linden
2 Penn Plaza, Suite 701 Board Members A
SE
REC
Y

New York, NY 10121-0701 USA Gene Golovchinsky; Marti Hearst;


E

CL
PL

T (212) 869-7440; F (212) 869-0481 Jason I. Hong; Jeff Johnson; Wendy E. MacKay Printed in the U.S.A.
NE
TH

S
I

Z
I

M AGA

4 communi cations o f the ac m | april 2 0 1 1 | vol. 5 4 | no. 4


education policy committee letter

DOI:10.1145/1924421.1924422 Robert B. Schnabel

Educating Computing’s
Next Generation
In a sensible world—at least as defined by
computer scientists who, as we all know,
are eminently sensible people—there would
be no need for the ACM Education Policy
Committee (EPC). Educational sys- in the number of K–12 CS courses, the in a required or core subject. Key report
tems, and the policymakers and of- number of students taking the CS ad- findings include that only nine states
ficials who influence them, would vanced placement exam, and the num- allow a CS course to count as a core
be fully aware that computer science ber of undergraduate CS majors. At the graduation credit and that 14 states
knowledge and skills are among the same time, however, the demand for CS have adopted no standards (see http://
most essential ingredients of a modern professionals continues to grow. In ad- www.acm.org/runningonempty/).
education. They would recognize that dition, the participation of women and ˲˲ Leading the development and
not only does this knowledge provide underrepresented minorities remains implementation of CSEd Week. Begin-
the foundation for modern competency low at all levels. ning in 2009, the U.S. House of Repre-
in many others fields ranging from sci- ACM formed the EPC in 2007 to en- sentatives endorsed the week of Grace
ences to communications to entertain- gage policymakers and the public on Hopper’s birthday (Dec. 6) to recognize
ment and more, but that only through public policy issues in CS, including: the critical role of computing to bolster
giving students deep computer science ˲˲ Reviewing issues that impact sci- CS education at all levels. The 2010
(CS) knowledge can we expect to have ence, math, and CS education in K–12 week included over 1,700 pledges of
a new generation that can create—not and higher education support and 270 activities and events
just consume—the next wave of com- ˲˲ Determining whether current poli- from 45 states and over 30 countries.
puting innovations. Educators and cies are serving the computing field ˲˲ Leading development of the Com-
policymakers also would be fully cogni- and recommending improvements puting in the Core coalition, a non-
zant that in conversations about STEM ˲˲ Commenting on proposals before partisan advocacy coalition of associa-
(science, technology, engineering and governmental bodies that impact com- tions, corporations, scientific societies,
mathematics) jobs, the current and puting education and other non-profits seeking to elevate
projected demand for computing work- ˲˲ Educating policymakers on the im- the national profile of U.S. K–12 CS edu-
ers far outstrips any other area of STEM portance of computing education cation.
and faces by far the greatest deficiency ˲˲ Providing expertise on key comput- ˲˲ Holding numerous events in D.C.
of supply relative to demand. ing education issues to policymakers and at conferences, and meetings with
Of course, we don’t live in a perfect While the U.S. is the initial focus, government policymakers, to raise
world. All aspects of our world are influ- computing education is a global issue awareness of CS education issues.
enced by history, and the existence of and many positions of the committee ˲˲ Commenting on various STEM ed-
CS still “only” dates back about half a have global applicability. ucation studies and policies to assure
century, which pales in comparison to In its brief history, the EPC has had full attention to CS, with marked im-
math, biology, chemistry, physics, and some significant impacts, including: pact in some cases.
other sciences. While the higher edu- ˲˲ Co-sponsoring the 2010 report There are, as Robert Frost said, miles
cation system adapted fairly quickly to “Running on Empty: The Failure to to go before we sleep. We welcome your
the existence and importance of CS, the Teach K-12 Computer Science in the suggestions and support!
K–12 system has not. More recently, the Digital Age,” which examined the ex-
situation has gotten worse in nations tent to which CS education is incorpo- Robert B. Schnabel, chair of ACM’s Education Policy
including the U.S. and the U.K. In the rated into current state education stan- Committee, is a professor and Dean of the School of
Informatics at the Indiana University, Bloomington.
U.S (the initial focus of the EPC), the last dards and to what extent states allow CS
decade has seen significant declines courses to count as a graduation credit © 2011 ACM 0001-0782/11/04 $10.00

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n i c at i o n s of the acm 5


ACM, Advancing Computing as
ACM, Advancing
a Science and Computing
a Professionas
a Science and a Profession
Dear Colleague,
Dear Colleague,
The power of computing technology continues to drive innovation to all corners of the globe,
bringing with it opportunities for economic development and job growth. ACM is ideally positioned
The
to help power of computing
computing technology
professionals worldwidecontinues to driveininnovation
stay competitive to all
this dynamic corners of the globe,
community.
bringing with it opportunities for economic development and job growth. ACM is ideally positioned
to provides
ACM help computing
invaluableprofessionals worldwide
member benefits stayyou
to help competitive in this
advance your dynamic
career community.
and achieve success in your
chosen specialty. Our international presence continues to expand and we have extended our online
ACM provides
resources invaluable
to serve needs that member benefits to help
span all generations you advance
of computing your careereducators,
practitioners, and achieve success in and
researchers, your
chosen
students. specialty. Our international presence continues to expand and we have extended our online
resources to serve needs that span all generations of computing practitioners, educators, researchers, and
students.
ACM conferences, publications, educational efforts, recognition programs, digital resources, and diversity
initiatives are defining the computing profession and empowering the computing professional.
ACM conferences, publications, educational efforts, recognition programs, digital resources, and diversity
initiatives areare
This year we defining the computing
launching professionlearning
Tech Packs, integrated and empowering
packages onthecurrent
computing professional.
technical topics created and
reviewed by expert ACM members. The Tech Pack core is an annotated bibliography of resources from the
This year weACM
renowned are launching Tech–Packs,
Digital Library integrated
articles learning
from journals, packages
magazines, on current
conference technical topics
proceedings, created
Special and
Interest
reviewed by expert ACM members. The Tech Pack core is an annotated bibliography of resources
Group newsletters, videos, etc. – and selections from our many online books and courses, as well an non- from the
renowned ACM where
ACM resources Digitalappropriate.
Library – articles from journals, magazines, conference proceedings, Special Interest
Group newsletters, videos, etc. – and selections from our many online books and courses, as well an non-
ACM resources where
BY BECOMING AN ACM appropriate.
MEMBER YOU RECEIVE:

Timely
BY accessAN
BECOMING toACMrelevant
MEMBER information
YOU RECEIVE:
Communications of the ACM magazine • ACM Tech Packs • TechNews email digest • Technical Interest Alerts and
Timely access• to
ACM Bulletins ACM relevant
journalsinformation
and magazines at member rates • full access to the acmqueue website for practi-
Communications
tioners • ACM SIG the ACM magazine
of conference discounts• ACM
• theTech PacksACM
optional • TechNews email digest • Technical Interest Alerts
Digital Library
and ACM Bulletins • ACM journals and magazines at member rates • full access to the acmqueue website for
practitioners
Resources that• ACM SIGenhance
will conference discounts
your career• and
the optional
follow youACM toDigital
newLibrary
positions
Career & Job Center • online books from Safari® featuring O’Reilly and Books24x7® • online courses in multiple
Resources
languages •that will
virtual enhance
labs your career
• e-mentoring servicesand follow you
• CareerNews emailtodigest
new positions
• access to ACM’s 34 Special Interest
Career
Groups&•Job Center • email
an acm.org The Learning
forwardingCenter • online
address withbooks
spamfrom Safari® featuring O’Reilly and Books24x7® •
filtering
online courses in multiple languages • virtual labs • e-mentoring services • CareerNews email digest • access to
ACM’s36
ACM’s worldwide network
Special Interest of more
Groups than
• an 97,000
acm.org members
email rangesaddress
forwarding from students to seasoned
with spam filtering professionals and
includes many renowned leaders in the field. ACM members get access to this network and the advantages that
come worldwide
ACM’s from their expertise
network of to more
keep you
thanat100,000
the forefront of the
members technology
ranges world. to seasoned professionals and
from students
includes many renowned leaders in the field. ACM members get access to this network and the advantages that
Pleasefrom
come taketheir
a moment
expertise to to
consider
keep youtheatvalue of an ACM
the forefront membership
of the your career and your future in the
technologyforworld.
dynamic computing profession.
Please take a moment to consider the value of an ACM membership for your career and your future in the
Sincerely,computing profession.
dynamic

Sincerely,

Alain Chesnais
President
Alain Chesnais
Association for Computing Machinery
President
Association for Computing Machinery

Advancing Computing as a Science & Profession


membership application &
Advancing Computing as a Science & Profession
digital library order form
Priority Code: AD10

You can join ACM in several easy ways:


Online Phone Fax
http://www.acm.org/join +1-800-342-6626 (US & Canada) +1-212-944-1318
+1-212-626-0500 (Global)
Or, complete this application and return with payment via postal mail

Special rates for residents of developing countries: Special rates for members of sister societies:
http://www.acm.org/membership/L2-3/ http://www.acm.org/membership/dues.html
Please print clearly
Purposes of ACM
ACM is dedicated to:
Name
1) advancing the art, science, engineering,
and application of information technology
2) fostering the open interchange of
Address information to serve both professionals and
the public
3) promoting the highest professional and
City State/Province Postal code/Zip ethics standards
I agree with the Purposes of ACM:
Country E-mail address

Signature

Area code & Daytime phone Fax Member number, if applicable ACM Code of Ethics:
http://www.acm.org/serving/ethics.html

choose one membership option:


PROFESSIONAL MEMBERSHIP: STUDENT MEMBERSHIP:
o ACM Professional Membership: $99 USD o ACM Student Membership: $19 USD

o ACM Professional Membership plus the ACM Digital Library: o ACM Student Membership plus the ACM Digital Library: $42 USD
$198 USD ($99 dues + $99 DL) o ACM Student Membership PLUS Print CACM Magazine: $42 USD
o ACM Digital Library: $99 USD (must be an ACM member) o ACM Student Membership w/Digital Library PLUS Print
CACM Magazine: $62 USD

All new ACM members will receive an payment:


ACM membership card. Payment must accompany application. If paying by check or
For more information, please visit us at www.acm.org money order, make payable to ACM, Inc. in US dollars or foreign
currency at current exchange rate.
Professional membership dues include $40 toward a subscription
to Communications of the ACM. Student membership dues include o Visa/MasterCard o American Express o Check/money order
$15 toward a subscription to XRDS. Member dues, subscriptions,
and optional contributions are tax-deductible under certain
o Professional Member Dues ($99 or $198) $ ______________________
circumstances. Please consult with your tax advisor.
o ACM Digital Library ($99) $ ______________________
RETURN COMPLETED APPLICATION TO:
o Student Member Dues ($19, $42, or $62) $ ______________________
Association for Computing Machinery, Inc.
General Post Office Total Amount Due $ ______________________
P.O. Box 30777
New York, NY 10087-0777

Questions? E-mail us at acmhelp@acm.org Card # Expiration date


Or call +1-800-342-6626 to speak to a live representative

Satisfaction Guaranteed! Signature


in the virtual extension

DOI:10.1145/1924421.1924424

In the Virtual Extension


To ensure the timely publication of articles, Communications created the Virtual Extension (VE)
to expand the page limitations of the print edition by bringing readers the same high-quality
articles in an online-only format. VE articles undergo the same rigorous review process as those
in the print edition and are accepted for publication on merit. The following synopses are from
articles now available in their entirety to ACM members via the Digital Library.

contributed article contributed article review article


DOI: 10.1145/1924421.1924449 DOI: 10.1145/1924421.1924450 DOI: 10.1145/1924421.1924451

Emergency! Web 2.0 to the Rescue! A Research Doctorate for Achievements and Challenges in
Ann Majchrzak and Philip H.B. More Computing Professionals Software Reverse Engineering
Beginning Sunday October 21, 2007, San Fred Grossman, Charles Tappert, Gerardo Canfora, Massimiliano
Diego County experienced the worst fires Joe Bergin, and Susan M. Merritt Di Penta, and Luigi Cerulo
ever reported in a large urban area in the The Doctor of Professional Studies The need for changing existing
U.S. As seven major fires and five lesser (DPS) in Computing at Pace University software has been with us since the
fires raged, Ron Roberts, Chair of the provides computing and information first programs were written. Indeed,
San Diego County Board of Supervisors, technology professionals a unique the necessity for modifying software
said, “We are entering day three of what opportunity to pursue a doctoral degree requires understanding it. Software
appears to be one of the worst fires, while continuing to work full time. It comprehension is a human-intensive
probably the worst fire in San Diego supports interdisciplinary study among process, where developers acquire
County history, and easily one of the computing areas and applied research sufficient knowledge about a software
worst fires in the history of the state of in one or more of them, and thereby artifact, or an entire system, so as to be
California.” The after-action report later provides a background highly valued by able to successfully accomplish a given
said the seven fires collectively caused 10 industry. It is an innovative post-master’s task, by means of analysis, guessing, and
civilian deaths, 23 civilian injuries, and doctoral program structured to meet formulation of hypotheses. In most cases,
89 firefighter injuries, consumed 370,000 the needs of the practicing computing software comprehension is challenged
acres, or about 13% of the county’s total professional. The DPS in Computing is by the lack of adequate and up-to-date
land area, destroyed 1,600 homes, and distinguished from the Ph.D. by focusing software documentation, often due to
cost in excess of $1.5 billion. upon the advancement of the practice of limited skills or to resource and timing
Sociological research on disaster computing through applied research and constraints during development activities.
situations has repeatedly recognized development. It is designed specifically This article discusses the developments of
the value of volunteers, demonstrating for people who want to do research in an broad significance in the field of reverse
their importance providing physical and industrial setting. engineering, and highlights unresolved
emotional assistance, as well as their questions and future directions. The
need for timely information. However,
local and federal disaster-management viewpoint authors summarize the most important
reverse engineering concepts and
planning and policy implementation have DOI: 10.1145/1924421.1924448 describe the main challenges and
generally ignored the role of volunteers. achievements. They provide references
Because volunteers sometimes add to the Reaching Future
to relevant and available tools for the two
chaos of a disaster, disaster officials may Computer Scientists major activities of a reverse engineering
even discourage their participation. Patricia Morreale and David Joiner process and outline future trends of
The decline in undergraduate enrollment reverse engineering in today’s software
at the university level is well documented engineering landscape.
and it begins in high school. Today’s high
school students are exposed to traditional
math and science curriculums but exposure
to computer science and associated
computational thinking is frequently absent
from the U.S. high school experience.
While the importance of computer
science to the U.S. national curriculum has
been addressed by some states with teacher
certification programs, the field cannot
wait another generation of students for
legislated standards to be implemented.
Instead, the authors advocate university
faculty reaching out to high school faculty.
By holding teacher workshops, the authors
have been able to update and enhance
many of the ideas current high school
faculty have regarding applications of
computers in the sciences.

8 communications o f the acm | april 2 0 1 1 | vol . 5 4 | no. 4


letters to the editor

DOI:10.1145/1924421.1924423

I Want a Personal Information Pod

I
found much to agree with in (Feb. 2011) transposed technical credit
Stephen Davies’s article “Still Author’s Response: cited for James A. Katzman and Joel F.
Building the Memex” (Feb. Veith makes a fair point. For users, what Bartlett at Tandem in the late 1970s.
2011) but also feel one of his ultimately matters is whether their Katzman and Bartlett were key con-
suggestions went off in the knowledge base is ubiquitously available tributors on hardware and operating
wrong direction. Davies imagined that and immune to data loss—as provided by system, respectively.
a system for managing what he termed the distributed solution I described but that
a “personal knowledge base” would would be handled just as well by a handheld Communications welcomes your opinion. To submit a
Letter to the Editor, please limit your comments to 500
be a “distributed system that securely device with synchronized backups. words or less and send to letters@cacm.acm.org.
stores your personal knowledge and Stephen Davies, Fredericksburg, VA
is available to you anywhere...” and to- © 2011 ACM 0001-0782/11/04 $10.00
ward this end dismissed handheld de-
vices due to their hardware limitations More Industrial Researchers at
while including handheld devices as Conferences and Workshops Coming Next Month in
a way to access the networked distrib- Moshe Y. Vardi’s Editor’s Letter (Jan.
uted system. 2011) posed the possibly rhetorical Communications
Just as Davies might have imagined question “Where Have All the Work-
future built-in network capabilities shops Gone?” Just as business strategy Brain-Computer
able to guarantee access anywhere any- is influenced by tax law, the nature of
time at desirable speeds to the desired workshops is determined, in part, by Interfaces for
information (presumably at reaonable academic- and corporate-funding poli- Communication
cost), the rest of us, too, can imagine cies. Corporate attendance at an exter- and Control
personal devices with all the neces- nal (to the organization) conference or
sary capabilities and interface control. workshop is often driven by whether a
Such devices would be much closer to mainstream research paper has been The Future of
Vannevar Bush’s Memex vision. accepted for publication in its pro- Microprocessors: Changing
Bush was clearly writing about a per- ceedings. Likewise, academic promo-
sonal machine to store one’s collection tions and salary increases at research Technology Landscape
of personal information, and a person- universities are influenced by whether Shapes the Next 20 Years of
al device functioning as one’s extend- a paper was published in “first tier” Microprocessor Architecture
ed memory would be far preferable to conference or workshop publications.
a networked distributed system. But These policies are mainly responsible
why would any of us trust our personal for the demise of the type of workshop Proving Program Termination
extended memory to some networked Vardi described.
distributed resource, given how often I have found, at least in my com-
we are unable to find something on the pany, that enlightened management Privacy-Preserving
Web we might have seen before? encourages the free exchange of ideas Network Forensics
In my own exploration of Bush’s Me- and best practices at such workshops,
mex vision (“Memex at 60: Internet or even though they are typically closed
iPod?” Journal of the American Society events due to IP concerns. However, or- An Interview with
for Information Science and Technology ganizing them so they’re indeed open Steve Furber
(July 2006), 1233–1242), I took a stab at to the public and attract attendees and
how such a personal information de- speakers likely requires a change in
vice might be assembled and function, promotion and tenure policies at uni- Viewpoint: The Importance
comparing it to a combination iPod versities and a value proposition that of Reviewing the Code
and tablet PC, resulting in a personal encourages participation by industrial
information pod. researchers.
Ultimately though, I do fully agree Brian Berenbach, Princeton, NJ And the latest news on
with Davies as to the desirability of domestic-assistance robots,
a tool that benefits any of us whose computational metaphysics,
“own mind” is simply “insufficient for Correction large-scale organization of photos,
retaining and leveraging the knowl- Due to an editing error, the letter to and artificial intelligence for
edge [we] acquire.” the editor by Paul McJones “Credit developing nations.
Richard H. Veith, Port Murray, NJ Due for Tandem’s Hardware and OS”

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n i c at i o n s of the acm 9


The Communications Web site, http://cacm.acm.org,
features more than a dozen bloggers in the BLOG@CACM
community. In each issue of Communications, we’ll publish
selected posts or excerpts.

Follow us on Twitter at http://twitter.com/blogCACM

doi:10.1145/1924421.1924425 http://cacm.acm.org/blogs/blog-cacm

Matters of Design, shape and size, and said what the de-
signer was asking for was impossible.

Part II
The industrial designer pushed back
and said, “Prove it.” The team iterated
on various hardware layouts and got to
Jason Hong discusses how Apple creates well-designed products about 90% of what the industrial de-
signer wanted, and told him if he made
and what the human-computer interaction community can
a few changes to the form factor, they
learn from its methods. could make everything fit.
Another surprise was how differ-
Jason Hong how Apple does design. Many people ent Apple’s design methods are from
“Why is Great Design perceive Apple as the paragon of de- “standard” best practices in human-
so Hard (Part Two)?” sign, with clean, sleek interfaces that computer interaction (HCI). For exam-
http://cacm.acm.org/ aren’t just easy to use, but also are fun, ple, a typical method we teach in HCI is
blogs/blog-cacm/97958 attractive, and aesthetically appealing to start with ethnographic field studies
This blog entry is a fol- on a visceral level. So, what is Apple to gain deep insights into what people
low-up to a previous one a few weeks doing right? do, how they do it, and why they do it.
ago [“Why is Great Design so Hard?”, One point repeated by many people Another best practice is to do iterative
which appeared in the BLOG@CACM was that the culture of design is per- user testing with benchmarks, to en-
department in the Feb. 2011 issue] vasive throughout Apple. Everyone sure that people find products useful
looking at the challenges of integrat- knows it’s important and that it helps and usable.
ing great interaction and user experi- sell products. From what I can tell, Apple doesn’t
ence design into organizations. Ba- What surprised me were examples use either of these methods.
sically, my question was, Everyone of how this culture was translated Instead, people described three dif-
wants well-designed products, but into practical everyday work at Apple. ferent methods used at Apple. The first
why do few organizations seem to be Some people mentioned how strong is that Apple preferred having subject
able to make it happen? What are the top-down design work of the overall matter experts who have many years of
barriers? Why isn’t good design more user experience was done up-front, experience in the field be part of their
pervasive? If we want good design to rather than the typical bottom-up user teams. For example, for Aperture, Ap-
spread to more organizations, we need interface tinkering done by most or- ple’s photo management software, it
to have a better understanding of what ganizations (and then bringing in de- might be an expert photographer who
is and isn’t working. signers after the system has already deals with tens of thousands of photo-
My last blog entry examined chal- been built). graphs on a regular basis. For iMovie,
lenges that software companies face One story that stood out in particu- it might be a team of people who edit
in incorporating design into how they lar really helped me understand just movie clips for a living. In one sense,
make products. This blog entry takes how much prominence was given to this approach might be thought of as
a different tack and looks at what suc- design. A former Apple employee that an adaptation of participatory design,
cessful organizations are doing right. worked on designing hardware re- where the people who will eventually
More specifically, I’ve been having counted how he was given a prototype use the software help design the soft-
many discussions with different indi- of a physical form factor by an indus- ware. Historically, however, participa-
viduals over the past few weeks about trial designer. His team looked at the tory design has been used for custom

10 communi cations o f th e acm | april 2 0 1 1 | vol . 5 4 | no. 4


blog@cacm

software for a specific organization, so Furthermore, it’s actually not clear we should be applying HCI methods vs.
Apple’s use of experts for mass market if Apple’s approach to design is op- other approaches.
software is a new twist. timal or even replicable. Apple’s ap-
The second is that people at Apple proach relies heavily on people at the Comments
think really long and hard about prob- top of the organization consistently Have you seen Alain Breillatt’s article where
lems. From that perspective, certain so- coming up with great ideas and great he documents Apple’s development process
lutions will pop out as being obviously designs. However, we’ve also seen a based on a talk from a senior engineering
better ways of doing things. Thus, part tremendous amount of innovation manager at Apple?
of Apple’s strategy is to guide people to- with reasonably good interfaces com- “You Can’t Innovate Like Apple”
ward that way of thinking as well. If you ing out of Google, Facebook, Amazon, http://www.pragmaticmarketing.com/
see problems the same way that Apple and other high-tech companies. Per- publications/magazine/6/4/you_cant_
does, then the structure and organiza- haps there are ways of helping organi- innovate_like_apple
tion of an interface will make sense. zations be more user-centric without Basically, Apple bets the company every
The third is that Apple tends to having to radically restructure their time it does a new product, and takes high
design by principle rather than from company, a topic I’ll explore in my next risks to change the market each time. Most
data. In HCI classes, we emphasize blog post. other companies wouldn’t risk failure to do
making design decisions based on evi- these things.
dence as much as possible, for exam- Comments Also, some relevant commentary
ple, from past user studies on previous Did you talk to these people and ask them, from Bruce Tognazzini on the
iterations of the interface or from eth- Why do you think Apple no longer shows differences at Apple: http://asktog.com/
nographic field studies. In contrast, at up at the annual HCI conference SIGCHI columns/082iPad&Mac.html
Apple, more weight is given to design runs? Do you think Apple believes standard —James Jarrett
decisions made from first principles. HCI practices are not really useful? Why
So, what does this all mean? aren’t they part of the conversation at these Jason: If Apple can be successful without
I have two closing thoughts. First, conferences? using more traditional HCI methods, then it
should we just throw away existing HCI —Ed Chi is high time that we take a look at ourselves,
methods for design? Given the sharp and think about the true impact of HCI
contrast between traditional methods Jason Hong responds design and evaluation methodologies.
in HCI and the methods used at Apple, Apple hasn’t had a strong research Supposedly, they do no market research, and
and given the success of Apple’s prod- presence since Apple’s Advanced implies they hardly ever talk to real users
ucts, do HCI methods actually matter? Technology Group (ATP) was closed during the design process. That means, I
One of my colleagues has a good in 1997 by Steve Jobs. Given the style guess, there is very little participatory design
counterargument, which is that Ap- of products Apple has been pursuing, or iterative refinement. Blasphemy! Ha ha!
ple’s products aren’t always the first in as well as their success (bigger market Speaking of ATG: There are some great
an area. The iPod wasn’t the first MP3 cap than Microsoft now!), it’s hard to research that was done at the ATG before it
player, iTunes wasn’t the first online say it was a bad decision for Apple, shut down. Spotlight came from Sherlock,
music store, and the iPhone wasn’t the though it was clearly bad for the re- which I believe was transferred from ATG.
first smartphone. As such, Apple can search community. So is the idea of the Apple Data Detector
learn from the mistakes of others, ap- My impression as to why Apple isn’t entity extraction and interaction ideas.
ply the skills of subject matter experts, part of the conversation is because it’s James: If they bet the house every
and hone existing designs in a proven not the style of their work. There are time, I can see how they have to be
market. However, for new kinds of still many organizations where indus- more secretive. Thanks for the link. Very
hardware or applications that there trial design is seen as the only form of interesting read.
isn’t a lot of precedence for, this style of design. —Ed Chi
“think really long and hard” won’t be as It’s also not part of their DNA. Steve
effective in pinpointing user needs and Jobs is well known for being ultra-secre- Keep in mind that although successful,
developing products in new markets. tive, and this outlook just doesn’t mesh Apple provides just one way to think about
Second, how much prominence well with the open sharing in research. design. They have a small and narrowly
should be given to design within or- In terms of valuing HCI methods, focused product line. Further, they are
ganizations? What is the right mix of again I think it’s just not part of their designing for a (relatively) small user group.
design, engineering, and business culture. Given their successes too, it There are other consumer products
needs? For example, the so-called would be hard to say they need to do companies that continue to value
“death grip” for iPhones, where hold- something different. However, I think ethnographic research and use it to inform
ing the phone the wrong way leads to the key point was what I mentioned in “good design.” Finding examples of this
a drop in signal strength, is clearly an the blog entry—Apple’s recent line of means thinking beyond tech companies.…
engineering problem rather than an products have been more about per- —spwyche
interaction design problem. A better fecting existing products and address-
mix of design and engineering may ing well-known needs. I don’t think Jason Hong is an associate professor of computer
science at Carnegie Mellon University.
have caught the problem long before this is a bad thing, but it may suggest
production and shipping. some new insights as to when and how © 2011 ACM 0001-0782/11/04 $10.00

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n i c at i o n s of t he acm 11


cacm online

ACM
Member
News
DOI:10.1145/1924421.1924426 Scott E. Delman Marin Litoiu
Wins IBM Award

ACM on the Move One of the


leading pioneers
in cloud
computing,
Marin Litoiu,
Over the coming weeks, ACM will be diving headfirst into the world of mobility. associate
professor at York
Our strategy is essentially two-pronged. The first is the development of a mobile University, was named IBM’s
version of the existing CACM Web site at cacm.acm.org. After launching the new Center for Advanced Studies
site in March, whenever our readers access the Communications’ Web site using any Faculty Fellow of the Year for his
mobile device, they will automatically be brought to the new mobile site, which is research on automating
processes in the cloud.
a cleaner, more simplified version of the main site that enables quick viewing, sav- The cloud allows multiple
ing, and sending of articles without many of the extraneous features and function- users to share both computer
ality present on the main site. Speed, access, browsability, and sharability are the hardware and software
applications, reducing the
main goals of this new site. We are not the first scholarly or professional magazine
expense of maintaining those
to launch a mobile Web site for our readers, but we are among the first and we are tools themselves. “It’s easy
certain the usage of this new site will be significant, if the current traffic generated to say but very hard to do,”
by mobile devices is any indication. says Litoiu. He has built an
analytical model that examines
The second component of our mobile strategy is apps. In March, ACM launched applications as they are running,
its first two apps, which are built on the iOS development platform and include tests different variations
both an iPhone and iPod Touch ver- of resource allocation, and
sion and a tablet-sized iPad version. dynamically adjusts the sharing.
Because it takes several minutes
The decision to develop on this plat- to shift resources around, Litoiu
form over other popular platforms is also building a predictive
such as Android or BlackBerry as model that looks at short-
term trends in demands for
our initial foray into mobile appli- resources, such as memory, CPU
cation development was based pri- time, and network bandwidth,
marily on a quantitative analysis of and suggests improvements in
the devices actually being used to provisioning.
Litoiu expects cloud
download articles from Communi- computing to become more
cations’ Web site at cacm.acm.org. geographically distributed, so
Based on Google Analytics usage his York lab is trying to emulate
a network of “sub-clouds”
reports we generated at the time, iP-
to examine how thousands
ods, iPhones, and iPads represent- of applications running
ed the overwhelming majority of simultaneously, each trying to
the devices being used to download optimize its own resources, affect
each other and perform over
articles and so we opted to accom- networks. He’s received $234,000
modate our existing users as our from the Natural Sciences and
first experiment into mobility. Once Engineering Research Council of
we start receiving feedback from the Canada and $266,000 from IBM
to upgrade his York lab.
community, both positive and nega- One important challenge
tive, we will take all that we have learned through this process and begin work on is figuring out how to use the
developing applications for the Android platform, which is quickly catching up to cloud as a platform on which to
develop new applications. Litoiu
Apple in terms of penetration on our Web site. says Amazon’s approach gives
Ultimately, the goal in launching mobile applications is to provide a new and software developers full control
meaningful way to interact with articles and commentary published both in Com- of applications, but makes
munications and its complementary Web site. Apps offer a unique user experience development more difficult,
while Google’s model is simpler
and ability to easily access and share articles with colleagues, peers, and students but less flexible. “It’s not clear
and to reach our readers while they are traveling to work, enjoying their coffee in what the best programming
the morning, waiting for a flight, or simply curling up on the couch with an issue model is,” he says. But relying
on the cloud for software and
of Communications on their iPad. In coming issues we will provide helpful hints on infrastructure services? “That’s
using these apps and the new mobile site to enhance your enjoyment of these new going to evolve rapidly.”
elements of Communications. —Neil Savage

12 communications of th e ac m | a p r i l 2 0 1 1 | vo l . 5 4 | n o. 4
N
news

Science | doi:10.1145/1924421.1924427 Gary Anthes

The Quest for


Randomness
It’s not easy to generate a string of numbers that lack any pattern
or rule, or even to define exactly what randomness means.

G
enerating random num-
bers might seem pretty
simple. After all, so many
things in our everyday
lives occur without pat-
tern or repetition—coin tosses, for
example, or the distribution of rain-
drops on your car windshield. In any
case, the whole notion of striving for
randomness might seem a bit alien to
a computer scientist, who is trained
to make processes predictable and
repeatable.
Cryptographers use random num-
ber generators (RNGs) to produce un-
predictable keys for coded messages,
digital signatures, challenge-response
systems, and other technologies at the
heart of information security. And re-
searchers in fields such as biology, eco-
nomics, and physics use them to simu-
late the real world via Monte Carlo
models. Human life and great sums of
money may depend on the robustness
Illustratio n by w eknow/sh ut t erstock

of these systems, yet it is often difficult erate the sequence “00” one-quarter of Definitions matter, Micali says. “If
to prove that they work correctly—and the time. But, points out Silvio Micali, you define [randomness] correctly,
will continue to do so. a computer scientist and cryptography then you can get it. But if you are vague
Part of the problem is one of defini- expert at Massachusetts Institute of or unclear, you can’t possibly get it.”
tion. One might say, for example, that Technology (MIT), the sequence 0, 1, In 1984, Micali and Manuel Blum, a
a random bit generator (as RNGs are 2, ... 9 (written in binary) would pass professor of computer science at Carn-
often called) must over time produce those tests but would hardly be consid- egie Mellon University, published an
half 0s and half 1s, or that it must gen- ered “random.” influential paper, “How to Generate

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n ic at i o n s of t he acm 13


news

cording to Kolmogorov, a string of bits


is truly random if the shortest descrip-
Pseudorandomness, tion of the string is as long as the string
itself. Researchers have based nonde-
and How to Get It terministic RNGs on disk head seek
times, thermal noise, atomic scale
“You can’t start with a blank sheet of paper and generate 100 million random quantum effects, and other phenom-
numbers,” says Silvio Micali, a computer scientist at Massachusetts Institute of ena that are statistically shown to be
Technology. “That is very hard.”
fundamentally random.
Instead, he says, one should begin with a relatively small list—say, 100 bits—that
are truly random, most likely generated by some physical process such as quantum Theoretically perfect hardware ap-
mechanics. He goes on to define pseudorandom number generators as software that proaches can suffer from efficiency
“expands” the randomness in this initial small list, or seed. problems, says MIT’s Micali. For ex-
“Now I want to generate 100 million random bits of very high quality,” he says.
“But how do I define ‘high quality’?” He and Manuel Blum, a professor of computer ample, one can imagine looking at the
science at Carnegie Mellon University, proposed a definition in which anyone Brownian movement of a particle sus-
shown the first n bits generated, but not the seed, could not guess what the next bit pended in a liquid and counting it as
would be substantially more than 50% of the time. “Substantially more” might be a 0 if it is on the left and a 1 if it is on
defined as 51%, 50.1%, 50.01%, or some other threshold, depending on one’s security
requirements. the right. “To get the first bit is easy,”
The Micali-Blum definition also includes the notion of computational resources. he says, “but to get 1,000 is a little bit
“If all the computers in the world must work for one million years to guess the next hard.” A cryptography system in bank-
bit, then it is high quality,” says Micali, who believes the ideal seed contains 300 bits.
Guessing the 300-bit seed that generated any given sequence by trial-and-error would
ing or national security might need to
mean testing more possibilities than there are elementary particles in the universe. generate millions of random bits per
Given the seed list of truly random bits, Micali and Blum prescribed the use of second.
one-way functions to produce the desired sequence of random bits. In cryptography,
a one-way function is easy to compute in one direction—for example, determining
the product of two large prime numbers—but computationally very difficult to A Matter of Timing
reverse—factoring that product back into the two primes. That is the method used in A more subtle problem is one of tim-
public-key cryptography, for example. ing. Suppose one samples the ran-
Similarly, the Blum-Micali generator of pseudorandom bits employs the
domly fluctuating noise from a diode
asymmetry between computing discrete logarithms, which is difficult, and the
inverse, discrete exponentiation, which is easy. and records a 1 if it is below a certain
Micali refuses to comment on any of the existing ways that so-called “true” threshold and a 0 above. If you sample
random numbers are generated. “I prefer to be agnostic about seed generation,” he too often, you are likely to get biased
says, “because I find it conceptually difficult to convince myself of their randomness.”
—Gary Anthes strings like 000011110000 because the
noise level doesn’t change fast enough.
For this and a variety of other reasons,
Cryptographically Strong Sequences of ware, which produces pseudorandom hardware sources are not immune to
Pseudorandom Bits,” that laid out just numbers, has led researchers to look biases that affect the randomness of
such a definitional framework (see the for ways to produce “true” random- their output.
“Pseudorandomness, and How to Get ness, and that always involves hard- But now Intel Corp. claims to have
It” sidebar above). ware or a physical process not gov- found a way around the drawbacks
Another difficulty lies in testing a erned by rules. Indeed, the Russian of nondeterministic, hardware-based
RNG. Traditionally, a test checks to mathematician Andrei Kolmogorov RNGs. It recently announced that it
see if the system in question reliably defined randomness in a way that rules had created a working prototype of a
produces output known in advance out software as a way to produce it. Ac- digital circuit, which could be resident
to be correct, but when is a stream of within the central processing unit, that
random bits correct? The U.S. National harvests randomness, or “entropy,”
Institute of Standards and Technology A cryptography from thermal noise in the chip. “Ours
(NIST) has developed “known-answer is the first truly, fully digital RNG,”
tests” for software-based, or determin- system in finance claims Ram Krishnamurthy, a senior
istic, RNGs, because any given algo- or national security principal engineer at Intel’s Circuits
rithm is expected to produce the same Research Lab.
answer every time, given the same in- might need He says conceptually similar devic-
put. But convincing tests of the output to generate millions es, known as true random number gen-
of nondeterministic RNGs, such as a erators, have been built from analog
noise source in hardware, are not so of random bits circuits that are subject to disruption
easy to construct. per second. from the process and noise variations
A third problem, related to testing, in the central processing unit, so they
is that some RNGs initially work cor- have to be isolated off-chip and con-
rectly but gradually and silently fail nected by a bus that is vulnerable to
over time, introducing biases that cor- snooping. They also employ large ca-
rupt randomness. pacitors that make manufacturing and
The deterministic nature of soft- scaling difficult, Krishnamurthy says.

14 communi cations o f th e acm | april 2 0 1 1 | vol . 5 4 | no. 4


news

Intel’s circuit is implemented in


a 45nm complementary metal ox- Further Reading
ide semiconductor and can generate Some random
Barker, E. and Kelsey, J.
2.4 billion truly random bits per sec- number generators Recommendation for random number
ond—200 times faster than the best
available analog equivalent—while initially work generation using deterministic random
bit generators (revised), NIST Special
drawing just 7 milliwatts of power, correctly but silently Publication 800-90, U.S. National
Institute of Standards and Technology,
according to Krishnamurthy. And the
technology is highly scalable, he says, fail over time, March 2007.

so that multiple copies of the digital introducing biases Blum, M. and Micali, S.
How to generate cryptographically
circuit could be coupled in parallel ar-
rays. The technology could be scaled that corrupt strong sequences of pseudorandom
up in this way to directly provide the randomness. bits, SIAM Journal on Computing 13, 4,
November 1984.
random numbers needed by large
systems, or it could be scaled down to Menezes, A., van Oorschot, P., and
low voltages so as to just provide high- Vanstone, S.
Pseudorandom bits and sequences,
entropy seeds for a software-based
Handbook of Applied Cryptography, CRC
RNG, Krishnamurthy says. In the latter Press, Boca Raton, FL, 1996.
mode, it would operate at 10 megabits
per second and draw just 10 micro- sources,” she says. “We are kind of Rukhin, A, Soto, J., Nechvatal, J., Smid, M.,
watts of power. feeling our way along. How do you Barker, E., Leigh, S., Levenson, M., Vangel, M.,
Banks, D., Heckert, A., Dray, J., and Vo, S.
Krishnamurthy acknowledges that do general testing for technology A statistical test suite for random and
the circuit’s output is subject to pro- when you don’t know what will come pseudorandom number generators
cess fluctuations—caused by transis- along? We are not really sure how for cryptographic applications, NIST
tor, power supply, and temperature good these tests are.” Special Publication 800-22, U.S. National
variations—that could introduce bias Entropy sources may not produce Institute of Standards and Technology,
April 2010.
in its output. But Intel has developed output that is 100% random, and dif-
a self-calibrating feedback loop that ferent test samples from a single Srinivasan, S., Mathew, S., Ramanarayanan, R.,
compensates for those variations. The source may have different degrees of Sheikh, F., Anders, M., Kaul, H., Erraguntla, V.,
resulting design operates at a level of randomness. “We want to know how Krishnamurthy, R., and Taylor, G.
entropy of 99.9965% and has passed much entropy is in 100 bits—100, 50, 2.4GHz 7mW all-digital PVT-variation
tolerant true random number generator
the NIST tests for randomness, Krish- or two?” Barker says. “And does it con-
in 45nm CMOS, 2010 IEEE Symposium
namurthy says. tinue that way?” on VLSI Circuits, Honolulu, HI,
But more work on these tests is Indeed, generating random num- June 16–18, 2010.
needed, says Elaine Barker, a math- bers today clearly lags what is theoreti-
ematician in NIST’s Computer Se- cally possible, Micali says. “We are still
Gary Anthes is a technology writer and editor based in
curity Division. “The thing we have in the mode of using library functions Arlington, VA.
been really struggling with is how to and strange things that nobody can
test the entropy sources, the noise prove anything about,” he says. © 2011 ACM 0001-0782/11/04 $10.00

Society

Predictive Modeling as Preventive Medicine


If an ounce of prevention is Previous studies have furnish developers with a set of within the year.
worth a pound of cure, then suggested that early treatment anonymized medical records “The Heritage Health Prize is
how much prevention would it of at-risk patients can for 100,000 patients from 2008. a high profile way to harness the
take to put a dent in the U.S.’s dramatically reduce health care Using this data set, developers power of predictive modeling
projected $2.8 trillion annual expenditures. For example, a will try to develop a predictive and using it solves one of
health-care tab? well-regarded study in Camden, algorithm to pinpoint those America’s biggest challenges,”
How about $3 million NJ, demonstrated that hospitals patients most likely to have been says Jeremy Howard, chief
worth? That’s the amount the could slash costs by more than hospitalized the following year. data scientist for Kaggle, the
Heritage Provider Network is 50% for their most frequently For example, an effective company managing the contest.
offering as prize money in a new hospitalized patients by algorithm might identify If successful, this effort
contest for developers to create targeting them with proactive patients who have already been could yield a powerful
algorithms aimed at identifying health care before they incurred diagnosed with diabetes, high computational tool to help rein
those patients most likely to expensive trips to the emergency cholesterol, hypertension, and in spiraling health-care costs,
require hospitalization in the room. premature menopause—and potentially saving billions
coming year. (Contest details In hopes of replicating correctly predict the 90% of dollars—or at least a few
are available at http://www. those savings on a larger scale, likelihood that such a patient pounds’ worth of cure.
heritagehealthprize.com/.) the contest organizers will would wind up in the hospital —Alex Wright

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n i c at i o n s of t he acm 15


news

Technology | doi:10.1145/1924421.1924428 Kirk L. Kroeker

Engineering Sensation
in Artificial Limbs
Advancements in mobile electronics have led to several prosthetics
innovations in recent years, but providing reliable touch sensations
to users remains an elusive goal.

R
esearc hers wo rki n g in indeed possible in the near term,” says
advanced prosthetics, a Harshbarger. “But there is much basic
field that draws on physics, engineering work to do to make such
biochemistry, and neuro- systems reliable and affordable for
science, are attempting to clinical adoption.”
overcome key engineering challenges DARPA projects typically fall into
and make potentially life-changing the high-risk, high-reward category,
artificial limbs capable not only of with the idea usually being to show
moving as naturally as healthy human that the impossible can be made pos-
limbs but also of providing sophisti- sible. Harshbarger says that, by this
cated sensory feedback for their users. measure, the demonstrations cre-
Improvements in materials science, ated for the Revolutionizing Prosthet-
electronics, and sensor technologies, ics program succeeded. The project
along with sizeable government fund- produced what Harshbarger calls the
ing in the U.S. and abroad, are contrib- world’s first closed-loop, multisite,
uting to these efforts. However, while multi-electrode cortical interface tech-
A prototype created by the Revolutionizing
leg prosthetics have advanced even to Prosthetics project in the Applied Physics nologies and the world’s first wireless,
the point where it is now possible for Lab at Johns Hopkins University. multi-electrode, motor-decoding ap-
amputees to rival the capabilities of plications designed to enable neuro-
nondisabled athletes in certain sports, Prosthetics, the first DARPA-sponsored physiology studies that have not been
the nuanced movements of the human project in this field, was to produce a possible with wired setups.
hand remain the most difficult to repli- strap-on artificial arm built with the “The science and technology com-
cate mechanically. most advanced ready-to-use technol- ponents progressed, as proposed, and
Advancements in portable power ogy available. That program, run by possibly with greater success that was
and mobile electronics have led to sev- DEKA Research, resulted in a prosthe- originally contemplated,” says Harsh-
eral prosthetics innovations in recent sis called the “Luke Arm.” The second barger. As with any advanced research,
years. One example is the i-Limb, the DARPA-sponsored program, Revolu- key challenges remain, such as the vi-
result of a project that garnered much tionizing Prosthetics, focused on using ability of cortical and peripheral neural
media attention when the device came new control technologies and neural interface technologies, but Harshbarg-
to market in 2007 and was said to be interface strategies to create a modular er says these issues can be addressed
the first commercially available hand arm that could match the performance incrementally in later research. The
prosthesis with five individually pow- of a healthy limb. next DARPA-sponsored research in this
ered digits. While the technology for Stuart Harshbarger, chief science area will focus specifically on brain-
enhancing motor functions continues officer at Orthocare Innovations, di- computer interface challenges, where
to improve, providing reliable sensory rected DARPA’s Revolutionizing Pros- Harshbarger says a significant amount
feedback to users about what an artifi- thetics project from the Applied Phys- of work remains to be done.
photogra phs by F red rik Seb elius, Lund Universit y

cial hand might be touching remains a ics Lab at Johns Hopkins University.
distant goal for scientists and continues The research timeline of Harshbarger’s Modular Designs
to be an active area of research. program, which came to a close earlier Given that no two amputations are
The U.S. Defense Advanced Re- this year, overlapped with DEKA’s de- exactly alike, one of the objectives for
search Projects Agency (DARPA) has velopment and involved collaboration researchers working in the Revolu-
been funding extensive work in this with more than 300 researchers at 30 tionizing Prosthetics project was to
area, with the objective being to cre- institutions. create modular designs so the devices
ate artificial limbs that tie directly “The program made enormous coming out of the lab could accom-
into the nervous system, facilitating strides in demonstrating that natural modate the reality that each user and
more natural control and reliable sen- and intuitive control of increasingly prosthetic setup would be unique. One
sory feedback. The charter of Advanced anthropomorphic artificial limbs is research team, for example, focused

16 communi cations o f th e ac m | april 2 0 1 1 | vol. 5 4 | no. 4


news

on developing a targeted muscle rein- says much work needs to be done be- ects gaining independent momentum.
nervation (TMR) procedure to restore fore the technology can move out of Sebelius says he and his team now will
natural touch sensations. The TMR the lab. The main challenges, he says, focus specifically on the sensory feed-
procedure’s modular sensor systems, are biocompatibility and signal loss. back system to design a new module
which measure a mere 5 × 5 millime- As for the SmartHand prosthesis it- that can integrate the phantom map
ters and contain 100 electrodes for re- self, Sebelius says the project will need concept into any prosthetic device. He
cording nerve signals and stimulating more funding to make it ready for com- says he remains optimistic about the
nerve fibers, are now entering a com- mercialization. “The robotic hand was work but is careful to note that cur-
mercial transition phase. only intended for research groups,” he rent signal-processing technology and
Harshbarger says that keeping these says. “It has not undergone produc- portable electronics cannot perfectly
different projects synchronized and tion development.” Still, Sebelius notes replicate the performance of a healthy
focused on a modular design philoso- the research that led to the creation of human hand controlled by thousands
phy required constant communica- the hand made it possible to achieve of nerves.
tion. “Most people, including myself, crucial advances for ongoing work in “Hopefully,” says Sebelius, “we will
believed that coordination of these nerve-signal recognition and process- be able to achieve a level of sophistica-
various research groups and their prin- ing. tion so the user will not see the pros-
cipal investigators would be like herd- Like Harshbarger’s Revolutionizing thesis as a tool but rather as an exten-
ing cats,” he says. “In reality, however, I Prosthetics project leading to several sion of the body.”
was surprised and exceptionally proud new technologies that are now spin- While the potential benefit of such
of how the team focused on the com- ning off into different research teams, sensory-feedback technology is readily
mon goals and mission of the project.” the SmartHand project formally came apparent, the cost of prosthetics de-
Another researcher working in this to an end last year with several subproj- signed for sensation may be prohibi-
area is Fredrik Sebelius, coordinator of
the SmartHand project and a profes-
sor in the department of measurement
technology and industrial electrical
engineering at Lund University. The
SmartHand project, spanning multiple
research facilities at several universi-
ties across Europe, paralleled DARPA’s
Revolutionizing Prosthetics program
in its ambitiousness, but focused ex-
clusively on replicating the capabili-
ties of the human hand. The goal for
Sebelius and other researchers work-
ing in the project was to create an elec-
tromyography-controlled robotic hand
that could deliver feedback to the user
by stimulating what Sebelius calls the
sensoric phantom map.
Sebelius describes the sensoric phan-
tom map as a well-organized region
of the brain that can be stimulated
through nerves in the arm to produce
feelings in a missing hand. The idea
might appear to be straightforward, but
the implementation is far from simple.
Sebelius and his team developed and
refined their approach to phantom
maps by using functional magnetic
resonance imaging and a modular neu-
ral interface designed to be attached to
an arm’s nerve bundles. “The sensors
on the hand prosthesis deliver tactile
information to the subject’s phantom
map via actuators and, voila, the subject
experiences sensation from the missing
fingers,” he says.
The SmartHand project reached the
proof-of-concept stage, but Sebelius A myoelectric prothesis created by researchers in the SmartHand project at Lund University.

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n i c at i o n s of t he acm 17


news

tive. Today, advanced prosthetic devic- the brouhaha as helping to reshape


es can cost more than $20,000, putting global perceptions about disability.
them outside the buying range of am- “Hopefully,” says Sebelius, for his part, says he re-
putees living in developing nations. Fredrik Sebelius, mains convinced that, no matter how
Several organizations are dedicated sophisticated prosthetics technology
to creating low-cost prosthetics, espe- “we will be able becomes, it will be difficult to rival the
cially for nations with large numbers of to achieve a level capabilities of healthy, functioning
people who have lost limbs due to land- limbs. “Nature has done a pretty good
mines. One such project, Mobility for of sophistication job,” he says. “An interesting parallel
Each One, led by Canadian industrial so the user will not is artificial intelligence: although we
designer Sébastien Dubois, has devel- have very fast computers, we are not
oped an energy-return prosthetic foot see the prosthesis even close to mimicking human intel-
that can be locally produced for a mere as a tool, but rather ligence or learning.”
$8. But as of yet, there is no project that
operates as an analog to the One Lap- as an extension
Further Reading
top Per Child program, seeking to pro- of the body.” Carrozza, M.C., Cappiello, G., Micera, S.,
vide low-cost, sophisticated prosthet-
Edin, B.B., Beccai, L., and Cipriani, C.
ics to developing nations. Design of a cybernetic hand for perception
“For now, a sophisticated hand pros- and action, Biological Cybernetics 95, 6,
thesis will remain quite expensive,” says Dec. 2006.
Sebelius. Harshbarger offers a similar Cipriani, C., Antfolk, C., Balkenius, C., Rosén, B.,
perspective. “This is a difficult issue and in Warwick who, in 2002, had a device Lundborg, G., Carrozza, M.C., and Sebelius, F.
one that I believe in addressing, though implanted in his arm to interface elec- A novel concept for a prosthetic hand with a
our work has largely been on reducing trodes with his median nerve, allowing bidirectional interface, IEEE Transactions on
Biomedical Engineering 56, 11, Nov. 2009.
costs for the highest-capability systems him to control a robotic arm by moving
for domestic users,” he says. As with any his own. Gray, S.H.
Artificial Limbs (Innovation in Medicine;
modern technology, production costs Advocating such uses of prosthet-
21st Century Skills). Cherry Lake
will come down over time, but the most ics research might be called either Publishing, North Mankato, MN, 2008.
advanced prosthetic devices are expect- visionary or far-fetched, but there is
Jia, X., Koenig, M.A., Zhang, X., Zhang, J.,
ed to remain expensive. no disputing the notion that modern Chen, T., and Chen, Z.
As the science of prosthetics ma- prosthetics breakthroughs have led to Residual motor signal in long-term human
tures, discussion about the ethics of new ways of looking at ability versus severed peripheral nerves and feasibility
using the technology as supplementary disability. In 2008, for example, South of neural signal controlled artificial limb,
Journal of Hand Surgery 32, 5, May–June
enhancement for healthy limbs rather African double-leg amputee Oscar Pis-
2007.
than as replacement for lost limbs no torius was ruled ineligible for the Sum-
doubt will become more complex. Ar- mer Olympics because it was thought Kuniholm, J.
Open arms: what prosthetic-arm
tificial enhancement, a popular trope that his carbon prosthetics gave him engineering is learning from open source,
in speculative and science fiction, has a distinct mechanical advantage over crowdsourcing, and the video-game
a long history of advocates and detrac- runners with ankles. An appeal led to industry, IEEE Spectrum 46, 9, March 2009.
tors. What’s likely to turn out to be the the ruling being overturned on the ba-
first experimental augmentation with sis that there wasn’t enough conclusive Based in Los Angeles, Kirk L. Kroeker is a freelance
editor and writer specializing in science and technology.
a healthy human appears to have been evidence. And, in the end, Pistorius
accomplished by British scientist Kev- didn’t make the team. But many credit © 2011 ACM 0001-0782/11/04 $10.00

Milestones

Japan Prize and Other Awards


The Japan Prize Foundation, information and communications Washington; Jitendra Malik, Presidential
National Academy of Engineering for developing Unix. Ritchie and University of California, Berkeley; Mentoring Award
(NAE), and U.S. President Obama Thompson will split the prize’s Nick McKeown, Stanford Maja J. Matarić, a professor of
recently recognized leading $600,000 cash award. University; Don Norman, computer science at the University
computer scientists for their Northwestern University; of Southern California (USC),
research and leadership. NAE Members Ari Requischa, University of received the U.S. Presidential
The NAE elected nine members Southern California; Fred Award for Excellence in Science,
Japan Prize in the field of computer science Schneider, Cornell University; Mathematics, and Engineering
Dennis Ritchie, retired, and Ken and engineering. They are: Susan and Mihalis Yannakakis, Mentoring in recognition of her
Thompson, a distinguished Dumais, Microsoft Research; Columbia University. Jonathan work with K–12 students, USC
engineer at Google, were Daphne Koller, Stanford Univer- Rose, University of Toronto, was students, and faculty colleagues.
awarded the 2011 Japan Prize in sity; Hank Levy, University of elected as a Foreign Associate. —Jack Rosenberger

18 communications o f th e ac m | april 2 0 1 1 | vol . 5 4 | no. 4


news

Society | doi:10.1145/1924421.1924429 Samuel Greengard

Social Games,
Virtual Goods
The popularity of virtual goods and currencies in online
gaming is changing how people think and act about money.

C
lic k in to t h eworld of so-
cial online gaming and,
these days, you’re almost
certain to encounter much
more than avatars, demons,
and battlefields. As growing throngs
of players dive into these environ-
ments—in games as diverse as Farm-
Ville, Mafia Wars, World of Warcraft,
and Second Life—they’re often buying
and selling virtual goods using virtual
currencies.
It’s a multibillion-dollar trend.
According to market research firm
In-Stat, the demand for virtual goods
hit $7.3 billion in 2010, up from $2.1
billion in 2007. Moreover, In-Stat pre-
dicts the figure will reach $14 billion
by 2014. Another consulting firm,
Magid and Associates, reports that the
percentage of Web users trading virtu-
al goods will grow from about 13% to
21% through 2011.
Virtual goods also accounted for
the vast majority of social-gaming rev-
enues last year, with 60% of total reve-
nues, more than lead generation offers
(26%) and advertising (14%), according
to eMarketer.com.
“It’s clear that people are willing to
pay real money for all sorts of virtual
goods,” explains Vili Lehdonvirta, re-
searcher at the Helsinki Institute for
Information Technology and visiting
scholar at the University of Tokyo. “As
in the physical world, objects take on
meaning based on perceived status,
scarceness, and emotional value.” In Due to the growing popularity of games such as FarmVille from Zynga, consumers’ demand
today’s gaming universe, coveted items for virtual goods reached $7.3 billion last year, according to In-Stat.
include homes, weapons, space sta-
tions, and, yes, horse manure. virtual currencies aren’t going to munications at Indiana University. “It’s
Yet behind the façade of glitzy in- overtake their physical counterparts, not just your teenager in his mom’s
terfaces and alluring virtual objects they are making a mark on society basement fragging monsters all night.
screensh ots © farmville

lies a medium that’s driving changes and affecting everything from cul- It’s everyone else. These games fill little
in the way governments, researchers, ture to business to government. holes in the day—while people wait for
legal experts, and the public think “The casual game sector is growing a bus or phone call.” Virtual economies,
about goods—and in the way people enormously,” observes Edward Cas- he says, are global and real. They’re forc-
behave. Although virtual goods and tronova, associate professor of telecom- ing marketers, tax collectors, and others

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n ic at i o n s of t he acm 19


news

to reevaluate their thinking and adapt and Live Poker. In fact, Zynga now has “We see them as things, just as we see
to a rapidly shifting landscape. more than 225 million people visiting physical objects as things.” This fact,
its sites every month. along with basic supply-and-demand
Game On These social games are ushering economics, have spurred players to
It would be unwise to dismiss social in changes that increasingly reverber- spend anywhere from several hundred
gaming with virtual goods as a fluke ate through the physical and virtual to several thousand U.S. dollars for
or passing fad. Although the buying worlds. Not only is society using the In- items such as horse manure in Ultima
and selling of objects within games ternet in new ways, but the definition of Online and houses in Second Life.
has existed in one form or another ownership and what constitutes a pos- Even seemingly mundane items
since the late 1990s, social gaming session is evolving. “People feel a sense command attention in these virtual
has exploded in popularity during of material value for objects they own games. For example, in Habbo Hotel
the last couple of years. online,” says Lehdonvirta. “As a result, it’s possible to purchase any number
In-Stat industry analyst Vahid De- designers are consciously introducing of trophies that all look identical. How-
jwakh says that four main factors have objects to see how they can influence ever, a virtual trophy that the game pub-
contributed to this new virtual world or- behavior.” lisher awarded to a famous user has
der: the emergence of gaming on social Yet, Lehdonvirta and others believe many times the value of a trophy with
networking sites such as Facebook; the that it’s a mistake to view online and of- no history. The key to the value is that
rise of smartphones as casual gaming fline worlds as distinctly separate. “Vir- it’s possible to click on the trophy and
platforms; the fact that virtual goods tual objects are very real, and they’re view its ownership history.
gaming models increasingly allow peo- always intertwined with the physical Likewise, in MapleStory, different
ple to play for free; and the availability world. They are entirely material in the colored boots are available at various
of gaming platforms to all segments of sense that they’re stored on magnetic prices. While only players fully under-
society. “Today’s social games are sim- disks and presented to users as photos stand this system—that certain colored
ple to learn, but they are usually com- that hit their eyes,” says Lehdonvirta. pixels are more valuable than others—
plicated to master,” he says. everyone agrees to play by a set of rules.
A slew of companies have estab- In reality, Lehdonvirta says, this is no
lished a virtual toehold on the social “Designers are different from the physical world where
gaming market. Among them are Slide paper money and objects have no in-
(purchased by Google for $182 million consciously trinsic value. “We all simply buy into a
last August), which has tens of mil- introducing objects system and abide by it,” he notes.
lions of users and offers games such
as SuperPoke! and FunWall on Face- to see how they can Virtual Currency Issues
book; Blizzard Entertainment, which influence behavior,” Although thinking and behavior in so-
claims more than 12 million players for cial games largely mirrors the physical
World of Warcraft; and Zynga, which says Vili Lehdonvirta. world, this doesn’t mean that social
earns more than $600 million in an- games with virtual goods aren’t chang-
nual revenue through diversions like ing things—and introducing new is-
FarmVille, Treasure Isle, Mafia Wars, sues and challenges. For example, in

In Memoriam

Ken Olsen, DEC President and CEO, 1926–2011


Ken Olsen, who cofounded industry was dominated by resigned as president and CEO transmitted throughout the
Digital Equipment Corporation IBM, which manufactured and of DEC in 1992, and six years computer industry.
(DEC) and turned it into the sold million-dollar, room-size later the company was acquired Many of Olsen’s obituaries
second-largest computer mainframe computers. In the by Compaq Computer for $9.6 noted that Fortune Magazine
company in the world during 1960s, DEC launched the second billion. proclaimed him “the most
the 1980s, died on February 6 in revolution in computing with its In retrospect, one of successful entrepreneur in the
Indianapolis, IN. invention of the minicomputer, Olsen’s greatest and lasting history of American business”
Olsen graduated from including the PDP and VAX achievements at DEC was the in 1986. Near the end of his life,
the Massachusetts Institute machines, and prospered. creation of a company culture however, Olsen saw himself
of Technology (MIT) with In the 1980s, DEC reached in which creativity, innovation, differently. “Even though I have
bachelor’s and master’s degrees annual sales of $14 billion, with and employee empowerment been an entrepreneur,” he said,
in electrical engineering and, more than 110,000 employees was fostered and highly “I have always been a scientist
after working in MIT’s famed in 97 nations. However, like treasured. And as legions of DEC first and foremost. Science is
Lincoln Laboratory for seven other minicomputer companies employees, including Gordon more than a study of molecules
years, cofounded DEC with such as Data General and Bell, Jim Gray, and Radia and calculations; it is the love of
fellow Lincoln Lab colleague Wang, DEC was upended by the Perlman, joined other software knowledge and the continued
Harlan Anderson in 1957. At personal computer revolution, and hardware companies, DEC’s search for truth.”
the time, the data-processing and floundered badly. Olsen business culture and values were —Jack Rosenberger

20 communications o f th e ac m | april 2 0 1 1 | vol. 5 4 | no. 4


news

China, an instant messaging and game including Tapjoy, Gambit, and Trial-
publisher, Tencent Inc., introduced a Pay, have introduced exchanges that
virtual currency called Q coins, which “The last thing enable consumers to convert Amazon
wound up being used in the physi- a sovereign Mechanical Turk jobs into virtual cur-
cal world, as well as in Tencent games rencies.
and other virtual sites. In some cases, government wants In fact, Lehdonvirta and others be-
Q coins were reportedly used for gam- is a shadow currency lieve it’s possible to use virtual goods
bling and pornography. and money within games to affect so-
These virtual currencies—created by that could have cial change in areas as diverse as diet,
game publishers primarily for the pur- real-world economic health care, and CO2 emissions. Le-
pose of making micro-transactions fea- hdonvirta and researchers in Japan
sible and controlling the environments implications,” notes have already created prototype games
within their games—are growing in use Andrew Schneider. that have demonstrated the viability of
and stature. With Q coins being increas- such a concept. “Virtual objects influ-
ingly exchanged for real yuan, the basic ence behavior in a similar way to mate-
money unit in China, Chinese banking rial objects,” he says. “The virtuality of
officials and government agencies have objects is not as important as the mean-
become concerned about virtual money ings that people attach to them.”
challenging the renminbi’s legitimacy. transaction is potentially taxable in As for virtual economies, Schneider
“It’s a gray area that governments and most countries. “Whenever you receive believes they will have a significant im-
regulatory bodies are taking a hard look value in exchange for other value, you pact in the future. “But it’s important to
at,” says Andrew Schneider, president have a taxable exchange,” he says. How- recognize that they are largely artificial
and cofounder of Live Gamers, a com- ever, like frequent flyer miles, hotel economies that a game publisher con-
pany that develops and manages virtual points, and other closed currencies, tax trols,” he says. “You can examine all the
currencies for gaming companies. “The authorities haven’t figured out what to economic theory you like—some prin-
last thing a sovereign government wants do about virtual earnings. In certain in- ciples apply and others do not—but it’s
is a shadow currency that could have re- stances, when an individual withdraws important to recognize that, at the end
al-world economic implications.” funds from a game (some games allow of the day, a game publisher has almost
Government officials, along with this, some don’t) or pays someone to total control of its economy.”
scholars and legal experts, are attempt- develop a character, the transaction is
ing to sort through a tangle of issues, typically subject to taxation.
Further Reading
including what constitutes revenue, These virtual economies are spilling
what happens to unclaimed property, over into the business world. Not only Guo, Y. and Barnes, S.
whether it’s possible to pass items on to have gaming companies popped up, Why people buy virtual items in virtual
worlds with real money, ACM SIGMIS
next of kin, and what tax implications many of them thriving off virtual econ- Database 38, 4, Nov. 2007.
exist. “Although a framework for how omies, but conventional businesses
Hamari, J. and Lehdonvirta, V.
to deal with these issues already exists increasingly view environments, such Game design as marketing: how game
in the physical world,” Schneider says, as Gaia Online, Habbo, and Facebook mechanics create demand for virtual goods,
“how they are applied to the virtual games, as ideal places to market their International Journal of Business Science
world remains somewhat murky.” products and services. Among the brick and Applied Management 5, 1, 2010.
It’s hardly an abstract point. A num- and mortar companies advertising on- Nojima, M.
ber of people playing Second Life have line are Coca-Cola, Wells Fargo, and Pricing models and motivations for MMO
earned hundreds of thousands of U.S. Starwood Hotels. What’s more, charity play, Proceedings of DiGRA 2007, Tokyo,
Japan, Sept. 24–28, 2007.
dollars selling real estate or providing is becoming part of the picture. Zynga’s
services within the game. One German Sweet Seeds initiative, for example, re- Wang, Y. and Mainwaring, S.D.
couple, operating as the avatar known cently raised more than $1 million for Human-currency interaction: learning from
virtual currency use in China, Proceedings
as Anshe Chung, became real-world Haitian children. of the 26th Annual SIGCHI Conference
millionaires in 2006 and has since One interesting matter is how virtual on Human factors in Computing Systems,
opened a virtual studio with 80 employ- goods and virtual currencies will evolve Florence, Italy, April 5–10, 2008.
ees to develop virtual environments and adapt. Facebook, which boasts Yamabe, T., Lehdonvirta, V., Ito, H., Soma, H.,
within games such as Second Life. Oth- more than 500 million users, offers Kimura, H., and Nakajima, T.
ers have bought and sold virtual goods Facebook Credits that span more than Applying pervasive technologies to
on eBay and other sites—sometimes 200 games and applications. Other create economic incentives that alter
consumer behavior, Proceedings of
for thousands of dollars. Meanwhile, companies are also introducing mega- the 11th International Conference on
businesses have sprung up—mostly in currencies that span several games. Ubiquitous Computing, Orlando, FL,
China—around developing characters This approach boosts spending and Sept. 30–Oct. 3, 2009.
and building environments for those creates greater “stickiness.” A person
who prefer to pay rather than play. who becomes bored with one game can Samuel Greengard is an author and journalist based in
West Linn, OR.
Theodore Seto, professor of law at sell the virtual goods and take her or his
Loyola Law School, says any virtual loot to another game. A few companies, © 2011 ACM 0001-0782/11/04 $10.00

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n i c at i o n s of t he acm 21


news

Academia | doi:10.1145/1924421.1924430 Sarah Underwood

British Computer
Scientists Reboot
After a year of turmoil, computer scientists at King’s College London
have retained their jobs, but substantial challenges lie ahead.

E
arly last year , the future of
computer science at King’s
College London (KCL) was in
jeopardy. More than 20 aca-
demics in the computer sci-
ence department were at risk of losing
their jobs, along with a group of world-
renowned researchers who previously
made up the Group of Logic, Language
and Computation (GLLC) that spanned
the computer science and philosophy
departments.
The potential devastation resulted
from government funding cuts of £1.1
billion in higher education by 2013
and, in the case of KCL’s computer
scientists, the poor performance in re-
search rankings of the School of Physi-
cal Sciences and Engineering in which
they worked.
A year later, the outlook is more
positive. No compulsory redundan- significant improvements in three in the Research Assessment Exercise.
cies were made in computer science, years, and hopefully be in the top 10% In additional, computational linguis-
and the jobs of those within the former in five years.” tics was saved and remains part of the
GLLC were not made redundant. In ad- Some of the department’s difficul- School of Arts & Humanities.
dition, as a result of restructuring re- ties are due to last year’s unrest, which Luck is conscious that while KCL
lating to performance rather than cost saw campus trade unions staging in- is one of the top 25 universities in the
cutting, the university’s computer sci- dustrial action against compulsory world according to the Quacquarelli
entists have moved to the Department redundancies, global academic shock Symonds ranking, his department
of Informatics in the new School of at the prospect of GLLC members los- does not match that claim nor com-
Natural & Mathematical Sciences. ing their jobs, and media stories criti- pete successfully with University Col-
Michael Luck, who stepped into the cizing KCL management for, among lege London and Imperial College.
role of head of informatics in January, other things, suggesting brutal job But he is driving change and believes
replacing Andrew Jones when his term cuts while paying large salaries to top the combination of computer sci-
ended, is leading the performance chal- executives. ence, robotics, and telecommunica-
lenge with the goal of reaching the top The restructuring program that tions will provide the critical mass
quartile in the Research Assessment transformed KCL’s School of Physi- needed to compete successfully, and
Exercise, a U.K. government review of cal Sciences & Engineering, of which that research-led teaching, coupled
the quality of university research. computer science was a part, into the with collaboration with other groups
Jones acknowledges the goal will be School of Natural & Mathematical Sci- across the college, will improve per-
difficult. “The hierarchy of the college ences, gave the university’s computer formance.
hopes we will be in the top quartile in scientists a fresh start in the newly Whether this will be enough to carry
Photogra ph by Kat y Ereira

the next research assessment exercise formed Department of Informatics. Luck and his team up the rankings,
[in 2013], but that is challenging as Here, they work alongside academics however, remains uncertain.
change in the department is substan- from the robotics and telecommunica-
tial in terms of people, integration, and tions groups that were part of the Di- Sarah Underwood is a technology writer based in
Teddington, U.K.
culture,” says Jones. “We can make vision of Engineering, which is being
some improvements in the short term, closed as a result of poor performance © 2011 ACM 0001-0782/11/04 $10.00

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n i c at i o n s of t he acm 23


V
viewpoints

doi:10.1145/1924421.1924431 Fred Niederman and Felix B. Tan

Emerging Markets
Managing Global IT Teams:
Considering Cultural Dynamics
Successful global IT team managers combine general distributed
team management skills enhanced with cultural sensitivity.

W
glob-
o rkin g with a ˲˲ Reward structures. In general there leagues frequently found differences
ally distributed IT is significant variance in what individ- in motivators between workers in dif-
team can offer sub- uals regard as a positive reward. We ex- ferent countries. In lower-wage coun-
stantial benefits— pect these differences to be even more tries, issues with compensation are
sometimes it is the pronounced when cultural differences weighted much more heavily, while
only way to address certain tasks—but are accounted for. For example, in an issues with challenge and promotion
it also presents challenges. Many stud- individualistic culture like the U.S. a are more heavily valued by IT staff in
ies have addressed how to work well corner office may be viewed as a great higher-wage countries.
in these situations: notably, Nuna- incentive and reward, whereas pres- ˲˲ Be more explicit. This admoni-
maker and colleagues present nine tige or leadership title may be more tion may come easily to people of a
principles for virtual teamwork7 (see valued in collectivist cultures as found low-context culture such as Australia
Table 1). Although this advice is likely in Asia. Through wide-ranging stud- where individuals tend to speak blunt-
to be helpful in general, in our view it ies of IT employees, Couger2,3 and col- ly without elaboration. But it may take
insufficiently addresses differences away some richness from those more
in managing teams involving IT staff comfortable in a high-context culture
from different cultures. Global IT team such as the Middle East. Perhaps, in
spite of cultural issues, explicit com-
Using A Cultural Lens dynamics will vary munication is a necessary ingredient
Applying a cultural lens to Table 1, we based on the degree for successful globally distributed IT
can see several areas where this gen- teams. If so, distributed team mem-
erally applicable advice needs further to which group bers in high context countries may
refinement to account for variations membership is be hard pressed to use the systems in
in cultural orientation.a These adapta- the manner intended. In order to win
tions include: voluntary. contracts and successfully complete
projects, individuals in such (often
developing) countries may simply
a We follow Hofstede’s5 broadly used cultural
dimensions throughout this column. Readers
need to conform to norms that are
are directed to this book for a full treatment of not preferred. This suggests the need
this topic. for designers to consider creation of

24 communi cations o f th e ac m | april 2 0 1 1 | vol. 5 4 | no. 4


viewpoints

alternative tools and practices that a cultural lens, we want to look more cations, or IT industry firms’ interest
incorporate a wider variety of cultural broadly at what cultural skills are groups with focused IT development
norms. critical for successful management of teams internal to a firm. Between
˲˲ Train to self-facilitate. This may be such teams where membership cross- these extremes are the many IT project
difficult advice for people from high es national, organizational, or profes- teams that individuals may simulta-
power distance cultures such as those sional borders. neously be assigned to that compete
in Asia that value hierarchy. It may be Before delving into particular for employee attention. Even within
that global IT team leaders working skills, we want to be clear that these a firm, it is often a mistake to assume
with large numbers of people from virtual teams come in many stripes that an individual “required” to partic-
such cultures need to extend their and flavors with their dynamics vary- ipate in a group will in fact devote full
range of controlling strategies to suc- ing as a result. They include: IT-fo- attention to the matter. It is safest to
cessfully run such distributed teams. cused communities of interest within assume that even when participation
A transition period of moving from or across organizations; ad hoc and is required, enthusiasm and proactive
highly directive to more self-governing project IT teams charged with creat- contribution are optional and require
teams will be required. Managers also ing particular results on a one-time persuasion, rewards, or both to maxi-
need to be careful in responding to basis; and ongoing teams with portfo- mize individual input.
early efforts at self-facilitation. Often lios of projects, as found with offshor- Distributed team dynamics will
self-facilitating groups go in unexpect- ing activities ranging from help desks also vary with the degree to which the
ed and even potentially harmful direc- through sophisticated application de- commitment is long term versus short
tions. The manager must accept some velopment. term. Is there an expectation that the
amount of non-optimal decisions and Global IT team dynamics will vary team will develop a single product (or
behaviors but understand how to fa- based on the degree to which group fulfill a particular mission) or continue
Illustratio n by M att hew Co oper

cilitate the group to grow self-direction membership is voluntary. As partici- to function together over time, perhaps
but within acceptable bounds. pation is more voluntary, the leader monitoring a range of applications or
will typically have less leverage to be continuing to add features for future
Cultural Skills directive. This distinction is clearly releases? If expectation of continua-
Having suggested that some general drawn contrasting loose communi- tion is high, there is greater rationale
principles for managing globally dis- ties of interest pertaining to hardware, for investing in relationships, effec-
tributed IT teams must be modified by software, information policy, appli- tive processes, and stronger tools than

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n i c at i o n s of t he acm 25


viewpoints

Table 1. Principles for effective virtual on three continents. It was extremely there are often many approaches to do-
teamwork (from Nunamaker7). difficult to find approaches work- ing almost anything. Following the
able for the whole group. This task systems concept of equifinality, there
was particularly challenging as part are many ways to arrive at a destina-
Principles of the team was co-located and oth- tion. The culturally sensitive manager
1 Realign reward structures for ers were distant, the work was highly must recognize the existence of these
virtual teams interdependent, major software tools multiple paths. They will accumulate
2 Find new ways to focus attention were proprietary thus available only at knowledge regarding how to evaluate
on task
the headquarters site, and the Euro- the different benefits, costs, and risks
3 Design activities that cause people
pean team leaders took a highly “self- of different approaches. And they will
to get to know each other
facilitate” approach that resulted in recognize that an unfamiliar approach
4 Build a virtual presence
much uncertainty, redundancy, and may in fact be the best one for a par-
5 Agree on standards and terminology
ill feeling. Given that the project was ticular circumstance.
6 Leverage anonymity when appropriate
never completed and that bitterness Thus, there are circumstances
7 Be more explicit
remains among some team members where introducing a “foreign” cul-
8 Train teams to self-facilitate
to the present, it is not clear what so- tural approach may result in desired
9 Embed collaboration technology
into everyday work lution would have fully addressed this outcomes. Mexican group facilitators
situation. However, it is clear that not reported success when purposely in-
directly addressing cultural issues was troducing more formal processes into
not a successful strategy. meeting support systems in order to
where the only concern is getting the In our view there are five essential shift the culture of meetings to greater
particular task completed. In the short facets of all team and project activities standardization, focus on outcomes,
run, this may increase the costs of the that carry over and are particularly pro- and retention of discussed ideas.6
particular project, but in the long run nounced in the global IT team setting. In considering multiple paths,
it may create the basis for efficient These are supervision of tasks, com- however, the manager encounters
performance of repeated tasks. Team munication, time and agenda, work inevitable trade-offs between stan-
members from long-term orientation process, and the environment (see dardization and customization. De-
cultures will likely be easy to persuade Table 2). veloping common standards while
to invest in team-building activities. avoiding significant loss of employee
Those from a short-term orientation The Cross-Cultural Manager productivity can be challenging. De-
culture may see these investments as a It stands to reason that managers of all coupling issues can often provide a
waste of effort. globally distributed IT teams need ba- solution to this trade-off. For example,
Dynamics will also vary with group sic skills in all five of the Table 2 areas. a co-located subgroup may discuss a
size and the number of cultures rep- We believe the cross-cultural IT team project in their home language but
resented. One IT development project manager needs two additional skills. create software modules conforming
familiar to the authors had more than The cross-cultural distributed IT to standard formats. The worldwide
70 team members from 10 countries team manager must recognize that project management director for a
huge global IT company described her
Table 2. Facets of global IT team and project activities. firm as setting a project management
standard and training all new manag-
ers to this standard. At the same time
Facet Description
successful “legacy” managers were
Task supervision intelligent division and assignment of tasks, monitoring task encouraged to move to the standard,
completion for completeness and quality, integrating completed
tasks into larger team products but were given much latitude for non-
Communication supervision ensuring continued participation, full and complete exchange
standard but effective methods. In the
of information, surfacing and resolution of conflict, conducting short run there continued to be quite
synchronous and asynchronous interchanges a bit of diversity in approaches, with
Time and agenda supervision setting up intelligent time frames for tasks, reorganizing critical the expectation that a standard would
paths for sequencing of activities, ensuring priority attention to
emerge over time.
the project relative to other group member obligations
The cross-cultural distributed IT team
Work process supervision ensuring an understanding and buy-in for common goals,
negotiating common tools and work processes, maintenance manager must develop a broad set of ap-
of common bodies of knowledge and version control from proaches to the five teamwork facets and
which all members draw become skilled at selectively applying
Environment variation ensuring that terms are used consistently even where their these. This means developing varied
supervision reference difference varies in different locations (for example,
accounting terms that pertain to local taxation or reporting within
approaches to monitoring employee
different countries or regions), ensuring smooth acceptance work, to setting benchmarks and to
of varied holidays and labor rules, working with time zones measuring progress. An example of
and other physical geography issues this occurred among Irish IT workers
at a U.S. multinational who balked at
using time cards rather than simply

26 communications o f th e acm | april 2 0 1 1 | vol . 5 4 | no. 4


viewpoints

working to finish particular tasks.8


Such a practice was not common
Groups will vary
Calendar
among these workers, even though
quite natural for U.S. firm manage-
ment. In the end, a compromise was
in their preferred of Events
reached to use the time cards, howev- communication April 18–20
er, on a flexible schedule so that work- modes as well as International Conference on
Multimedia Retrieval,
ers could arrive or leave early or late as
long as their times were recorded. their understanding Trento, Italy,
Sponsored: SIGMM,
It also means taking care regard- of messages within Contact: Francesco G.B. De
Natale,
ing the negotiation of a common vo-
cabulary, recognizing and resolving and across groups, Email: denatale@ing.unitn.it

conflicts, soliciting and responding and across cultures. April 20–22


to feedback, and the selection of com- International Conference on
munication tools. Groups will vary Fundamentals of Software
Engineering,
in their preferred communication Tehran, Iran,
modes as well as their understand- Contact: Sirjani Marjan,
ing of messages within and across Email: msirjani@cwi.nl
groups, and across cultures. For in-
May 1–4
stance, Chinese staff frequently pre- ager needs awareness of “equifinality” International Symposium on
fer to use instant messaging and tele- and a large palette of approaches and Networks-on-Chips
phone, while Australians prefer to use methods that can be applied as cir- Pittsburgh, PA,
email for communicating.4 Tactics for cumstances vary. This should include Sponsored: SIGDA, SIGARCH,
SIGBED,
managing cultural communication sensitivity to varied ways to approach- Contact: Diana Marculescu,
differences in global IT teams include ing tasks, communication, time and Email: dianam@cmu.edu
establishing norms for practices in agenda, and work processes, while
using communication tools based on remaining aware of and adjusting for May 2–6
The Tenth International
face-to-face training and setting up a environmental concerns. The excellent Conference on Autonomous
shared and consistent project-related culturally sensitive manager knows or Agents and
vocabulary approved by members of learns when and how to apply these Multiagent Systems,
Taipei, Taiwan,
each nationality team.1 varied techniques as the particular sit- Contact: Liz Sonenberg,
Sensitivity to decision-making pref- uation demands. Email: 1.sonenberg@unimelb.
erences can also help groups stay on edu.au
track. As a rule of thumb, the global References
1. Casey, V. Developing trust in virtual software May 3–6
IT team manager will want to be clear development teams. Journal of Theoretical and 16th International Conference
about the degree to which he or she Applied Electronic Commerce Research 5, 2 (Feb.
on Animation, Effects, Games
2010), 41–58.
solely makes key decisions, consults 2. Couger, J.D. and O’Callaghan, R. Comparing the and Interactive Media,
with team members, then makes deci- motivation of Spanish and Finnish computer personnel Stuttgart, Germany,
with those of the United States. European Journal of Contact: Thomas Haegele,
sions, and delegates decision making Information Systems 3, 4 (1994), 285–292. Email: thomas.haegele@
to team members. Difficulties in im- 3. Couger, J.D. et al. Commonalities in motivating
filmakademie.de
environments for programmer/analysts in Austria,
plementing decisions and taking ac- Israel, Singapore, and the U.S.A. Information &
tions can come from fuzziness in com- Management 18, 1 (Jan. 1990), 41–47. May 6–9
4. Guo, Z, Tan, F.B., Turner, T., and Xu, H. An exploratory International Conference on
municating how such decisions are to investigation into instant messaging perceptions Computer Supported Education
and preferences in two distinct cultures. IEEE
be made as much as from the chosen Transactions on Professional Communication 51, 4 Noordwijkerhout, Netherlands,
approach itself. In our experience a (Dec. 2008), 1–20. Contact: Monica Saramago,
5. Hofstede, G.H., Hofstede, G-J., and Minkov, M. Cultures Email: monica@insticc.org
“demand” for full adherence to the IT and Organizations: Software for the Mind. Third Edition
team manager’s unilateral decisions McGraw Hill, New York, NY, 2005.
May 7–8
6. Niederman, F. Facilitating computer-supported
can be smoothly (or poorly) commu- meetings: An exploratory comparison of U.S. and International Conference on
nicated even with highly “low power Mexican facilitators. Journal of Global Information Cloud Computing and Services
Management 5, 1 (Jan. 1997), 17–26. Science,
distance” personnel. Retention of full 7. Nunamaker, J.F., Jr., Reinig, B.A., and Briggs, R.O. Noordwijkerhout, Netherlands,
decision making by the manager can Principles for effective virtual teamwork. Commun.
Contact: Monica Saramago,
ACM 52, 4 (Apr. 2009), 113–117.
be communicated clearly in terms of 8. Weisinger, J.Y. and Trauth, E.M. Situating culture in the Email: monica@insticc.org
overall project effectiveness or the em- global information sector. Information Technology and
People 15, 4 (Apr. 2002), 306. May 7–9
ployees’ self-interest.
International Conference on
Fred Niederman (niederfa@slu.edu) is Shaughnessy
Cloud Computing and Services
Conclusion Professor of MIS St. Louis University, MO. Science,
In sum, the role of the global IT team Noordwijkerhout, Netherlands,
Felix B. Tan (felix.tan@aut.ac.nz) is a professor of
Contact: Monica Saramago,
manager requires general distributed information systems at Auckland University of Technology
Email: monica@insticc.org
in New Zealand.
team management skills enhanced
with cultural sensitivity. Such a man- Copyright held by author.

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n ic at i o n s of t he acm 27


V
viewpoints

doi:10.1145/1924421.1924432 Nathan Ensmenger

Historical Reflections
Building Castles
in the Air
Reflections on recruiting and training programmers
during the early period of computing.

I
n t h e early months of 1956, to attract the attention of the writers programming job, we told him; we just
an intriguing series of adver- of the “Talk of the Town” column in wondered if anyone else did.”3
tisements appeared in the the New Yorker magazine. Struck by The IBM manager they spoke to
New York Times, the Los Ange- the seeming incongruity between the was Robert W. Bemer, a “fast-talking,
les Times, and Scientific Ameri- appeal to both musicians and math- sandy-haired man of about 35,” who, by
can. Although the ads had been placed ematicians, the “Talk of the Towners” virtue of his eight years experience was
by the IBM Corporation, they were not themselves “made bold to apply” to the already considered, in the fast-paced
selling any IBM products or services; IBM manager in charge of programmer world of electronic computing, “an old
rather, they were soliciting assistance recruitment. “Not that we wanted a man with a long beard.” It was from
from the public. Recent advances in
electronic computing had created an
unprecedented demand for computer
programmers, the advertising copy
declared, and in bold letters inquired
of its readers, “Are you the man to
command the electronic giants?” Be-
cause computer programming was a
“new and dynamic” field, the adver-
tisement argued, “there are no rigid
qualifications.” Those individuals
who enjoyed chess, music, or math-
ematics might consider themselves
particularly suitable candidates, but
the only real requirements were that
you had an “orderly mind” and a “live-
ly imagination.”5
These 1956 advertisements were
not, of course, the first appeal for com-
puter programmer talent launched
by the IBM Corporation, or for that
matter, by a whole host of computer
Historical document courtesy of IBM

manufacturers and users. Already by


the late 1950s the growing demand for
computer programmers was emerging
as critical problem for the industry.
But what makes this particular recruit-
ment campaign significant was its em-
phasis on creativity and imagination.
In fact, the ads were so intriguing as IBM computer programmer recruitment advertisement circa 1956.

28 communi cations o f th e ac m | april 2 0 1 1 | vol. 5 4 | no. 4


viewpoints

Bemer that they learned of the 15,000 few people even knew what a computer
existing computer programmers. An ex- language was, much less whether or not
perienced programmer himself, Bemer In the period when they would enjoy working with one.
nevertheless confessed astonishment IBM was still referring The difficulty that firms like IBM
at the unforeseen explosion into being and RCA had in defining what skills,
of a programming profession, which to computers as knowledge, or training were essential
even to him seemed to have “happened “electronic giants,” to computer programming reflects
overnight.” And for the immediate fu- both a specific moment in the history
ture, at least, it appeared inevitable that the problem of of electronic computing—the birth
the demand for programmers would training and recruiting pangs of an industry that was only just
only increase. With obvious enthusi- coming into being—but also a more
asm, Bemer described a near future in programmers was general truth about the distinctive
which computers were much more than particularly apparent. character of computer programming
just scientific instruments, where “ev- as a discipline. From its origins, and to
ery major city in the country will have this day, computer programming has
its community computer,” and where been regarded alternatively, and often
citizens and businessmen of all sorts simultaneously, as both a “black art”
“grocers, doctors, lawyers” would “all and an industrial discipline. Its practi-
throw problems to the computer and Eventually the advertising campaign tioners run the gamut from Ph.D. com-
will all have their problems solved.” The and subsequent New Yorker coverage puter scientists to self-taught 16-year-
key to achieving such a vision, of course, did net IBM additional promising pro- old “hackers.” As an intellectual and
was the availability of diverse and well- grammer trainees, including an Oxford- occupational activity, computer pro-
written computer programs. And there- trained crystallographer, an English gramming represents a peculiar amal-
in lay the rub for recruiters like Bemer: Ph.D. candidate from Columbia Uni- gam of art, science, and engineering.
in response to the calls for computer versity, an ex-fashion model, a “proto- In the period when IBM was still re-
programmers he had circulated in hippie” and, of course, numerous chess ferring to computers as “electronic gi-
high-profile national newspapers and players, including Arthur Bisquier, the ants,” of course, the problem of train-
journals, he had received exactly seven U.S. Open Chess champion, Alex Bern- ing and recruiting programmers was
replies. That IBM considered this an stein, a U.S. Collegiate champion, and particularly apparent. If we take Bob
excellent return on its investment high- Sid Noble, the self-proclaimed “chess Bemer’s reckoning as accurate, each
lights the peculiar nature of the emerg- champion of the French Riviera.”4 The new computer installation would re-
ing programming profession. only characteristics these aspiring pro- quire a support staff of at least 30 pro-
Of the seven respondents to IBM’s grammers appeared to have in com- grammers. Since almost all computer
advertisements, five were experienced mon were their top scores on a series of programs in this period were effective-
programmers lured away from com- standard puzzle-based aptitude tests, ly custom-developed—the packaged
petitors. This kind of poaching oc- the ability to impress Bob Bemer as software industry would only begin to
curred regularly in the computer in- being “clever,” and, of course, the self- emerge in the late 1960s—every pur-
dustry, and although this was no doubt confidence to respond to vague but in- chase of a computer required the cor-
a good thing from the point of view of triguing help-wanted ads. responding hire of new programming
these well-paid and highly mobile em- personnel. Even if we were to halve Be-
ployees, it only exacerbated the recruit- Identifying Candidates mer’s estimates, the predicted industry
ment and retention challenges faced The haphazard manner in which IBM demand for computer programmers in
by their employers. The other two recruited its own top programmers, and 1960 would top 80,000.
respondents were new trainees, only the diverse character and backgrounds And where were all of these new pro-
one of whom proved suitable in the of these recruits, reveals much about grammers to come from? There were,
long-term. The first was a chess player the state of computer programming at in this period, no established programs
who was really “interested only in play- the end of its first decade of existence. in computer science; what formal aca-
ing chess,” and IBM soon “let him go A quick tour through the industry litera- demic training that did exist for com-
back to his board.” The second “knew ture from the late 1950s and early 1960s puter programmers generally occurred
almost nothing about computing,” reveals numerous similar attempts to within mathematics or electrical engi-
but allegedly had an IQ of 172, and, ac- identify those unique individuals with neering departments (or was provided
cording to Bemer “he had the kind of the “right stuff” to become program- by the computer manufacturers). For
mind we like...[he] taught himself to mers. A 1962 advertisement from the the most part, programmers in this
play the piano when he was 10, work- RCA Systems Division, for example, ap- period learned on the job, developing
ing on the assumption that the note F pealed to those individuals with “a mind their own tools, and inventing their
was E. Claims he played that way for deep enough for Kant, broad enough own idiosyncratic techniques and solu-
years. God knows what his neighbors for science fiction, and sufficiently pre- tions. As John Backus would later de-
went through, but you can see that it cise to enjoy the esoteric language of scribe the situation, programming in
shows a nice independent talent for the computer.”6 A tall order, indeed, the 1950s was “a black art,” “a private
the systematic translation of values.” particularly in a period in which very arcane matter,” in which “general pro-

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n ic at i o n s of t he acm 29


viewpoints

gramming principles were largely non- It has been estimated that as many as
existent [and] each problem required 80% of the employers working in the
a unique beginning at square one.”1 It field in that period had taken some
was not clear to anyone in this period form of the IBM PAT.
what skills, training, or expertise were
required to make a good programmer. Conclusion
It is no wonder, then, that corporate em- The curious persistence, well beyond
ployers like IBM had difficulty identify- the early, immature decades of elec-
ing potential programmer trainees, and tronic computing, of the notion that
had to rely instead on vague notions of good computer programmers are
“orderliness” and “imagination.” “born, not made” can perhaps be in-
What emerges over the course of terpreted as a sign of an ongoing lack
the next decade were a set of mech- of intellectual or professional rigor
anisms for assuring an adequate among programming personnel. But it
supply of well-trained, experienced is more likely, and more justified by the
computer programmers. These in- historical evidence, that the creative
cluded the establishment of formal tension between art and science in
programs in computer science, the computer programming has been one
establishment of professional soci- of the keys to the enormous productiv-
eties, the publication of journals (it ity of the programming community,
is no coincidence, for example, that and to innovation in the software in-
Communications of the ACM first ap- dustry. In The Mythical Man-Month, for
peared in 1958). New technologies example, Frederick Brooks famously
were developed that made computer suggested that “the programmer, like
programming less idiosyncratic, and the poet, works only slightly removed
new languages were introduced to from pure-thought stuff. He builds his
ACM’s help rationalize the process of pro- castles in the air, from air, creating by
gramming (the first FORTRAN com- exertion of the imagination. Few me-
interactions
piler was delivered in 1957, and the dia of creation are so flexible, so easy to
magazine explores specification for COBOL was written polish and rework, so readily capable
critical relationships in 1959). By the late 1960s computing of realizing grand conceptual struc-
between experiences, people, was its own science, and proposals tures.”2 Far from criticizing the notion
for incorporation of “software engi- that programmers required a “lively
and technology, showcasing neering” techniques were being de- imagination,” Brooks was embracing
emerging innovations and industry veloped. Employers such as IBM and the fact. Like the IBM recruiters of an
leaders from around the world RCA no longer had to look to chess earlier era, he was identifying in com-
players, musicians, and philosophers puter programming those intangible
across important applications of to staff their programming projects. qualities that made it one of the most
design thinking and the broadening Nevertheless, the sense that com- novel and intriguing of the new tech-
field of the interaction design. puter programming was, at least in nical disciplines to emerge during the
part, a distinctively creative activity, great computer revolution of the mid-
Our readers represent a growing and that the very best programmers 20th century.
community of practice that were gifted with a unique and idio-
is of increasing and vital syncratic ability, remained a defining References
1. Backus, J. Programming in America in the 1950s:
feature of the discipline. Throughout
global importance. Some personal impressions. In A History of
the 1960s and 1970s many corporate Computing in the Twentieth Century: A Collection of
Essays. N. Metropolis, J. Howlett, and G-C. Rota, Eds.,
recruiters continued to rely heavily Academic Press, NY, 1980, 125–135.
on the use of aptitude tests and per- 2. Brooks, F.P. The Mythical Man-Month: Essays on
Software Engineering. Addison-Wesley, NY, 1975, 20.
sonality tests aimed at identifying the 3. Gill, B. and Logan, A. Talk of the Town. New Yorker 5
e

“twinkle in the eye,” the “indefinable (Jan. 1957), 18–19.


ib
cr

4. Halpern, M.I. Memoirs (Part 1). IEEE Annals of the


enthusiasm,” that marked those in-
s

History of Computing 13, 1 (1991), 101–111.


ub

dividuals possessed by “the program- 5. IBM Corporation. Are you the man to command
/s

electronic giants? New York Times (May 13, 1956).


rg

ming bug that meant…we’re going to


.o

6. RCA Corporation. Deep enough for Kant. 1962.


cm

take a chance on him despite his back- 7. The Computer Personnel Research Group. Datamation
a

9, 1 (1963), 130.
w.

ground.”7 The IBM Programmer Ap-


w
w

titude Test (PAT), which had been de- Nathan Ensmenger (nathanen@sas.upenn.edu) is an
://
tp

veloped by personnel psychologists in assistant professor at the University of Pennsylvania and


ht

the author of The Computer Boys Take Over: Computers,


1955 to help identify promising “pro- Programmers, and the Politics of Technical Expertise (MIT
grammer types,” continued to be used Press, 2010).

(albeit modified) well into the 1970s. Copyright held by author.

30 communi cations o f th e acm | april 2 0 1 1 | vol . 5 4 | no. 4


V
viewpoints

doi:10.1145/1924421.1924433 Michael A. Cusumano

Technology Strategy
and Management
Platform Wars Come
to Social Media
The world can absorb more social media sites, but how many?

O
ver t h e past half-century, ditional email (Microsoft Outlook and
we have seen a dramatic Google Gmail), Internet search (Google,
evolution in computing Firefox, Microsoft Bing), and file shar-
and communications plat- ing (Flickr, among others). There truly is
forms. These have changed a new war going on, with lots of players
our lives first in the research lab and and no clear path to victory.
the corporate office, then in the home, How to win or preserve territory
and now everywhere. In the 1960s requires the same kind of thinking
and 1970s, we saw the emergence of we saw in previous platform battles.
timesharing systems over mainframe (See my January 2010 Communications
computers and their private networks. column “The Evolution of Platform
In the 1980s, we saw the birth of net- Thinking.”) But, when it comes to so-
worked personal computers and work- cial networking, we should keep two
stations as well as advances in home- thoughts in mind. One is for all the
use recording and playback devices for would-be billionaires who are now try-
multimedia. In the 1990s, we had an ex- ing to create their own social media
plosion of activity on the Internet with empires. When we look at Facebook,
the Web as a graphical user interface. or even Groupon, we are looking at the
In the 2000s, we have seen enormous survivors of a competition that has al-
activity—email, texting, Web search- ready gone on for years, since the late
ing, sharing of photos and digital mu- 1990s. Like startup companies in other
sic files, location-based services, and domains, most disappear completely
many other applications—on laptops or fall into obscurity. The world can ab-
and mobile devices, especially smart- sorb more social media networks, but
phones. And, increasingly over the past how many? In addition, nearly all rely
decade, but especially over the past sev- as well as sharing files. They enable on advertising (including searches of
eral years, we have seen the emergence computing through access to differ- their privately controlled or “walled”
of social networking systems ranging ent applications and databases. What content) for revenue. Advertisers want
from MySpace to Facebook, LinkedIn, is less well understood is how these to see volume and results. Because of
Twitter, and Foursquare, as well as platforms compete for user attention the power of network effects and posi-
Groupon (which recently turned down and revenue with other computing and tive feedback, a relatively small num-
Illustratio n by J oh n hersey

a $6.5 billion purchase offer from communications platforms, such as for ber of sites will probably draw most of
Google). personal computing (Microsoft Win- the user traffic and advertising dollars.
Social media networks are, in differ- dows and the Apple Macintosh), general So a large number of social networking
ent degrees, new kinds of platforms that mobile communications (RIM Black- businesses cannot survive with a tradi-
facilitate communication and offer new berry, Nokia Symbian, Google Android, tional advertising business model, un-
systems for texting and sending email Microsoft Windows, and others), tra- less they are non-profit or no-profit.

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n ic at i o n s of t he acm 31


viewpoints

Of greater concern from the busi- the best platform, not the best prod- products and services that geometri-
ness point of view is that advertisers uct (or service), wins. We have seen cally increase the platform’s value to
on social media sites such as Facebook this with VHS over Betamax, MS-DOS users as more complements (and more
get poor responses—about one-fiftieth and Windows PCs over the Macin- users) appear. The platform must also
the click-through rates compared to tosh, the Intel x86 microprocessor accommodate “sticky” content and
what Google sees for its sponsored ads over noncompatible chips, and even user behaviors that make it possible to
along with Internet searches.a It seems Mattel’s Barbie doll over newcom- search and attract advertisers.
that people who want to purchase ers such as the Bratz and Moxie Girlz Let’s take Facebook as an example.
goods and services usually begin their families of dolls from MGA Entertain- Mark Zuckerberg, Time magazine’s
search on Google or another search ment. Accordingly, we know some- 2010 Person of the Year, founded the
engine, and so ads that appear on the thing about what it takes to win and company in 2004 with some friends
screen with search results are target- whether a stalemate is likely to occur. while he was an undergraduate at Har-
ed and often highly relevant. Ads that The latter seems to be the case in vid- vard University. At the end of 2010,
appear on social media sites are also eo-game platforms with Sony (PlaySta- Facebook had some 1,700 employees,
related to the content the user is see- tion), Microsoft (Xbox), and Nintendo probably $1 billion in annual revenues,
ing or creating, but these users seem (Wii). Google is also challenging the and a market value of some $40 bil-
much more interested in communi- “open, but not open” or “closed, but lion (of which Microsoft owns 1.6%).b
cating with their friends or sharing not closed” strategies of nearly all It had more than 500,000 applications
information than making a purchase. computing and communications plat- in its ecosystem. Most importantly, in
Social network users may even see ads forms, ranging from desktop and mo- December 2010 Facebook had around
as more of a nuisance and an intrusion bile operating systems to social net- 600 million users—with 70% located
into their privacy, rather than as help- works and Internet TV and video. outside the U.S. The aggregate num-
ful leads to help them in shopping. ber was up from 100 million in August
Groupon, founded in 2006 and the Successful Platform Attributes 2008. This means Facebook has been
fastest company to go from zero to Some attributes of winning platforms acquiring new users at the rate of more
$1 billion in revenues, has a different relate to technology strategy—how than 200 million per year. It is not in-
business model, and this has made it open versus how closed the interfaces conceivable that, in just a few more
unusually successful. The company so- to the platform are for application de- years, nearly everyone in the world with
licits businesses such as restaurants, velopers or users who want to share or a personal computer and an Internet
retail shops, or local services such as import information across different connection or a smartphone will have a
hair and nail salons to offer discounts, systems. Another factor is the degree Facebook account. How likely is this to
one a day in specific markets. The strat- of modularity and potential richness happen? How much money is this like-
egy, in effect, is to apply online social in the platform. Platform companies ly to be worth to Facebook investors?
networking technology to the coupon must make it relatively easy for outside We can examine aspects of these ques-
business, with some special character- firms or individuals to add functional- tions and see how the future might play
istics. The discounts take effect only ity and content as well as to create com- out by using the Winner-Take-All-or-
if a certain number of people come to pelling new products or services that Most (WTAoM) framework.c
the store to purchase the good or the utilize features of the platform. Anoth- First, to win in a platform war, it
service. Groupon then takes a percent- er key attribute depends on the interac- helps if a platform generates strong
age of the revenue. So customers are tion of platform openness, modularity, network effects. Facebook has these, in
encouraged to tell their friends about feature richness, and strategic efforts spades. There are very strong “indirect”
the deal, lest no one get any discount. to increase the size and vibrancy of the network effects in the sense that, the
Unfortunately for Groupon, the strat- applications ecosystem. A strong eco- more your friends join the network, the
egy is easy to copy. (LivingSocial and system is usually essential to generate more peer pressure there is on you to
some 500 sites around the world also powerful “network effects” between join. Some people (especially younger
do this.) And too many customers can the platform and the complementary people but not only them) spend a good
swamp a small unprepared vendor. part of their day chatting and exchang-
Nonetheless, Groupon has a head start, ing photos and video clips with their
a proven business model, and a lot of To win in a platform friends, and friends of their friends—
“mind share” that continues to attract
and keep users and clients. But it still war, it helps if
needs to build a defensible platform a platform b Some of the data on Facebook is from the Har-
vard case cited previously, the Facebook Web
and a broad ecosystem to help main-
tain this leadership position. generates strong site (http://www.facebook.com), and the Wiki-
pedia entry on “Facebook.”
The second thought I have ex- network effects. c See T. Eisenmann, G. Parker, and M. Van Al-
pressed before: In a platform battle, styne, “Strategies for Two-Sided Markets,”
Harvard Business Review 84, 10 (2006), 92–101;
and M. Cusumano, Staying Power: Six Endur-
a T. Eisenmann et al. “Facebook’s Platforms,” ing Principles for Managing Strategy and Innova-
Harvard Business School Case #9-808-128, tion in an Uncertain World (Oxford University
2009, p. 1. Press, 2010), pp. 22–67.

32 communi cations o f th e acm | april 2 0 1 1 | vol . 5 4 | no. 4


viewpoints

on Facebook. The peer pressure and consuming to rewrite their apps for
the system keeps you in the network more than one platform. Google is also
and encourages you (by automating The conditions are putting a lot of pressure on Facebook
the suggestion process!) to bring more not quite present to use more standard technologies.
of your friends into the network. There So there is some difficulty with multi-
are also very strong “direct” network for a VHS-like or homing for application developers but
effects in that applications built to a Wintel-like it is not clear how important this is or
run on the Facebook operating system how long Facebook can hold out.
and that access special features and domination of social
database content within the platform networking by Conclusion
only run within Facebook. The techni- In short, the conditions are not quite
cal platform elements here consist of one company. present for a VHS-like or a Wintel-like
the Facebook Connect APIs and pro- domination of social networking by
prietary query and mark-up languages one company. There are still opportu-
for applications developers. Google is nities for competitors to differentiate
challenging Facebook by promoting its themselves and room for users and ap-
own more “open” application develop- plication developers to spread them-
ment standards for social networking products and services, and advertis- selves around. The powerful network
sites, the OpenSocial platform, and try- ers—to use more than one platform, effects do suggest that large numbers
ing to bring other sites together in a co- that is, to have more than one “home.” of people will continue to sign up and
alition that puts pressure on Facebook This “multi-homing” also fragments use Facebook. But advertising is not so
to join and open up. Be that as it may the market for “eyeball” attention and effective and nowhere near as profit-
for the moment, at present, Facebook advertising dollars. It is similar in some able as packaged software (Microsoft)
is strong on this first measure of gener- ways but different from the notion of or fully automated digital services
ating its own network effects. “switching costs.” On Facebook, for (Google), at least not yet. Nonetheless,
Second, a winning platform must example, switching costs for users are Facebook and several other social net-
minimize the opportunities for com- quite high. This is good for platform working sites have staying power and
petitors to fragment the market leadership. Facebook users are not like- will continue to fight among them-
through exploiting differentiation ly to switch, suddenly, to another social selves and with Google as well as Mi-
strategies or segmentation niches. networking site for their daily commu- crosoft, Yahoo, and others for user eye-
Here is where Facebook has a big chal- nications and move years of accumulat- balls and their fair share of Internet
lenge. There are thousands of social ed content—unless all of their friends advertising.
media sites that do different things simultaneously do so as well. My guess is that Facebook will end
and some are quite large in their user At the same time, however, Face- up like Google—with 65% or so of the
bases. They bring together people in- book users tend to have more than global market, a winner-take-most
terested in art and music (MySpace), one social networking account and scenario. But Facebook as a company
instant communications (Twitter), spend lots of time on these other sites, needs to explore better ways to make
selling product and service discounts for different purposes. They may use money as well as develop the capabili-
(Groupon, LivingSocial), locating their LinkedIn to look for professional con- ties to quickly add features and ser-
friends in real time (Foursquare), or tacts or Twitter to follow the news and vices that mimic Twitter, LinkedIn,
connecting with other profession- particular events or people. They may MySpace, Foursquare, and Groupon.
als (LinkedIn, Plaxo). These sites are go to Groupon or LivingSocial every It may want to enter directly into com-
based in the U.S.; other countries, such day to look for bargains. They may fol- mercial activities and try drawing user
as China, Korea, Japan, India, and Bra- low their favorite musical band or get attention and advertising revenue
zil have some domestic-only social movie reviews on MySpace or another from the two other most popular In-
networking sites that are very large as site. They go to Foursquare to find out ternet sites, Amazon and eBay, or
well and quickly growing in popular- where their friends are and get recom- from the online classified ad special-
ity. It should be noted that Facebook mendations for restaurants or stores— ist, Craigslist. The possibilities are
is banned in several countries, includ- now. In the future, it is possible that nearly endless for a platform with 600
ing China, Iran, and Pakistan. So Face- Facebook will offer these kinds of fea- million users, and counting. But noth-
book will never get 100% of the global tures and services itself—which would ing is guaranteed. Facebook will still
market like Japan Victor did with VHS. be a strategy to reduce differentiation have to fight off competition from the
It will not even get an Intel-like 85% of and niche opportunities for competi- social networking innovations that no
the market as long as there are special- tors. But, at present, there is nothing one has thought of yet.
ized sites and geographic or political in the Facebook platform that techni-
barriers to world domination. cally makes multi-homing difficult for Michael A. Cusumano (cusumano@mit.edu) is a
professor at the MIT Sloan School of Management and
Third, a winning platform must individual users. On the other hand, School of Engineering and author of Staying Power: Six
make it difficult or costly for users or application developers who invest in Enduring Principles for Managing Strategy and Innovation
in an Unpredictable World (Oxford University Press, 2010).
ecosystem partners—mainly devel- learning the Facebook APIs and pro-
opers of complementary application gramming languages will find it time Copyright held by author.

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n ic at i o n s of t he acm 33


V
viewpoints

doi:10.1145/1924421.1924434 George V. Neville-Neil

Kode Vicious
Coder’s Block
What does it take to clear the blockage?

Dear KV,
I am a manager of a small development
group and one of my programmers
seems to spend his whole day staring
at his screen but not actually writing
code. He then spends weekends and
nights in the office and eventually
checks in code that actually works, but
whenever I ask him why he is just star-
ing during the day, he replies, “Coder’s
block,” and then continues to stare. It’s
kind of creepy. Is there any such thing
as coder’s block?
Not Blocked but Confused

Dear NBC,
Programming is a creative endeavor,
and therefore the short answer is yes,
there is such a thing as coder’s block.
Not only is there such a thing, but there
are also various types and sources of
coder’s block, some of which I will
cover here. If any of these apply to your
programmer, you’ll be able to help
clear the blockage, since that is what tion. Any modern office environment ruptions, and you will probably find it
managers are supposed to do. is a hotbed of distractions, including is less than one hour. While some pro-
Perhaps the easiest source of coder’s ringing phones, talking coworkers, grams can be designed and finished in
block to see and understand is distrac- people who come by your desk to ask an hour, they are few and far between.
questions (many of which they could Giving someone who works for you a
answer themselves by reading docu- few distraction-free hours per day is
One of the best ways mentation), meetings, and, of course, one way to help prevent coder’s block.
well-meaning managers who drop by One piece of advice for all you pro-
to overcome coder’s
Photogra ph by Sergei Chum akov/ sh ut terstock

to ask, “How’s it going?” All but the grammers out there is to touch code
block is to look at most trivial coding tasks require quiet first thing when you come into work.
and concentration, and if program- Do not read email, open your instant
another unrelated mers do not get those, then they are not messaging client, or do anything else
piece of code. going to be able to build up the intel- that can suck you into distractions that
lectual head of steam they need to solve are not coding. When you sit down to
complex problems. Time free from dis- work, sit down to work. Email, instant
traction also has to be sufficient to the messaging, and social networking are
task. Ask your programmer how long anathema to concentrating on hard
he gets to sit and think between inter- problems.

34 communi cations o f th e ac m | april 2 0 1 1 | vol. 5 4 | no. 4


viewpoints

Sometimes coder’s block is brought that you may yet be able to pull this off,
on by programmers taking on more but it depends on the structure you are
work than they can handle. Either the Sometimes when working with. Sometimes when people
problems are too complex, or they just people build build systems they expect are going
do not know where to start, or both. I to be extended, they place extra space
don’t know if you have noticed most systems they expect into a structure for future expansion.
coders, but they tend to have a large, are going to be Of course I say “sometimes” because
personal store of hubris that often gets although all computer science pro-
them into trouble, both at and outside extended, they grams sing paeans to extensibility, they
of work. If a programmer is staring at a place extra space often leave out the practical part of just
problem for hours on end and making how one makes code extensible.
no progress, you can ask if he or she has into a structure for If you are lucky, then the struc-
tried to break down the problem, and future expansion. ture you need to modify has some
perhaps have the person show you how extra space, usually labeled as pad-
he or she is breaking it down. Do not ding, which you can use for your new
do this in a nagging way that distracts purposes. All you would need to do is
the programmer (see above). One of the subtract some of the padding and add
main ways to annoy a coder is to con- er unrelated piece of code. You want new elements to the structure that
stantly ask, “How’s it going?” You are al- the coder’s mind to remain in a cod- are equal in size to the padding you
lowed to ask this once per day, and not ing mode but to relax its grip on the have removed. Make sure to add the
when the person looks like he or she is problem that is causing the angst. new parts of the structure after the
actually concentrating. You might want Finally, sometimes coder’s block preexisting parts, because if you do
to ask this question at lunch. comes from some sort of emotional not, then your older binaries will be
Another type of coder’s block comes problem, usually outside the job, al- reading your new type of data where
from fear of failure. Most people want though job stress can also lead to emo- they expect their old data to be. That
to do a good job and be recognized for tional imbalances. I find that jobs, might lead to a crash, which is the
the good work they do. This is espe- in general, lead to emotional imbal- good case because you will be able to
cially true of people who do knowledge ance, as does waking up in the morn- find the bug; but it might simply lead
work, such as programmers, because ing, commuting, and talking to stupid to getting subtly incorrect results, and
the only measures of quality are how people. Sometimes you have to just those types of bugs are incredibly an-
cleverly and cleanly they have built tell someone to take some time off, noying to search out. And make sure
something. Since software is nearly so that his or her mind will clear and you comment your change and be very
infinitely malleable, many coders get the coder’s block will lift. Of course, if clear about the change in your commit
stuck trying to come up with the ab- you find a programmer is just staring message. Messing with in-memory
solute neatest, cleverest way to imple- at the screen, you might want to take structures in this way can lead to hard-
ment something. a surreptitious glance at what he or to-find bugs, as I mentioned, and the
The need for perfection leads to she has written. If it is anything like, first thing someone who comes across
many false starts, writing a page of code “All work and no play make Jack a dull this type of bug will want to do is to try
and then doing what writers used to coder,” then it is time to hide the fire the code without your change, to see if
do when they had a typewriter writer’s axes and call for an intervention. it is the source of the problem.
block: they crumple up the one page KV KV
they have finally written and throw it
in the trash. When people used paper
to write, it was easy to see that they had Dear KV, Related articles
on queue.acm.org
writer’s block, because their trash cans I am working on some very old C code
would be overflowing with crumpled that needs to be extended, but there is IM, Not IP (Information Pollution)
pieces of paper. If you picked up a few an annoying complication. This code Jakob Nielsen
http://queue.acm.org/detail.cfm?id=966731
of these, you would see that none con- manipulates an in-memory structure
tained a full page of text; the writers that other programs have to read, but Coding Smart: People vs. Tools
Donn M. Seeley
probably got only halfway down a page there is a requirement that older bina-
http://queue.acm.org/detail.cfm?id=945135
before they tore it out of the typewriter ries still be able to work with the new
code. I don’t think this is possible, A Conversation with Joel Spolsky
and threw it away. In our modern world
since once I change the structure the http://queue.acm.org/detail.cfm?id=1281887
you cannot actually see the false starts,
because no one in his or her right mind older binaries are definitely going to
George V. Neville-Neil (kv@acm.org) is the proprietor of
would check them in. fail. Is there a way around this? Neville-Neil Consulting and a member of the ACM Queue
If you find a programmer making Backwardly Structured editorial board. He works on networking and operating
systems code for fun and profit, teaches courses on
a lot of false starts at a piece of code, various programming-related subjects, and encourages
give that person something else to your comments, quips, and code snips pertaining to his
Communications column.
work on. One of the best ways to over- Dear Backward,
come coder’s block is to look at anoth- There is a small, but nonzero, chance Copyright held by author.

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n ic at i o n s of t he acm 35


V
viewpoints

doi:10.1145/1924421.1924435 José Luis Gómez-Barroso and Claudio Feijóo

Viewpoint
Asymmetries and Shortages
of the Network
Neutrality Principle
What could neutrality achieve?

T
h e d ebate on network neu-
trality has reached sufficient
notoriety to eliminate the
need for detailed explana-
tion. A simple definition
will suffice: “network neutrality” is un-
derstood as the principle by which the
owners of broadband networks would
not be allowed to establish any type of
discrimination or preference over the
traffic transmitted through them.
What is indeed interesting to re-
member is the origin of the debate.
In February 2002, the U.S. the Federal
Communications Commission (FCC),
launched a proposal considering DSL
connections as an “information ser-
vice” and, thus, not subject to access
requirements telephone companies
must fulfill. The following month, the
FCC launched a similar draft for cable
networks and requested comments on
what the regulatory regime that would comments have appeared in favor of It is not our intention to provide
finally prevail should look like. The or against network neutrality but have new arguments underlining the vir-
comments received by the FCC, par- always shared one issue: the opinions tues of the supporting or opposing
ticularly those of the High Tech Broad- provided continue to limit the fight positions. The matter we would like
band Coalition (HTBC) Group, which to the scope of traditional networks to stress is the narrow-mindedness
integrates different associations and (telephone or cable). Take as the most of the approach that is adopted re-
partnerships of the ICT industry, rep- prominent example the two articles peatedly. It must be remembered that
resent the starting point of the subse- recently published by Communica- the defenders of network neutrality
Illustratio n by XYZ/shut terstock

quent controversy.9 tions on the topic. Van Schewick and base their arguments on the need to
We recall the beginning of the con- Farber’s Point/Counterpoint explicitly avoid closing the door to any innova-
troversy because, since then and per- played on the landline carriers’ court.6 tion: the Internet would simply be a
haps as an inheritance of this begin- In his less prescriptive, more descrip- platform necessary for the competi-
ning, it has been restricted to fixed tive (regulatory) Viewpoint, Larouche tion between application developers
broadband networks. Indeed, academ- uses a broader term (ISPs) but takes a (see, for example, Weinstein7). With
ic papers, political opinions and media similar approach.3 this idea in mind, there are three axes

36 communi cations o f th e ac m | april 2 0 1 1 | vol. 5 4 | no. 4


viewpoints

toward which the debate could, or tion—technological neutrality—al-


should, extend. ready demands an initial reconsidera-
First, it is interesting to recall the What is clear is that tion of the reasoning. But even beyond
opinion of Zittrain, for whom “Inter- in a convergent that, in a convergent industry where
net is better conceptualized as a gen- agents from “different worlds” often
erative grid that includes both PCs and scenario the fight to conquer the same links in the
networks rather than as an open net- coexistence of value chain (integrating as many ac-
work indifferent to the configuration tivities as possible for a tighter control
of its endpoints.”10 This way, what oc- different regulatory of the value network), the rules of the
curs in the pipes would be only a part criteria does game should be equal for everyone.
of the problem and what he defines While most of these agents are judged
as “PC openness” could be set out. In not seem fair. ex post, and their activity is limited
fact, this is the path where the more only when it harms competition or
theoretical journey has taken place, hampers the development of the mar-
thanks basically to the work of open kets, others have to comply with strin-
source software supporters. However, gent ex ante regulations. This does
it is surprising that connections with network itself. It must be considered not necessarily imply that the anti-
network neutrality have not been ex- that for every business project where trust-oriented approach should be ex-
plored in greater depth. And this is it is vital that the network owner does tended to any party. On the contrary,
not just about PCs. As other electronic not discriminate the traffic generated a general forward-looking regulatory
devices (consider mobile handhelds, by the application, there are probably model that would guarantee certain
and more specifically, smartphones) another 100 whose concern is limited rights and abilities (such as privacy
win the favor of consumers, so does to the order in which they appear in a and interoperability) would probably
their role as intermediary (always neu- specific portal or search engine. And be needed.
tral?) between applications or content here one can find a clear asymmetry be- In any case, what is clear is that in
creators and possible clients. tween what is supported “downward” a convergent scenario the coexistence
Second, quite outstanding is the and what actually happens “upstairs.” of different regulatory criteria does not
fact that, until the FCC’s Notice of Naturally, search engines, portals, and seem fair. And one must not forget that
Proposed Rulemaking, released Oct. aggregators of diverse content or di- convergence, the same convergence
22, 2009, and with a few significant rectories quickly joined the defenders that never seems to arrive, cannot be
exceptions (such as Frieden1, Wu8), no of network neutrality…a fact that does slowed down.
one had considered wireless connec- not prevent them from prioritizing
tions in their analyses. It can be said certain customers: those with which References
1. Frieden, R. The costs and benefits of separating
that, although not specifically stated, they have a “special relationship” or, wireless telephone service from handset sales
a certain degree of consensus for simply, those that pay. That is exactly and imposing network neutrality obligations. In
Proceedings of the First ITU-T Kaleidoscope Academic
“naturally” extending the current ar- the opposite of what these same com- Conference Innovations in NGN: Future Network and
Services (Geneva, May 12–13, 2008), 273–278.
guments to Wi-Fi or WiMax networks panies demand from network opera- 2. Gasser, U. Regulating search engines: Taking stock
has probably existed. But what about tors. Let us clarify that discrimination and looking ahead. Yale Journal of Law & Technology
8 (2006), 202–234.
mobile operators? If there is a service is not always arbitrary or unfair. In 3. Larouche, P. The network neutrality debate hits
where network neutrality has been particular, search engines must follow Europe. Commun. ACM 52, 5 (May 2009), 22–24.
4. Odlyzko, A. Network neutrality, search neutrality,
really breached, it is the data access some regulatory guidelines2 but still and the never-ending conflict between efficiency and
service provided by mobile operators. discrimination is possible. Along the fairness in markets. Review of Network Economics 8, 1
(2009), 40–60.
The extreme discrimination model same line, Pasquale5 or Odlyzko4 have 5. Pasquale, F. Internet nondiscrimination principles:
(“walled garden”) is still used by op- already discussed the parallelism be- Commercial ethics for carriers and search engines.
University of Chicago Legal Forum 2008 (2008),
erators throughout the world. Walled tween the basic principles of transpar- 263–300.
gardens have been accepted as anoth- ency that should similarly inform car- 6. Van Schewick, B. and Farber, D. Network neutrality
nuances. Commun. ACM 52, 2 (Feb. 2009), 31–37.
er of the possible business strategies riage and search regulation. 7. Weinstein, L. Ma Bell’s revenge: The battle for network
of companies operating in the sector, Note that the use of the condition in neutrality. Commun. ACM 50, 1 (Jan. 2007), 128.
8. Wu, T. Wireless Carterfone. International Journal of
and almost no one has torn their hair the title of this column means the au- Communications 1 (2007), 389–426.
out. Without going to the extreme rep- thors do not call for the imposition of 9. Yoo, C. Network neutrality and the economics of
congestion. Georgetown Law Journal 94, 6 (2006),
resented by walled gardens, are there a “universal” neutrality affecting net- 1847–1908.
10. Zittrain. J.L. The generative Internet. Harvard Law
any circumstances, as the FCC asks, works, equipment, software, and ap- Review 119, 7 (2006), 1974–2040.
in which it could be reasonable for a plications (could we call it gatekeeper
wireless network to block video, VoIP, neutrality?). Without engaging in such José Luis Gómez-Barroso (jlgomez@cee.uned.es) is
or peer-to-peer applications? a discussion, what we do assert is that an associate professor in the Department of Applied
Economics and Economic History at the National
Last, the focus must be targeted the analysis, in its current dimension, University of Distance Education, Spain.
toward some of the applications that does not go far enough. Claudio Feijóo (cfeijoo@cedint.upm.es) is a professor at
have become the de facto door for ac- Neutrality has other facets, certain- the Universidad Politécnica de Madrid, Spain, and a Senior
Member of ACM.
cessing the Internet and that can be ly. Another neutrality, often presented
considered as instrumental as the as a cornerstone for correct regula- Copyright held by author.

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n i c at i o n s of t he acm 37


practice
doi:10.1145/1924421.1924437

Article development led by


queue.acm.org

Exposing SIMD units within interpreted


languages could simplify programs and
unleash floods of untapped processor power.
by Jonathan Parri, Daniel Shapiro,
Miodrag Bolic, and Voicu Groza

Returning
Control to the
Programmer:
SIMD
Intrinsics
for Virtual
in nearly every current desktop and
server processor and are greatly unde-
rutilized, especially with interpreted
languages. If multicore processors

Machines
continue their current growth pattern,
interpreted-language performance
will begin to fall behind, since current
native compilers and languages offer
better automated SIMD optimization
and direct SIMD mapping support.
As each core in commercial x86 mul-
ticore processors includes a dedicated
SIMD unit, the performance disparity
will grow exponentially as long as the
available SIMD units remain under-
utilized in interpreted-language envi-
Server and wo rkstatio n hardware architecture is ronments.
continually improving, yet interpreted languages— Software design and computer ar-
most importantly, Java—have failed to keep pace with chitecture have seen the evolution of
parallel data processing, but it has not
the proper utilization of modern processors. SIMD been fully utilized within the interpret-
(single instruction, multiple data) units are available ed-language domain. Taking full ad-

38 communications o f th e acm | april 2 0 1 1 | vol . 5 4 | no. 4


vantage of the available system archi- Developers have begun to take note ATI STREAM), and memory modules.
tecture and features, especially SIMD that SIMD instruction capabilities are AltiVec, SSE, and VIS are well-known
units, can be very challenging for the underutilized in the CPU.4 In interpret- SIMD instruction sets. AltiVec is com-
developer. Such features are often dis- ed languages, a portion of the software- monly found on PowerPC systems, SSE
regarded in favor of costly but scalable to-hardware mapping occurs on the fly on x86-64, and VIS within SPARC.
measures to increase performance, and in real time, leaving little time for We propose that generic user-
mainly the addition of processing pow- thorough instruction-level parallel- known parallel operation calls be
er. Virtual machines and interpreted ism analysis and optimization. Byte- mapped directly in virtual machine in-
languages have consistently abstracted code compilation can be used to iden- ternals to native SIMD calls. By allow-
and moved away from the underlying tify parallelism opportunities but has ing generic SIMD vector access within
system architecture. proven to be ineffective in many real- interpreted languages, the user is given
SIMD instructions were added to istic scenarios. Exhaustive automated more control over parallelism, while
modern processors to increase in- SIMD identification and vectorization still allowing for automated SIMD vec-
struction-level parallelism. In a SIMD is too computationally intensive to oc- torization by the JIT compiler. Future
instruction, multiple and unique data cur within JIT (just-in-time) compilers. virtual machine developments and
elements can be manipulated with It is now common to find vector language specifications must adapt to
Illustratio n by A nd rew cl a rk

one common operation. SIMD units operations on arrays being performed make better use of SIMD units. Lan-
typically include an additional register in native languages with the help of guage support for SIMD will not im-
bank with a large register width. These SIMD-based instruction-set exten- pact support for processors that do not
individual registers can be subdivided sions (for example, AltiVec, SSE, VIS), contain SIMD operations. Instead the
to hold multiple data elements of vary- general-purpose computing on graph- virtual machine must translate the ge-
ing data types. ics cards (for example, Nvidia CUDA, neric calls into sequential instructions

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n i c at i o n s of t he acm 39


practice

when no SIMD hardware is detected: grammer in a transparent way. This


the status quo. is becoming an important problem,
Resource utilization is a key tenet since high-performance computations
of the cloud-computing paradigm that are increasingly being carried out us-
is now attracting many companies.
Maximizing the utilization potential of There are many ing languages such as Java rather than
Fortran.2 One solution addressing this
cloud resources is vital to lowering cost
and increasing performance. Because
potential arguments performance gap for interpreted lan-
guages is AMD’s Aparapi,1 which pro-
of their popularity and interoperabil- for and against vides thread-level parallelism and ac-
ity, interpreted languages, mainly Java,
are frequently chosen for cloud com-
SIMD intrinsics cess to video-card acceleration but no
SIMD support. Intel has also exposed
puting. Interpreted languages within in interpreted some native SIMD support in its recent
cloud environments do not expose
processor architecture features to the
languages, but it is Intel Math Kernel Library in the form
of a library package.6
programmer, and as a result, the gen- clear that change is There is an argument for writing
erated code is rarely optimized for the
target platform processor resources. needed. your own custom native interface for
SIMD access rather than using a stan-
More efficient use of existing data- dardized API or virtual machine exten-
center resources would surely result in sions. One of the simplest solutions
cost reduction. out there today is to find hotspots in
Interpreted languages such as Java, Java code using runtime profiles and
Flash, PHP, and JavaScript may all add JNI (Java Native Interface) calls to
benefit from such an approach. There the offending code, effectively offload-
are many potential arguments for and ing the inefficient operation to faster
against SIMD intrinsics in interpreted native code. Unfortunately, this ap-
languages, but it is clear that change proach works only when the processor
is needed. architecture is known to the program-
mer, and it adds compatibility prob-
Existing Solutions lems when upgrading to a new archi-
As the number of cores on modern tecture.
processors grows ever higher, so do
the number of available SIMD units. Arguments for Change
Most native compilers allow for ex- The arguments for supporting the in-
plicit declaration of SIMD instruc- clusion of premapped vector intrin-
tions in the form of intrinsics, while sics within interpreted languages are
others go even further by extending faster application runtime, lower cost,
the compiler front end with vector smaller code size, fewer coding errors,
pragmas.5 This closes the gap between and a more transparent programming
the application and the underlying experience.
architecture. One study has shown Hardware continues to change, but
it is possible to create a common set interpreted languages are not keep-
of macros for calling many different ing pace with these changes, often re-
SIMD units, including MMX, SSE, lying solely on the default data path.
AltiVec, and TriMedia.13 This set of The integration of SIMD instructions
macros, called MMM, provides an ab- into virtual machines and their match-
straction for SIMD unit programming ing language specifications allows
that makes programs more portable for a larger utilization of available re-
across hardware platforms. Although sources. Direct vector operation map-
this initial approach did provide code pings will yield higher utilization of
portability, it did not address inter- the SIMD unit, and therefore the code
preted languages. A similar approach will run faster. Multiprocessors today
is also available at the compiler level.10 and in the future will contain a SIMD
Whereas some compilers can selec- hardware core for each processor, mag-
tively specialize code at compile time nifying the disparity between sequen-
using late binding,3 it is simpler to tial and parallel code. For example, in
let the user make parallelism explicit Intel’s Core i7-920, an x86-64 proces-
within the code, resolving the parallel- sor with four physical cores, each core
ism at runtime. contains an SSE 4.2 instruction-set ex-
Interpreted languages do not ex- tension. A virtual machine can take ad-
pose vector functionality to the pro- vantage of four SSE units at once, out-

40 communications o f th e ac m | april 2 0 1 1 | vol. 5 4 | no. 4


practice

performing the four single-processor but more complex vector manipula- card that is often expensive and re-
cores on throughput. tion sequences of operations can be quires additional power. In the cloud-
As cloud-computing providers such easily overlooked.11 Many complex ap- computing context this can add up
as Amazon and Google have begun to plications are not transformed well to a high number of video cards with
take hold, resource utilization has be- into parallel SIMD code by optimizing associated costs. Also note that each
come a key issue. These organizations compilers. We argue that the developer transaction requires system bus ac-
do not know ahead of time the poten- often knows which operations can be cess, whereas the SIMD unit is right
tial client workloads; therefore, re- executed in parallel and should be able on the processor die and ships with
source utilization improvement by pro- to code them in a standardized fash- nearly every processor. Future genera-
gramming languages will offer great ion that will utilize the available SIMD tions of processors may include GPUs
benefit. As the interpreted languages functionality. on the die, but until that is the case
running on these clusters improve, the The user knows that the source and for existing infrastructures, SIMD is
need to expand the cloud more readily destination of the operation are arrays a low-hanging fruit, not fully utilized
is reduced, with a corresponding cost of the same type and length, and this for getting more computations per
savings. type of operation is most beneficial core. Most significant is the fact that
As the user gains more control over when sequences of SIMD operations GPUs capable of such a feat are not as
vectorized data types, the coding expe- can be chained together, avoiding widely distributed as processors. Intel
rience when exploiting SIMD opera- transfers between the SIMD and main commands a 50% market share with
tions becomes more transparent. The CPU register files. its integrated graphics products.12
code size, measured in lines of code, Another source of resistance that As multicore systems become more
will be reduced because the machin- we have heard from industry and re- prominent, the possibility of using
ery for SIMD operations on vectors search personnel concerns the pos- multiple SIMD units becomes even
can now be performed inside the vir- sibility of using a dedicated graph- clearer.
tual machine instead of inside every ics card for GPGPU (general-purpose The arguments for resisting the in-
program. This is the same reason that computing on graphics processing clusion of SIMD intrinsics in interpret-
stacks, queues, arrays, hash maps, units). Examples of this technology ed languages can be easily overcome
strings, and other data structures re- are Nvidia’s CUDA and ATI’s STREAM. with standardized parallel virtual-ma-
duce code size. These classes are en- In the context of Flash, Adobe recently chine extensions and specifications.
capsulating and abstracting complexi- announced that its ActionScript can Hopefully, these ideas will become
ty. This encapsulation and abstraction now use Nvidia graphics cards.8 This readily available in future language
also means fewer errors in coding. alternative approach is legitimate for evolutions.
Whereas the state of the art requires those users who have such a graph-
the user to make a native interface call ics card supporting the required fea- Using SIMD in Java
and write C/C++ code to access the tures. Unfortunately, this means the In response to the need for SIMD in
SIMD instructions explicitly, a stan- user has to purchase an external video interpreted languages, we designed
dardized API and the proposed virtual
machine integration avoid complex High-level overview of the jSIMD API.
debugging and instead expose SIMD
intrinsics. jSIMD Java User

Addressing SIMD Standard Java


Inclusion Concerns
N gcc
Platform compatibility can be achieved Target
Build
by adding native SIMD mappings to jSIMD API Binaries
the virtual machines of target plat-
forms. There should always exist a de- Creates Generates
fault mapping where SIMD operations
are mapped at run time to sequential Java Process Native Runtime
code if the appropriate hardware is not Library

available.
Virtual machines such as the Hot- Native
Binary JVM Bytecode JNI SIMD Native
Spot JVM (Java virtual machine) from Bridge Mappings Binary
Oracle already contain optimizations
to identify SIMD opportunities on Memory Space
the fly. The JIT compiler must run at
a near real-time pace and, therefore,
cannot spend a lot of time finding an
optimal SIMD mapping at runtime.
Simple SIMD operations written in
Java are easily picked up by the JVM,

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n i c at i o n s of t he acm 41


practice

an API called jSIMD for mapping using Intel’s VTune Performance Ana-
Java code to SIMD instructions using lyzer,7 which can be used to profile and
vectorized data of various data types. analyze various executable applica-
JNI is a feature provided within Java tions. We used it to observe the num-
to allow access to native code. It is
used in the back end as a bridge be- Future generations ber and types of SSE calls performed
by the JVM alone. An alpha-blending
tween the Java-familiar API seen by
the programmer and the SIMD map-
of processors program was executed using several
standard-size images (640 x 480 - 1920
pings compiled as native code. Using may include GPUs x 1080 pixels); 1,000 samples for each
an image-processing program as an
example, we observed a 34% speedup
on the die, but test executed on an Intel Core 2 Duo
E6600 with 2-GB DDR2 RAM running
over traditional Java code. Earlier tests until that is the Windows XP Pro SP3. Using jSIMD re-
on simpler and purely mathematical
constructs have yielded speedups of
case for existing sulted in an average speedup of 34%,
and a large number of SSE calls as
two to three times.11 infrastructures, expected. Also, no SIMD instructions
An overview of the API is shown in
the accompanying figure. Once a trans- SIMD is a were executed when using the out-of-
the-box Java solution, while the results
action of operations on vectors is built low-hanging fruit, when using the jSIMD API showed
up, the user code tells the API to initi-
ate the desired operations. The API not fully utilized that the number of retired SIMD in-
structions was in the millions and
identifies the available operating sys-
tem and SIMD units in order to decide
for getting more saved several milliseconds per frame.
For video transcoding this is a signifi-
when to execute API calls in Java and computations cant performance improvement. The
when to pass the calls to the dynamic
libraries with SIMD mappings for par-
per core. linear relationship between retired
SIMD instructions and pixel count
allel execution. If parallel execution means that the API works well at large
is possible, the API makes JNI calls to and small scales.
dynamic libraries, which carry out These observations show that ex-
SIMD instructions on data in the Java posing SIMD intrinsics will improve
memory space. The SIMD native library execution time by calling more SIMD
can be recompiled for a different target instructions. The results from the cur-
architecture through gcc or by using a rent jSIMD implementation yielded a
prepackaged binary. Generic source speedup below the anticipated level,
code has been used to facilitate simple based upon a maximum of four con-
cross-compilation. current operations within SSE for
the data types and processor that we
Motivating Example used. The speedup is still significant,
Consider a motivating example that considering that no changes to the
uses the jSIMD API to obtain a speedup underlying system architecture were
over an out-of-the-box Java solution. needed and that the changes to the
Alpha blending, used for creating tran- user code were relatively simple and
sitions in video processing or blending natural. As it is impossible to guaran-
two individual images, is one example tee that arrays remain pinned in the
of an algorithm that can be moderately JVM9 because of the garbage collector,
accelerated through the use of SIMD memory copies occur occasionally, as
instructions. There are many such par- confirmed through analysis.
allel data-processing applications that
are easy to write using the SIMD para- Making it Happen
digm. Examples of SIMD tasks that are Some of the problems that arose during
inherently parallel include: 3D graph- the development of the jSIMD API were
ics, real-time physics, video transcod- dependencies between SIMD code and
ing, encryption, and scientific appli- regular Java code, and multiple instan-
cations. Selective versions of these tiations of the API. The integrity of the
applications are usually supported by vector registers during program ex-
custom native code in the virtual ma- ecution is another area of concern. We
chine, whereas our solution gives the found that even though Java does make
programmer the ability to express any SIMD calls on its own, the JVM will not
algorithm, not just the ones built into interrupt the JNI call to our API, and
the interpreter. therefore it will not replace any of the
Execution profiles were obtained contents of the SSE registers on the fly.

42 communi cations o f th e ac m | april 2 0 1 1 | vol. 5 4 | no. 4


practice

The use of SIMD registers can be in- to generic SIMD instructions. Since References
efficient unless data transfer between you have paid for the SIMD unit inside 1. AMD. Aparapi; http://developer.amd.com/zones/java/
aparapi/.
memory and the SIMD unit is reduced. your server, you might as well let your 2. Amedro, B., Bodnartchouk, V., Caromel, D., Delb, C.,
Looking at lists of SIMD operations as programmers use it. Although this Huet, F. and Taboada, G. L. Current state of Java for
HPC. Sophia Antipolis, France, 2008; http://hal.inria.fr/
transactions allows for further analy- work is still in progress, we are confi- docs/00/31/20/39/PDF/RT-0353.pdf.
sis, weighing the performance gain dent that it will be widely adopted for 3. Catanzaro, B., Kamil, S. A., Lee, Y., Asanovi, K.,
Demmel, J., Keutzer, K., Shalf, J., Yelick, K. A. and Fox,
versus the overhead cost. One draw- interpreted languages. A. SEJITS: Getting productivity and performance
back to our approach is that interlac- Users can easily identify paral- with selective embedded JIT specialization. Technical
Report UCB/EECS-2010-23. EECS Department,
ing SSE calls with regular Java code lel operations on vectors and arrays. University of California, Berkeley; http://www.eecs.
may cause thrashing of register files. Interpreted languages need not be berkeley.edu/Pubs/TechRpts/2010/EECS-2010-23.
html.
Our current solution requires the pro- forcefully architecturally agnostic 4. Cheema, M. O. and Hammami, O. Application-specific
grammer to write all SSE code in one and opaque. The time has come for SIMD synthesis for reconfigurable architectures.
Microprocessors and Microsystems 30, 6 (2006),
continuous block so that the JVM does virtual machines to embrace their 398–412.
5. Codeplay. VectorC Compiler Engine; http://www.
not need to execute while the JNI call underlying architectures so that data codeplay.com.
is performed. centers and high-performance ap- 6. Intel Software Network. Intel AVX optimization in
Intel MKL V10.3, 2010; http://software.intel.com/en-
When calling the API to perform plications can fully utilize the avail- us/articles/intel-avx-optimization-in-intel-mkl-v103/.
a sequence of SIMD operations, the able processing infrastructure. It is 7. Intel Software Network. Intel VTune Amplifier XE,
2010; http://software.intel.com/en-us/intel-vtune/.
API packages the operations into a reasonable to expect existing virtual- 8. Nvidia. Adobe and Nvidia announce GPU acceleration
transaction using a simple sequential machine instruction sets to include for Flash player, 2009; http://www.nvidia.com/object/
io 1243934217700.html.
list scheduling algorithm, and then generic SIMD operations. Returning 9. Oracle. JNI enhancements introduced in version 1.2
passes off all of the instructions and some control to the programmer, es- of the Java 2 SDK, 2010; http://download.oracle.com/
javase/1.3/docs/guide/jni/jni-12. html#GetPrimitiveArr
data by reference to the C program, pecially for inherently parallel vector ayCritical.
which executes the SIMD instructions. operations, is an easy step toward a 10. Orc (Oil Runtime Compiler); http://code.entropywave.
com/projects/orc/.
Dependencies with regular Java code, transparent programming experi- 11. Parri, J., Desmarais, J., Shapiro, D., Bolic, M. and Groza,
such as casting before an API execute ence. This argument should not be V. Design of a custom vector operation API exploiting
SIMD within Java. In Proceedings of the Canadian
statement, must occur outside of a confused with the age-old assembly- Conference on Electrical and Computer Engineering
(May 2010).
transaction unless they are done using versus-C sentiment. Generic SIMD 12. Ranganathan, L. 3D gaming on Intel Integrated
the API. Dependency and anti-depen- mappings can retain the abstraction Graphics, 2009; http://software.intel.com/en-us/
articles/3d-gaming-on-intel-integrated-graphics/.
dency resolutions will further improve that already exists in interpreted lan- 13. Rojas, J.C. Multimedia macros for portable optimized
execution time and utilization. guages; all the while the user is un- programs. Ph.D. dissertation, Northeastern University,
2003.
aware of the exact hardware mapping
Looking to the Future with SIMD that is taking place. Users are simply
Interpreted languages can expose vec- given more control to specify what Jonathan Parri (jparri@uottawa.ca) is a Ph.D. candidate
at the University of Ottawa and a senior member of the
tor functionality to the programmer, they believe to be parallel code negat- Computer Architecture Research Group. His current
and the results will be faster, smaller, ing the required re-discovery used by research focuses on design space exploration in the
hardware/software domain, targeting embedded and
and simpler code as demonstrated by a real-time algorithmic approaches. traditional systems.
practical application of this approach SIMD units available in nearly every
using Java. Furthermore, better SIMD desktop and server processor are unde- Daniel Shapiro (dshap092@uottawa.ca) is a Ph.D.
candidate at the University of Ottawa and a senior
utilization within cloud-computing rutilized, especially when using inter- member of the Computer Architecture Research Group.
infrastructures has the potential to re- preted languages. Giving more control His research interests include custom processor design,
instruction-set extensions, IT security, and biomedical
duce costs significantly. to the programmer and the program- engineering.
Improving the scheduling algo- ming syntax allows for successful and
rithm within individual transactions simple mappings with performance Miodrag Bolic (mbolic@site.uottawa.ca) is an associate
professor at the School of Information Technology and
is a future direction that will indeed increases. Virtual machines must ad- Engineering, University of Ottawa, where he also serves
increase performance and through- dress the current challenges of inte- as director of the Computer Architecture Research Group.
His research interests include computer architectures,
put. Another clear next step is to take grating SIMD support. radio frequency identification, and biomedical signal
advantage of multiple cores at the processing.
same time in a real cloud-computing Voicu Groza (groza@site.uottawa.ca) works in the
infrastructure. Related articles School of Information Technology and Engineering
at the University of Ottowa, where he is co-director
Our results can be generalized and on queue.acm.org of the Computer Architecture Research Group. His
included in many virtual machines. For GPUs: A Closer Look research interests include hardware/software co-design,
biomedical instrumentation and measurement, along with
example, Flash would clearly benefit Kayvon Fatahalian, Mike Houston reconfigurable computing.
from further manual SIMD interven- http://queue.acm.org/detail.cfm?id=1365498
tion by the developer for ActionScript
Scalable Parallel Programming with CUDA
computational segments. PHP and Ja- John Nickolls, Ian Buck,
vaScript can also derive benefits from Michael Garland, and Kevin Skadron
such an approach in order to increase http://queue.acm.org/detail.cfm?id=1365500
the speed of Web applications. More Data-Parallel Computing
generally, if you create a virtual ma- Chas. Boyd
chine, you should allow explicit access http://queue.acm.org/detail.cfm?id=1365499 © 2011 ACM 0001-0782/11/04 $10.00

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n ic at i o n s of t he acm 43


practice
doi:10.1145/1924421.1924438
time but possibly lossy and un-
Article development led by
queue.acm.org
sequenced packet delivery to support
packet voice, video, radar, and other
real-time streams.
Knowing where to begin is half the battle. By 1977, I was serving as program
manager for what was then called the
by Thomas A. Limoncelli, Internetting research program at DAR-
With an introduction by Vinton G. Cerf PA (U.S. Defense Advanced Research
Projects Agency) and was confronted

Successful
with the question, “How much address
space is needed for the Internet?”
Every host on every network was as-
sumed to need an address consisting

Strategies for
of a “network part” and a “host part”
that could uniquely identify a particu-
lar computer on a particular network.
Gateways connecting the networks of

IPv6 Rollouts.
the Internet would understand these
addresses and would know how to
route Internet packets from network
to network until they reached the des-

Really.
tination network, at which point the
final gateway would direct the Internet
packet to the correct host on that net-
work.
A debate among the engineers and
scientists working on the Internet ran
for nearly a year without a firm conclu-
sion. Some suggested 32-bit addresses
(8 bits of network, 24 bits of host),
some said 128 bits, and others wanted
variable-length addresses. The last
Th e design of TCP/IP began in 1973 when Robert choice was rejected by programmers
who didn’t want to fiddle around find-
Kahn and I started to explore the ramifications of ing the fields of an Internet packet. The
interconnecting different kinds of packet-switched 128-bit choice seemed excessive for an
networks. We published a concept paper in May experiment that involved only a few
networks to begin with. By this time,
1974,2 and a fairly complete specification for TCP was the research effort had reached its
published in December 1974.1 By the end of 1975, fourth iteration (the IP layer protocol
was called IPv4), and as program man-
several implementations had been completed and ager, I felt a need to get on with live
many problems were identified. Iteration began, testing and final design of TCP and IP.
and by 1977 it was concluded that TCP (by now In lieu of consensus, I chose 32 bits of
address. I thought 4.3 billion potential
called Transmission Control Protocol) should be addresses would be adequate for con-
split into two protocols: a simple Internet Protocol ducting the experiments to prove the
technology. If it worked, then we could
that carried datagrams end to end through packet go back and design the production ver-
networks interconnected through gateways; and a sion. Of course, it is now 2011, and the
TCP that managed the flow and sequencing of packets experiment never exactly ended.
The Internet Corporation for As-
exchanged between hosts on the contemplated signed Names and Numbers (ICANN)
Internet. This split allowed for the possibility of real succeeded Jonathan Postel as the op-

44 communi cations o f th e acm | april 2 0 1 1 | vol . 5 4 | no. 4


The Ipv6 Internet

Lumeta Corporation created this map of the IPv6 Internet using data collected on Feb. 5, 2009. Each end node can represent a handful
of computers on a small network, or perhaps a large company with hundreds of thousands of hosts. (http://www.lumeta.com/IPv6/)
Ma p courtesy of th e lumet ta corporation

erator of what was and still is called Internet addresses), IANA typically al- cated the last five of these large 24-bit
the IANA (Internet Assigned Numbers located 24-bit subsets of the IP address chunks of space.
Authority). IANA historically allocated space (sufficient for 16 million hosts) The Internet Engineering Task
large chunks of address space to end to one of the five regional registries, Force (IETF) recognized in the early
users or, after the commercialization which, in turn, allocated space to ISPs 1990s that there was a high probabil-
of the Internet, to Internet service or, in some cases, very large end us- ity that the address space would be ex-
providers (ISPs). With the creation of ers. As this article was being written, hausted by the rapid growth of the In-
the Regional Internet Registries (for ICANN announced that it had just allo- ternet, and it concluded several years

april 2 0 1 1 | vol. 5 4 | n o. 4 c o m m u n ic at i o n s of t he acm 45


practice

of debate and analysis with the design strategies of organizations that are
of a new, extended address format making the transition. The strategies
called IPv6. (IPv5 was an experiment in that work tend to be those that focus
stream applications that did not scale on specific applications or Web sites
and was abandoned.) IPv6 had a small
number of new features and a format Someday the U.S. rather than trying to convert an entire
organization.
intended to expedite processing, but
its principal advantage was 128 bits
will run out The biggest decision for many orga-
nizations is simply knowing where to
each of source and destination host ad- of three-digit begin. In this article, I consider three
dresses. This is enough for 340 trillion
trillion trillion addresses—enough to
telephone area possible strategies.
The first scenario we present is a
last for the foreseeable future. codes and cautionary tale against what might be
The IPv6 format is not backwards
compatible with IPv4 since an IPv4-
will be forced your first instinct. Though fictional,
we’ve seen this story played out in var-
only host does not have the 128 bits to add a digit. As ious forms. The other two examples
of address space needed to refer to an
IPv6-only destination. It is therefore Vint Cerf explained, have proven to be more successful
approaches. Knowing this, we would
necessary to implement a dual-stack
design that allows hosts to speak to ei-
the Internet is facing offer the following advice to a busi-

ther protocol for the period that both a similar situation. ness contemplating the transition to
IPv6: start with a small, well-defined
are in use. Eventually, address space project that has obvious value to the
will not be available for additional IPv4 business.
hosts, and IPv6-only hosts will become
necessary. Hopefully, ISPs will be able Story 1: “Upgrade Everything!”
to implement IPv6 support before the While having a grand plan of upgrad-
actual exhaustion of IPv4 addresses, ing everything is noble and well inten-
but it will be necessary to allow for tioned, it is a mistake to think this is
dual-mode operation for some years to a good first experiment. There is rarely
come. any obvious value to it (annoys man-
World IPv6 Day is scheduled for agement), it is potentially biting off
June 8, 2011, at which time as many more than you can chew (annoys you),
ISPs as are willing and able will turn and mistakes affect people that you
on their IPv6 support to allow end us- have to see in the cafeteria every day
ers and servers to test the new protocol (annoys coworkers).
on a global scale for a day. The move This strategy usually happens some-
to IPv6 is one of the most significant thing like this: someone runs into the
changes to the Internet architecture boss’s office and says, “Help! Help! We
since it was standardized in the late have to convert everything to IPv6.”
1970s and early 1980s. It will take dedi- This means converting the network
cated effort by many to ensure that us- equipment, Domain Name System
ers, servers, and Internet service and (DNS), Dynamic Host Configuration
access providers are properly equipped Protocol (DHCP) system, applications,
to manage concurrent operation of the clients, desktops, servers. It’s a huge
old and new protocols. project that will touch every device on
Here, Thomas Limoncelli consid- the network.
ers steps that can be taken to achieve These people sound like Chicken
this objective. Little claiming the sky is falling.
—Vinton G. Cerf These people are thrown out of the
boss’s office.
Strategies for Moving to IPv6 A better approach is to go to the
Someday the U.S. will run out of three- boss and say, “There’s one specific
digit telephone area codes and will be thing I want to do with IPv6. Here’s
forced to add a digit. As Vint Cerf ex- why it will help the company.”
plained, the Internet is facing a simi- These people sound focused and
lar situation with its address structure. determined. They usually get funding.
Often predicted and long ignored, the Little does the boss realize this
problem is now real. We have run out “one specific thing” requires touching
of 32-bit IP addresses (IPv4) and are many dependencies. These include
moving to the 128-bit address format the network equipment, DNS, DHCP,
of IPv6. This section looks at some and so on—yes, the same list of things

46 communi cations o f th e acm | april 2 0 1 1 | vol . 5 4 | no. 4


practice

This visualization, from the Cooperative Association for Internet Data Analysis (CAIDA), represents macroscopic snapshots of IPv4 and IPv6
Internet topology samples captured in January 2009.

that Chicken Little was spouting off fer IPv6 service without requiring you There are two problems with this.3
about. to change your Web servers. Those up- First, the translation is expected to be
The difference is these people got grades can be phase two. slow. Second, geolocation will mistak-
permission to do it. Which leads us This is a bite-size project that is enly identify users as being where the
to... achievable. It has a real tangible value server farm is, not where the user is.
that you can explain to management That means if your Web site depends
Story 2: Work from the outside in. without being too technical: “The on advertising that is geotargeted, the
Fundamentally, this second strategy is coming wave of IPv6-only users will advertisements will be appropriate for
to start with your organization’s exter- have faster access to our Web site. the location of server farm; not where
nal Web presence. Usually an external Without this upgrade, those users will your users are. Since LTE is mostly
Web server is hidden behind a hard- have slower access to our site because used in mobile devices, this is particu-
ware device known as a load balancer. of the IPv4/v6 translators that ISPs are larly pressing.
When Web browsers connect to your setting up as a Band-Aid.” That is an Therefore, if your company wants
Web site, they are really connecting explanation that a nontechnical execu- to ensure that the next million or so
to the load balancer. It relays the con- tive can understand. new users have fast access to your Web
nection (being a “man in the middle”) Management may be unconvinced site,9 or if revenue depends on adver-
to the actual Web server. While doing that there will be IPv6-only users. Isn’t tising, then management should be
that, it performs many functions— everyone “dual stack” as previously concerned.
most importantly it load-shares the described? Most are, but LTE (“4G”) Most CEOs can understand simple,
incoming Web traffic among two or phones and the myriad other LTE- nontechnical, value statements such
more redundant Web servers. equipped mobile devices will eventu- as “New people coming onto the Inter-
In this strategy the goal is simple: ally be IPv6-only. ARIN (American Reg- net will have better access to our site,”
upgrade to IPv6 every component on istry for Internet Numbers) advised or “It is required to insure that high-
the path from your ISP to your load LTE providers that IPv4 depletion is paying, geotargeted advertisements,
Visua liz ation c ourt esy of ca ida

balancer and let the load balancer imminent and LTE providers have pre- continue to work.”
translate to IPv4 for you. Modern load pared for a day that new LTE users will A project like this requires only
balancers can receive IPv6 connec- be IPv6-only.10 Obviously this new wave modest changes: a few routers, some
tions in the “front” and send IPv4 con- of IPv6-only users will want to access DNS records, and so on. It is also a safe
nections out the “back” to your Web IPv4-only sites, so the carriers are set- place to make changes because your
servers. That is, your load balancer can ting up massive farms of servers to do external Web presence has a good, sol-
be a translator that permits you to of- the translation.4 id testing regimen for making changes

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n ic at i o n s of t he acm 47


practice

in a test environment, which gate to on your TV set is IPv6 even though the 3. Proposing a high-value reason
a QA environment before hitting the cable modem sitting next to it is provid- (your “one thing”) to use IPv6 is most
production environment. Right? ing IPv4 Internet service.7 Comcast had likely to get management approval.
Once IPv6 is enabled from the ISP to get IPv6 working for anything that There are no simple solutions, but
to the load balancer, and the load bal- touches the management of its net- there are simple explanations. Convert
ancer is accepting IPv6 connections work: provisioning, testing, monitor- that “one thing” and keep repeating
but sending out IPv4 connections to ing, billing. Wait, billing? Well, if you the value statement that got the proj-
the Web farm, new opportunities pres- are touching the billing system, you are ect approved, so everyone understands
ent themselves. As each Web server be- basically touching a lot of things. Ooh, why you are doing this. Your success
comes IPv6 ready, the load balancer no shiny dependencies. (This is why we here will lead other projects.
longer needs to translate for that host. put “one thing” in quotes.) The person For a long time IPv6 was safe to ig-
Eventually your entire Web farm is from Story 1 must be jealous. nore as a “future requirement.” Now
dual stack. This technique provides a At the same symposium Nokia that IPv4 address space is depleted, it
throttle to control the pace of change. presented a success story that also is time to take this issue seriously. Yes,
You can make small changes, one at a involved finding “one thing,” which really.
time, testing along the way. turned out to be power consumption.
In doing so you will have upgraded Power consumption, you say? Yes. Its
the routers, DNS server, and other phones waste battery power by send- Related articles
on queue.acm.org
components. While your boss would ing out pings to keep the NAT (network
shriek if you had asked to change every address translation) session alive. By DNS Complexity
Paul Vixie
layer of your network stack, you have switching to IPv6, Nokia did not need
http://queue.acm.org/detail.cfm?id=1242499
essentially done just that. to send out pings—no NAT, no need to
Of course, once you have completed keep the NAT session alive. Its phones A Conversation with Van Jacobson
this and shown that the world didn’t can turn off their antennae until they http://queue.acm.org/detail.cfm?id=1508215
end, developers will be more willing to have data to send. That saves power. In Principles of Robust Timing
test their code under IPv6. You might an industry where battery life is every- over the Internet
Julien Ridoux, Darryl Veitch
need to enable IPv6 to the path to the thing, any executive can see the value.
http://queue.acm.org/detail.cfm?id=1773943
QA lab. That’s another bite-size proj- (A video from Google’s IPv6 summit
ect. Another path will be requested. details Nokia’s success.5)
References
Then another. Then the LAN that the In the long term we should be con- 1. Cerf, V., Dalal, Y., Sunshine, C. 1RFC 675. Specification
developers use. Then it makes sense to cerned with converting all our net- Internet Transmission Control Program, 1974.
2. Cerf, V., Kahn, R.E. A protocol for packet network
do it everywhere. You’ve now achieved works and equipment to IPv6. The pat- intercommunication. IEEE Transactions on
the goal of the person from Story 1, but tern we see, however, is that successful Communications 22, 5 (1974), 637–648.
3. Donley, C., Howard, V., Kuarsingh, V., Chandrasekaran,
you’ve gotten management approval. projects have selected one specific A. and Ganti, V. Assessing the impact of NAT444 on
During Google’s IPv6 efforts we thing to convert, and let all the depen- network applications; http://tools.ietf.org/html/draft-
donley-nat444-impacts-01/
learned that this strategy works really dencies come along for the ride. 4. Doyle, J. Understanding carrier-grade NAT (2009);
well. Most importantly we learned that http://www.networkworld.com/community/
node/44989.
it turned out to be easier and less ex- Summary 5. Google IPv6 Conference. IPv6, Nokia, and
pensive than expected.8 IPv4 address space is depleted. People Google (2008); http://www.youtube.com/
watch?v=o5RbyK0m5OY.
who have been ignoring IPv6 for years 6. Google IPv6 Implementors Conference; http://sites.
Story 3: “One Thing” need to start paying attention. It is google.com/site/ipv6implementors/2010/agenda.
7. Kuhne, M. IPv6 monitor: an interview with Alain
This story involves a strategic approach real—and really important. IPv6 de- Durand (2009); https://labs.ripe.net/Members/
mirjam/content-ipv6-monitor.
in which an organization picked a sin- ployment projects seem to be reveal- 8. Marsan, C.D. Google: IPv6 is easy, not expensive
gle application—its “one thing”—and ing two successful patterns and one (2009); http://www.networkworld.com/
news/2009/032509-google-ipv6-easy.html.
mounted a focused effort to move it to unsuccessful pattern. The unsuccess- 9. Miller, R. The billion-dollar HTML tag (2009);
IPv6. Again, being focused appealed ful pattern is to scream that the sky is http://www.datacenterknowledge.com/
archives/2009/06/24/the-billion-dollar-html-tag/.
to management and still touched on falling and ask for permission to up- 10. Morr, D. 2010. T-Mobile is pushing IPv6. Hard
many of the upgrades requested by our grade “everything.” (2010); http://www.personal.psu.edu/dvm105/blogs/
ipv6/2010/06/t-mobile-is-pushing-ipv6-hard.html.
Chicken Little. The lessons we have learned:
Comcast presented a success story 1. Proposals to convert everything
at the 2008 Google IPv6 Symposium,6 sound crazy and get rejected. There is Vinton G. Cerf is Google’s vice president and chief
Internet evangelist. As one of the “Fathers of the
demonstrating how it chose one stra- no obvious business value in making Internet,” Cerf is the codesigner of the Internet’s TCP/
tegic thing to upgrade: the set-top such a conversion at this time. IP protocols and architecture. He holds a B.S. degree in
mathematics from Stanford University and M.S. and Ph.D.
box management infrastructure. Ev- 2. Work from the outside in. A load degrees in computer science from UCLA.
ery set-top box needs an IP address so balancer that does IPv6-to-IPv4 trans- Thomas A. Limoncelli is an author, speaker, and system
the management system can reach it. lation will let you offer IPv6 to external administrator. His books include The Practice of System
and Network Administration (Addison-Wesley, 2007) and
That’s more IPv4 addresses than Com- customers now, gives you a “fast win” Time Management for System Administrators (O’Reilly,
cast could reasonably get allocated. that will bolster future projects, and 2005). He works at Google in New York City and blogs at
http://EverythingSysadmin.com/
Instead it used IPv6. If you get Internet provides a throttle to control the pace
service from Comcast, the set-top box of change. © 2011 ACM 0001-0782/11/04 $10.00

48 communi cations o f th e acm | april 2 0 1 1 | vol . 5 4 | no. 4


doi:10.1145/1924421 . 1 9 2 4 4 3 6

Article development led by


queue.acm.org

Contrary to popular belief, SQL and noSQL


are really just two sides of the same coin.
by Erik Meijer and Gavin Bierman

A Co-Relational
Model of Data
for Large
Shared
Data Banks
Fu eled by t heir promise to solve the problem of
distilling valuable information and business insight
from big data in a scalable and programmer-friendly
way, noSQL databases have been one of the hottest
topics in our field recently. With a plethora of
open source and commercial offerings (Membase,

CouchDB, Cassandra, MongoDB, nopolistically competitive markets


Riak, Redis, Dynamo, BigTable, Ha- are inconsistent with the conditions
doop, Hive, Pig, among others) and a for perfect competition. Hence in the
surrounding cacophony of technical long run monopolistically competitive
terms (Paxos, CAP, Merkle trees, gos- firms will make zero economic profit.
sip, vector clocks, sloppy quorums, In the early 1970s, the database
MapReduce, and so on), however, it is world was in a similar sorry state.14 An
hard for businesses and practitioners overabundance of database products
to see the forest for the trees. The cur- exposed many low-level implementa-
rent noSQL market satisfies the three tion details and, as database people
characteristics of a monopolistically like to say, forced programmers to
competitive market: the barriers to work at the physical level instead of the
entry and exit are low; there are many logical level. The landscape changed
small suppliers; and these suppliers radically when Ted Codd proposed a
produce technically heterogeneous, new data model and a structured query
highly differentiated products.12 Mo- language (SQL) based on the math-

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n i c at i o n s of t he acm 49


practice

Figure 1. Object graph for Products collection. riers to entry are high, and all existing
SQL-based relational database prod-
ucts are largely indistinguishable. Oli-
0
gopolies can retain high profits in the
long run; today the database industry
is worth an estimated $32 billion and
Title Author Year Pages Keywords Ratings still growing in the double digits.
1979 320 In this article we present a mathe-
matical data model for the most com-
mon noSQL databases—namely, key/
value relationships—and demonstrate
Chars Chars 0 1 2 that this data model is the mathemati-
The Right Stuff Tom Wolfe cal dual of SQL’s relational data model
of foreign-/primary-key relationships.
Following established mathematical
Chars Chars Chars nomenclature, we refer to the dual
Book Hardcover American of SQL as coSQL. We also show how a
0 1
single generalization of the relational
algebra over sets—namely, monads
and monad comprehensions—forms
Chars Chars
the basis of a common query language
4 stars **** for both SQL and noSQL. Despite
common wisdom, SQL and coSQL are
not diabolically opposed, but instead
Figure 2. Object graph result for books with four star rating. deeply connected via beautiful math-
ematical theory.
Just as Codd’s discovery of rela-
0 tional algebra as a formal basis for SQL
shifted the database industry from a
Title Author Year Pages Keywords Ratings
monopolistically competitive market
1979 320 to an oligopoly and thus propelled a
0
billion-dollar industry around SQL and
foreign-/primary-key stores, we believe
Chars

Title Keywords Tom Wolfe 1 that our categorical data-model formal-


0
ization and monadic query language
will allow the same economic growth
Chars Chars
4 stars
to occur for coSQL key-value stores.
****

Chars 0 1 2 Objects Versus Tables


The Right Stuff
To set the scene let’s look at a simple
example of products with authors and
recommendations as found in the Am-
Chars Chars Chars azon SimpleDB samples, and imple-
Book Hardcover American ment it using both object graphs and
relational tables.
While we don’t often think of it this
way, the RAM for storing object graphs
ematical concept of relations and for- the relational model and SQL created is actually a key-value store where keys
eign-/primary-key relationships.4 In a secondary network effect around are addresses (l-values) and values are
the relational model, data is stored in complementary producers such as the data stored at some address in
conceptually simple containers (tables educators, tool vendors, consultants, memory (r-values). Languages such as
of rows), and queries over this data are etc., all targeting the same underlying C# and Java make no distinction be-
expressed declaratively without knowl- mathematical principles. Differences tween r-values and l-values, unlike C or
edge of the underlying physical storage between actual relational database C++, where the distinction is explicit.
organization. implementations and SQL dialects be- In C, the pointer dereference opera-
Codd’s relational model and SQL al- came to a large extent irrelevant.7 tor *p retrieves the value stored at ad-
lowed implementations from different Today, the relational database mar- dress p in the implicit global store. In
vendors to be (near) perfect substitutes, ket is a classic example of an oligopoly. the rest of this article we conveniently
and hence provided the conditions for The market has a few large players (Or- confuse the words object (graph) and
perfect competition. Standardizing on acle, IBM, Microsoft, MySQL), the bar- key-value store.

50 communications of th e ac m | a p r i l 2 0 1 1 | vo l . 5 4 | n o. 4
practice

In C# (or any other modern ob- (written here as rating==>rating == and Ratings. Later we will decorate
ject-oriented language) we can model “****”), or inner-classes such as Objec- these class declarations with additional
products using the following class dec- tive-C, Ruby, Python, JavaScript, Java, metadata to reflect the underlying data-
laration, which for each product has or C++. The C# compiler translates the base tables.
scalar properties for title, author, pub- previous query to the following de-sug- In most commercial relational data-
lication date, and number of pages, ared target expression: base systems, tables are defined by exe-
and which contains two nested collec- cuting imperative CREATE TABLE DDL
tions—one for keywords and another var q = Products.Where(product==> (data definition language) statements.
for ratings: product.Ratings.
 As usual in the relational world,
Any(rating rat- we do not model the individual col-
class Product ing == “****”)). lections of keywords and ratings for
{ Select(product==> each product as separate entities, but
string Title; new{ product.Title, product.
 instead we directly associate multiple
string Author; Keywords }); keywords and ratings to a particular
int Year; product. This shortcut works only for
int Pages; The various values in the query re- one-to-many relationships. The stan-
IEnumerable<string> Keywords; sult, in particular the Keywords col- dard practice for many-to-many rela-
IEnumerable<string> Ratings; lection, are fully shared with the origi- tionships (multivalued functions) re-
} nal object graph, and the result is a quires intersection tables containing
Given this class declaration, we can perfectly valid object graph, shown in nothing but pairs of foreign keys to
use object initializers to create a prod- Figure 2. link the related rows.
uct and insert it into a collection using Now let’s redo this example using Perhaps surprisingly for a “declara-
collection initializers: the relational model. First of all, we tive” language, SQL does not have ex-
must normalize our nested Product pressions that denote tables or rows
var _ 1579124585 = new Product class into three flat tables, for Prod- directly. Instead we must fill the three
{ ucts, Keywords, and Ratings respec- tables in an imperative style using
Title = “The Right Stuff”, tively, as shown in Figure 3. Each value loosely typed DML statements, which
Author = “Tom Wolfe”, in the relational world requires a new we express in C# as shown in Figure 4.
Year = 1979, primary key property (here all called These DML statements create three
Pages = 320, ID). Furthermore, the Keywords and tables filled with the rows as shown in
Keywords = new[]{ “Book”, “Hardcover”, Ratings tables require an additional Figure 5.
“American” }, foreign-key property ProductID that An important consequence of nor-
Ratings = new[]{ “****”, “4 stars” }, encodes the one-to-many association malizing a single type into separate
} between Products and Keywords tables is that the database must main-
var Products = new[]{ _ 1579124585 };
Figure 3. Data declaration for Product database.
The program produces in memory
the object graph shown in Figure 1. class Products class Keywords class Ratings
{ { {
Note that the two nested collections int ID; int ID;
int ID;
for the Keywords and Ratings prop- string Title; string Keyword; string Rating;
erties are both represented by actual string Author; int ProductID; int ProductID;
objects with their own identity. int Year; } }
int Pages;
Using the LINQ (Language Inte- }
grated Query) comprehension syntax
introduced in C# 3.0,11 we can find the
titles and keywords of all products that
have four-star ratings using the follow- Figure 4. Inserting values into Product database.
ing query:
Products.Insert Keywords.Insert Ratings.Insert
var q = from product in Products ( 1579124585 ( 4711, “Book” ( 787, “****”
where product.Ratings.Any(rating
 , “The Right Stuff” , 1579124585 , 1579124585
, “Tom Wolfe” ); );
rating == “****”)
, 1979 Keywords.Insert Ratings.Insert
select new{ product.Title, prod
 , 320 ( 1843, “Hardcover” ( 747, “4 stars”
uct.Keywords }; ); , 1579124585 , 1579124585
); );
Keywords.Insert
The LINQ comprehension syntax is ( 2012, “American”
just syntactic sugar for a set of standard , 1579124585
query operators that can be defined in );
any modern programming language
with closures, lambda expressions

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n i c at i o n s of t he acm 51


practice

Figure 5. Relational tables for Product database. diately see that SQL lacks composition-
ality; since there is no recursion, rows
can contain only scalar values:
ID Rating ProductID
Ratings

787 **** 1579124585 row ::= new { …, name = scalar, … }


747 4 stars 1579124585
Compare this with the definition
Products

ID Title Author Year Pages for anonymous types, where a row can
1579124585 The Right Stuff Tom Wolfe 1979 304 contain arbitrary values, including oth-
er rows (or nested collections):

ID Keyword ProductID value ::= new { …, name = value, … }


Keywords

4711 Book 1579124585 | scalar


1843 Hardcover 1579124585
2012 American 1579124585
SQL is rife with noncompositional
features. For example, the semantics
of NULL is a big mess: why does add-
ing the number 13 to a NULL value,
tain referential integrity to ensure that: tradiction with distribution and scale- 13+NULL, return NULL, but summing
the foreign-/primary-key relationships out. The bigger the world, the harder it the same two values, SUM(13, NULL),
across related tables remain synchro- is to keep closed. returns 13?
nized across mutations to the tables Returning to our example, we pres- Also, even though query optimiz-
and rows; the primary key of every row ent the naïve query to find the titles ers in modern SQL implementations
remains unique within its table; and and keywords of all products that have are remarkably powerful, the original
foreign keys always point to a valid pri- four stars, expressed directly in terms query will probably run in cubic time
mary key. For example, we cannot de- of the relational model. It creates the when implemented via three nested
lete a row in the Products table with- cross-product of all possible combina- loops that iterate over every value in
out also deleting the related rows in the tions of Products, Keywords, and the three tables. A seasoned SQL pro-
Keywords and Ratings tables. Ratings, and selects only the title and grammer would instead use explicit
Referential integrity implies a keyword where the keyword and rating join syntax to ensure that the query is
closed-world assumption where transac- are related to the product and the rat- as efficient as our object-based query:
tions on the database are serialized by ing has four stars:
(conceptually) suspending the world var q = from product in Products
synchronously, applying the required var q = from product in Products join rating in Ratings on

changes, and resuming the world again from rating in Ratings product.ID equals rating.
when referential integrity has been re- from keyword in Keywords ProductId
stored successfully, rolling back any  where product.ID == rating. where rating == “****”

chances otherwise. Assuming a closed ProductId select product into FourStar-

world is, as we claim, both a strength && product.ID == keyword.
 Products
and a weakness of the relational mod- ProductID from fourstarproduct in

el. On the one hand, it simplifies the && rating == “****” FourStarProducts
life of developers via ACID (atomic-  select new{ product.Title, join keyword in Keywords on

ity, consistency, isolation, durability) keyword.Keyword }; product.ID equals keyword.
transactions (although in practice, for ProductID
efficiency, one must often deal with The result of this query is the row select new{ product.Title,

much weaker isolation levels) and al- set shown in Figure 6. Disappointingly, keyword.Keyword };
lows for impressive (statistics-based) this row set is not itself normalized.
query optimization. The closed-world In fact, to return the normalized Depending on the encoding of the
assumption, however, is in direct con- representation of our object-graph nesting of the result of a join using flat
query, we need to perform two queries result sets, the SQL programmer must
Figure 6. Tabular result for books with (within a single transaction) against choose among various flavors of IN-
four-star ratings.
the database: one to return the title NER, OUTER, LEFT, and RIGHT joins.
and its primary key, and a second query
that selects the related keywords. Impedance Mismatch
Title Keyword
What we observe here is SQL’s lack In 1984 George Copeland and David
Keywords

The Right Stuff Book of compositionality—the ability arbi- Maier recognized the impedance mis-
The Right Stuff Hardcover trarily to combine complex values from match between the relational and the
The Right Stuff American simpler values without falling outside object-graph model just described,5
the system. By looking at the grammar and in the quarter century since, we
definition for table rows, we can imme- have seen an explosion of O/R (object-

52 communications o f th e ac m | april 2 0 1 1 | vol . 5 4 | no. 4


practice

relational) mappers that attempt to is necessarily more complex than we to the relationship between Prod-
bridge the gap between the two worlds. started with since we are forced to in- ucts and Ratings and Products
A more skeptical view of O/R map- troduce explicit representations for and Keywords, respectively. For each
pers is that they are undoing the dam- Rating and Keyword collections that product in the Products table, the rat-
age caused by normalizing the original did not exist in our original object ings index contains the collection of all
object model into multiple tables. For model. The existence of the various related ratings:
our running example this means that foreign- and primary-key properties is
we have to add back information to further evidence that the O/R mapping from rating in Ratings where rating.
the various tables to recover the rela- abstraction is leaky. ProductID == product.ID
tionships that existed in the original Aside from those small differences, select rating;
model. In this particular case we use the net result of all this work is that
the LINQ-to-SQL custom metadata we can now write the query to find all Similarly, for each product in the
annotations; other O/R mappers use products nearly as concisely as we did Product table, the keywords index
similar annotations, which often can before normalization: contains the collection of all key-
be inferred from naming conventions words related to that product:
of types and properties. var q = from product in Products
where product.Ratings.Any(rating
 from keyword in Keywords where key-
[Table(name=“Products”)] rating.Rating == “****”) word.ProductID == product.ID
class Product select new{ product.Title, prod-
 select keyword;
{ uct.Keywords };
[Column(PrimaryKey=true)]int ID; If we visualize the indexes as addi-
[Column]string Title; Since the results must be rendered tional columns on the Products table,
[Column]string Author; as object graphs, the O/R mapper will the reversal of the original relation-
[Column]int Year; make sure that the proper nested re- ships between the tables becomes ap-
[Column]int Pages; sult structures are created. Unfortu- parent. Each row in the Products table
 private EntitySet<Rating> _ Rat- nately, not every O/R mapper does this now has a collection of foreign keys
ings; efficiently.9 pointing to the Keywords and Ratings
 [Association( Storage=“ _ Ratings”, It is not only the programmer who tables much as the original object
ThisKey=“ID”,OtherKey=“ProductID“ needs to recover the original structure graph, as shown in Figure 7.
 ,DeleteRule=“ONDELETECASCADE”)] of the code. The database implement- One of the advantages touted for
 ICollection<Rating> Ratings{ … } er must also jump through hoops to normalization over hierarchical data is
make queries execute efficiently by the ability to perform ad-hoc queries—
private EntitySet<Keyword> _ Key- building indexes that avoid the poten- that is, to join tables on conditions not
words; tial cubic effect that we observed ear- envisioned in the original data model.
[Association( Storage=“ _ Keywords”, lier. For one-to-many relationships, For example, we could try to find all
ThisKey=“ID” indexes are nothing more than nested pairs of products where the length of
,OtherKey=“ProductID”, collections resulting from precom- the title of one product is the same as
DeleteRule=“ONDELETECASCADE”)] puting joins between tables to quickly the length of the author’s name in the
ICollection<Keyword> Keywords{ … } find all the rows whose foreign keys other using the following query:
} point to a row with a particular pri-
mary key. Since the relational model from p1 in Products
[Table(name=“Keywords”)] is not closed under composition, how- from p2 in Products
class Keyword ever, the notion of index has to be de- where p1.Title.Length == p2.Author.
{ fined outside the model. Length
[Column(PrimaryKey=true)]int ID; Two natural indexes correspond select new{ p1, p2 };
[Column]string Keyword;
 [Column(IsForeignKey=true)]int Pro- Figure 7. Keyword and Ratings index on Products table.
ductID;
}
Keywords
[Table(name=“Ratings”)]
ID Title Author Year Pages 4711 1843 2012
class Rating
1579124585 The Right Stuff Tom Wolfe 1979 304 Ratings
{
787 747

[Column(PrimaryKey=true)]int ID;
[Column]string Rating; ID Keyword ProductID ID Rating ProductID
[Column(IsForeignKey=true)]int Pro- 4711 Book 1579124585 787 **** 1579124585
ductID; 1843 Hardcover 1579124585 747 4 stars 1579124585
} 2012 American 1579124585

Note that the resulting object model

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n ic at i o n s of t he acm 53


practice

Without an index, however, this noSQL is coSQL identity of objects is intensional—that


query requires a full table scan and At this point it feels like the conceptual is, object identity is not part of the
hence takes quadratic time in the dissonance between the key-value and values themselves but determined
length of the Products table. foreign-/primary-key data models is by their keys in the store. In the rela-
The ability to create indexes makes insurmountable. That would be a pity tional model, object identity is exten-
a closed-world assumption. For exam- since clearly each has its strengths and sional—that is, object identity is part
ple, if we modify the previous ad-hoc weaknesses. Wouldn’t it be great if we of the value itself, in the form of a pri-
query to find all pairs of Web pages could give a more mathematical expla- mary key.
where one page has a URL referencing nation of where the relational model ˲˲ Modulo the notion of object iden-
the other, it should be obvious that shines and where the object-graph tity, the two representations are ex-
building an index for this join is quite model works best? As it turns out, we tremely similar; the only difference is
a hard task when you do not have the can find the answer to this question by that the arrows are reversed!
whole Web available inside a single taking a closer look at the (in-memory) At this point, it appears there is a
database: structures created for our running ex- strong correspondence between these
ample in both models. two representations: they both con-
from p1 in WWW Let’s start by slightly simplifying the sist of a collection of elements (ob-
from p2 in WWW object-graph example. We do so by re- jects or rows) and a collection of ar-
where p2.Contains(p1.URL) moving the object identity of the Rat- rows between the elements, the only
select new{ p1, p2 }; ings and Authors collections to reflect difference being the direction of the
more directly how they are modeled in arrows. Is there some precise way of
Summarizing what we have the relational world. We inline the Key- describing such a situation? Fortu-
learned so far, we see that in order words and Ratings items directly into nately, there is an entire area of math-
to use a relational database, start- the parent Product, as if we had value- ematics designed exactly for this: cat-
ing with a natural hierarchical object based collections. Pictorially, we move egory theory.1
model, the designer needs to normal- from the diagram on the left to the one Obviously, the precise formaliza-
ize the data model into multiple types on the right in Figure 8: tion of SQL and noSQL as categories is
that no longer reflect the original in- For the tabular representation, we outside the scope of this article, but it
tent; the application developer must show explicit arrows for the relation- is illustrative to learn a little bit of cate-
reencode the original hierarchical ship from foreign keys to primary keys. gory theory nonetheless. Category the-
structure by decorating the normal- Again, pictorially, we move from the ory arose from studies of mathemati-
ized data with extra metadata; and, fi- diagram on the left to the one on the cal structures and an attempt to relate
nally, the database implementer has right in Figure 9: classes of structures by considering
to speed up queries over the normal- When we do a side-by-side compari- the relations between them. Thus, cat-
ized data by building indexes that es- son of the two rightmost diagrams, we egory theory expresses mathematical
sentially re-create the original nested notice two interesting facts: concepts in terms of objects, arrows be-
structure of the data as well. ˲˲ In the object-graph model, the tween objects, and the composition of

Figure 8. Object graph for Products collection with keywords and ratings inlined.

0 Title Author Year Pages Keywords Ratings


The Right Stuff Tom Wolfe 1979 320

Title Author Year Pages Keywords Ratings


1979 320
Chars
Chars
American
****
Chars Chars 0 1 2
Chars
The Right Stuff Tom Wolfe Chars
Hardcover
4 stars

Chars
Chars Chars Chars
Book
Book Hardcover American
0

Chars Chars
4 stars ****

54 communications o f th e ac m | april 2 0 1 1 | vol. 5 4 | no. 4


practice

Figure 9. Relational tables for Products database with explicit relationships.

ID Rating ProductID ID Rating ProductID


787 **** 1579124585 787 **** 1579124585
747 4 stars 1579124585 747 4 stars 1579124585

ID Title Author Year Pages ID Title Author Year Pages


1579124585 The Right Stuff Tom Wolfe 1979 304 1579124585 The Right Stuff Tom Wolfe 1979 304

ID Keyword ProductID ID Keyword ProductID


4711 Book 1579124585 4711 Book 1579124585
1843 Hardcover 1579124585 1843 Hardcover 1579124585
2012 American 1579124585 2012 American 1579124585

arrows, along with some axioms that In the SQL category, child nodes involve a computation, which in a truly
the composition of arrows should sat- point to parent nodes when the for- open world has potential latency and
isfy. A computational view of category eign key of a child node equals the may fail. For example, in the C# lan-
theory is that it is a highly stylized, primary key of the parent node (Fig- guage getters and setters, known as
compact functional language. Small ure 10). In the noSQL category, the ar- properties, can invoke arbitrary code.
as it is, it’s enough to represent all of rows are reversed. Parent nodes point Perhaps an even better example of a
mathematics. For computer scientists, to child nodes when the child pointer computation-driven key-value store
category theory has proved to be a rich in the parent equals the address of the with long latency and high probabil-
source of techniques that are readily child node in the store (see Figure 11). ity of failure (always able to handle a
applicable to many real-world prob- In other words, the noSQL category 404) is the Web, with URI (Uniform
lems. For example, Haskell’s approach is the dual of the SQL category—noSQL Resource Identifier) as keys, “resourc-
to modeling imperative programming is really coSQL. The implication of this es” as values, and the HTTP verbs as
is lifted straight from a categorical duality is that coSQL and SQL are not a primitive query and data-manipula-
model of the problem. in conflict, like good and evil. Instead tion language. On the other hand, in
The first powerful concept from cat- they are two opposites that coexist in a C-like key-value memory model, we
egory theory that we will use is duality. harmony and can transmute into each usually make the simplifying assump-
Examples of duality abound in com- other like yin and yang. Interestingly, tion that a key lookup in memory takes
puter science. Every programmer is in Chinese philosophy yin symbolizes constant time and does not fail.
familiar with the two dual forms of De open and hence corresponds to the Traversing a relationship in the
Morgan’s law: open world of coSQL, and yang sym- closed world of the relational model in-
bolizes closed and hence corresponds volves comparing two values for equal-
!(a && b) == (!a)||(!b) to the closed world of SQL. ity, which is guaranteed to succeed be-
!(a||b) == (!a)&&(!b) Because SQL and coSQL are math- cause of referential integrity; and vice
ematically dual, we can reason pre- versa, referential consistency dictates
Other examples of dualities in com- cisely about the tradeoffs between the that relationships are value-based.
puter science are between reference two instead of relying on rhetoric and Otherwise, we could never be sure that
counting and tracing garbage collec- anecdotal evidence. The accompany- referential consistency actually holds.
tion, between call-by-value and call-by- ing table gives a number of statements Note that comparing keys by val-
name, between push- and pull-based and their duals as they hold for SQL and ue requires that objects in the SQL
collections, and between transaction- coSQL, respectively. category are strongly typed, at least
al memory and garbage collection, If we really take the duality to heart, enough to identify primary and for-
among many others. we may also choose to (but don’t have eign keys; and dually, since we do not
Formally, given a category C of ob- to) fine-tune our model for key-value need to know anything about the value
jects and arrows, we obtain the dual stores to reflect the duality between of a coSQL object to find it using its
category co(C) by reversing all the ar- values and computations, and that key, objects in the coSQL world can be
rows in C. If a statement T is true in C, between synchronous ACID and asyn- loosely typed.
then its dual statement co(T) is true chronous BASE (basically available,
in the dual category co(C). In the con- soft state, eventually consistent).13 Relationship to the Real World
text of this article, we can read “oppo- Looking up a value given its ad- Our abstract model of the SQL category
site statement” for “dual statement”. dress or key in a key-value story can did not impose any restrictions on the

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n ic at i o n s of t he acm 55


practice

Figure 10. SQL arrow from child to parent. eign-/primary-key model are simply by collections of values. Pure relation-
blobs and keys are strings, then the al algebra is based on sets of rows,
dual key-value model is exactly the but actual relational databases use
C P HTML5 key-value storage model: multisets (bags) or ordered multisets
(permutations). To model collections
interface Storage { abstractly, we look at sets/bags/per-
readonly attribute unsigned long
 mutations of rows and apply the cat-
length; egory theory dictum: “What is the in-
Figure 11. coSQL arrow from parent to getter DOMString key(in unsigned
 terface that these various collections
child.
long index); of rows implement?” and “How do we
getter any getItem(in DOMString
 generalize queries based on such an
C P key); interface?”
setter creator void setItem(in DOM-
 First, let us stick with simple set col-
String key, in any data); lections. When we write a SQL query
deleter void removeItem(in DOM-
 such as
structure of rows; we assumed only String key);
that we could determine a primary or void clear(); SELECT F(a,b)
foreign key to relate two rows. } FROM as AS a, bs AS b
In the typical relational model we WHERE P(a,b)
would further impose the constraint A Little More Category Theory
that rows consist of flat sequences of So far we have discussed the basic data the SQL compiler translates that pretty
scalar values (the so-called First Nor- models for SQL and coSQL, but we syntax into a relational-algebra expres-
mal Form, or 1-NF). If we dualize rela- have not yet touched upon queries. By sion in terms of selection, projection,
tions in 1-NF, then we get a key-value applying a little more category theory joins, and Cartesian product. As is the
model where values consist of either we can show how a single abstraction, custom in the relational world, the
scalars or keys or collections of scalars monads and monad comprehensions, various operations are denoted using
or keys. Surprisingly, this is precisely can be used as a unified query language Greek symbols:
the Amazon SimpleDB data model (see for both SQL and coSQL.
Figure 12). To talk about queries, we need to πF(σP(as×bs))
If we assume that rows in the for- be more precise about what we mean
There is no reason to restrict the re-
Consequences of the duality between SQL and coSQL. lational algebra operators to work over
just sets (or bags, or permutations) of
rows. Instead, we can define similar
SQL coSQL operators on any collection M<T> of
Children point to parents Parents point to children values of arbitrary type T.
Closed world Open world The interface for such abstract col-
Entities have identity (extensional) Environment determines identity (intensional) lections M<T> is a straightforward gen-
Necessarily strongly typed Potentially dynamically typed eralization of that of sets. It allows us
Synchronous (ACID) updates Asynchronous (BASE) updates within to create an empty collection using the
across multiple rows single values
constant ∅; create a singleton collec-
Environment coordinates changes Entities responsible to react to changes
tion of type M<T> given some value of
(transactions) (eventually consistent)
type T using the function {_} T→M<T>
Value-based, strong reference Computation-based, weak reference
(referentially consistent) (expect 404) (the notation T→M<T> denotes a func-
Not compositional Compositional tion/closure/lambda expression that
Query optimizer Developer/pattern maps an argument value of type T to
a result collection of type M<T>); and
combine two collections into a larger
collection using the binary operator ∪
(depending on the commutativity and
Figure 12. Amazon SimpleDB representation of Products collection. idempotence of ∪, we obtain the vari-
ous sorts of collections such as lists,
permutations, bags, and sets):
Title Author Year Pages Keyword Rating
The Right Stuff Tom Wolfe 1979 304 Hardcover **** ∅ Î M<T>
American {_} Î T → M<T>
4 stars
Book ∪ Î M<T>×M<T> → M<T>

Using these constructors, we can


generalize the traditional relational

56 communi cations o f th e ac m | april 2 0 1 1 | vol. 5 4 | no. 4


practice

algebra operators (selection σP, pro- Figure 13. Foreign key relationships The openness of the coSQL model
jection πF, and Cartesian product ×) to between three relational tables. eases scalable implementations across
operate over generalized collections large numbers of physically distribut-
using the following signatures: ed machines.
S T U When using LINQ to query SQL
σP Î M<T>×(T→bool) → M<T> databases, typically similar rows
πF Î M<T>×(T→S) → M<S> are stored in tables of some con-
× Î M<T>×M<S> → M<T×S> crete type that implements the
IQueryable<T> interface. Relation-
In fact, if we assume a single opera- ships between rows are lifted to bulk
tor for correlated subqueries, which we operations over collections that per-
call SelectMany, but is often called form joins across these tables; hence,
CROSS APPLY in SQL queries take any number of related
tables and from those produce a new
SelectMany Î M<T>×(T→M<S>) → M<S> one. Pictorially for three tables, this is
Figure 14. Collection of coSQL documents. shown in Figure 13.
then we can define the other operators Because relationships in SQL cross
in terms of this single one, as follows: different tables, it is nontrivial to parti-
tion the single closed world into inde-
σP(as) = SelectMany(as, a ⇒P(a)?{a}:∅) S pendent worlds of “strongly connect-
πF(as) = SelectMany(as, a ⇒{F(a)}) ed” components that can be treated
as×bs = SelectMany(as, independently. In a closed world, how-
a ⇒π(b ⇒(a,b),bs)) ever, query optimizers can leverage all
the information and statistics that are
Rather incredibly, an interface of available about the various tables. This
this shape is well known in category allows users to write declarative que-
theory. It is called a monad, where the ries focusing on the “what” and letting
type constructor M< _ > is a functor of the system take care of the “how.”
the monad; the constructor {_} is the In the coSQL case, a typical scenar-
unit of the monad; SelectMany is io is to have a single collection of type
the bind of the monad; and ∅ and ∪ can be queried using comprehension IQueryable<S> of (pointers to) self-
are the neutral element and addition, syntax, including both SQL and coSQL contained denormalized “documents”
respectively. For the rest of us, they data sources, as we show in the next of type S. In that case, queries have type
are just the signatures for methods section. IQueryable<S> → R (see Figure 14).
defined on an abstract interface for The .NET framework defines a pair of When there are no cross-table rela-
collections. standard interfaces IEnumerable<T> tionships, collections {x0,x1,…,x n–1}
This is no theoretical curiosity. We and IQueryable<T> that are often M<S> that are the source of coSQL que-
can play the same syntactic tricks that implemented by data sources to sup- ries can be naturally horizontally par-
SQL does with relational algebra, but port querying, but it is by no means titioned, or sharded, into individual
using monads instead. Such monad necessary to use these particular in- subcollections {x0}∪{x1}∪…∪{x n–1},
comprehensions have been recognized terfaces. Other standard interfaces and each such subcollection {xi}
as a versatile query language by both that support LINQ query operators can be distributed across various ma-
functional programmers and database include the IObservable<T> and chines on a cluster.
researchers.8 IQbservable<T> interfaces that For a large subset of coSQL que-
LINQ queries are just a more famil- make it possible to use LINQ for com- ries, the shape of the query closely
iar SQL-like syntax for monad compre- plex event processing.10 follows the shape of the data. Such ho-
hensions. Instead of Greek symbols, momorphic queries map a collection
LINQ uses human-readable identifiers Scalability and Distribution xs={x0}∪{x1}∪…∪{x n–1} to the value
such as xs.Where(P) for σP(xs) and In contrast to most treatments of f(x0)⊕f(x1)⊕…⊕f(x n-1)—that is, they
xs.Select(F) for πF(xs). To accom- noSQL, we did not mention scalability are of the form xs.Select(f).Ag-
modate a wide range of queries, the as a defining characteristic of coSQL. gregate(⊕) for some function f Î
actual LINQ standard query operators
contain additional operators for aggre- Figure 15. Signature for MapReduce in DryadLINQ.

gation and grouping such as


MapReduce Î IQueryable<S> // source
Aggregate M<T>´(T´T→T) → T x(S→IEnumerable<M>) // mapper
x(M→K) // key selector
GroupBy M<T>´(T→K) → M<K´M<T>>
x(KxIEnumerable<M>→R) // reducer
→IQueryable<R>
Any data source that implements
the standard LINQ query operators

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n i c at i o n s of t he acm 57


practice

S→R and binary operator ⊕ Î R´R→R. instead shifts competition to the phys- BASE: An Acid Alternative
In fact, Richard Bird’s first homomor- ical and operational level. The avail- Dan Pritchett
http://queue.acm.org/detail.cfm?id=1394128
phism lemma3 says that any function ability of such a common mathemati-
h Î M<S>→R is a homomorphism cal underpinning of all major noSQL Bridging the Object-Relational Divide
with respect to ∪ if and only if it can databases can provide enough critical Craig Russell
http://queue.acm.org/detail.cfm?id=1394139
be factored into a map followed by a mass to convince businesses, develop-
reduce: h(xs) = xs.Select(f).Ag- ers, educational institutions, etc. to
gregate(⊕). Mathematics dictates invest in noSQL. References
1. Awodey, S. Category Theory (2nd edition). Oxford
that coSQL queries are performed us- In this article we developed a math- University Press, 2010.
ing MapReduce.6 ematical data model for the most 2. Baker, J., Bond, C. et al. Megastore: providing scalable,
highly available storage for interactive services.
Practical implementations of Ma- common form of noSQL—namely, Conference on Innovative Data Systems Research.
pReduce usually slightly generalize key-value stores as the mathematical (2011).
3. Bird, R. An introduction to the theory of lists. In Logic
Bird’s lemma to use SelectMany dual of SQL’s foreign-/primary-key Programming and Calculi of Discrete Design. M. Broy,
instead of Select so that the map stores. Because of this deep and beau- ed. Springer-Verlag (1987), 3–42.
4. Codd, T. A relational model of data for large shared
phase can return a collection instead tiful connection, we propose chang- data banks. Commun. ACM 13 (June 1970).
of a single value, and insert an inter- ing the name of noSQL to coSQL. 5. Copeland, G.and Maier, D. Making Smalltalk a
database system. In Proceedings of the ACM SIGMOD
mediate GroupBy as a way to “write” Moreover, we show that monads and International Conference on Management of Data.
equivalence classes of values from the monad comprehensions (i.e., LINQ) 1984.
6. Fokkinga, M. MapReduce—a two-page explanation
map phase into the key-value store for provide a common query mechanism for laymen; http://www.cs.utwente.nl/~fokkinga/
subsequent processing in the reduce for both SQL and coSQL and that mmf2008j.pdf.
7. Ghosh, R.A. An economic basis for open standards
phase, and then aggregate over each many of the strengths and weakness- (2005); flosspols.org.
8. Grust, T. 2003. Monad comprehensions: a versatile
subcollection: es of SQL and coSQL naturally follow representation for queries. In The Functional
from the mathematics. Approach to Data Management. P. Gray, L. Kerschberg,
P. King, and A. Poulovassilis, Eds. Springer Verlag,
xs.SelectMany(f).GroupBy(s).Select((k,g) In contrast to common belief, the 2003, 288–311.
⇒g.Aggregate(⊕k)) question of big versus small data is 9. Grust, T., Rittinger, J., Schreiber, T. Avalanche-
safe LINQ compilation. Proceedings of the VLDB
orthogonal to the question of SQL ver- Endowment 3 (1–2), 2010.
For example, DryadLINQ15 uses the sus coSQL. While the coSQL model 10. Meijer, E. Subject/Observer is dual to iterator.
Presented at FIT: Fun Ideas and Thoughts at the
type PartitionedTable<S>:IQuer naturally supports extreme sharding, Conference on Programming Language Design and
yable<S> to represent the partitioned the fact that it does not require strong Implementation (2010); http://www.cs.stanford.edu/
pldi10/fit.html.
input collection for LINQ queries and typing and normalization makes it at- 11. Meijer, E., Beckman, B., Bierman, G. LINQ: reconciling
then implements MapReduce over the tractive for “small” data as well. On the objects, relations, and XML in the .NET framework.
Proceedings of the ACM SIGMOD International
partitioned collection using the func- other hand, it is possible to scale SQL Conference on Management of Data. ACM, New York,
tion illustrated in Figure 15. databases by careful partitioning.2 2006.
12. Pirayoff, R. Economics Micro & Macro. Cliffs Notes,
In an open world where collections What this all means is that coSQL 2004.
are distributed across the network, it is and SQL are not in conflict, like good 13. Pritchett, D. BASE: an Acid alternative. ACM Queue
(July 2008).
much harder for a query optimizer to and evil. Instead they are two opposites 14. Stonebraker, M., Hellerstein, J.M. What goes around
comes around. In Readings in Database Systems
perform a global optimization taking that coexist in harmony and can trans- (Fourth Edition). M. Stonebraker, and J.M. Hellerstein,
into account latency, errors, etc. Hence, mute into each other like yin and yang. eds. MIT Press, Cambridge, MA, 2005, 2–41.
15. Yuan Yu, M.I. DryadLINQ: A system for general-
most coSQL databases rely on explicit Because of the common query language purpose distributed data-parallel computing using a
programmatic queries of a certain pat- based on monads, both can be imple- high-level language. Operating Systems Design and
Implementation. 2008.
tern such as MapReduce that can be mented using the same principles.
executed reliably on the target physical
machine configuration or cluster. Acknowledgments Erik Meijer (emeijer@microsoft.com) has been working
on “Democratizing the Cloud” for the past 15 years.
Many thanks to Brian Beckman, Jim- He is perhaps best known for his work on the Haskell
Conclusion my “the aggregator” Nilsson, Bedarra- language and his contributions to LINQ and the Reactive
Framework (Rx).
The nascent noSQL market is ex- Dave Thomas, Ralf Lämmel, Torsten
tremely fragmented, with many com- Grust, Maarten Fokkinga, Rene Bouw, Gavin Bierman (gmb@microsoft.com) is a senior
researcher at Microsoft Research Cambridge focusing
peting vendors and technologies. Pro- Alexander Stojanovic, and the anony- on database query languages, type systems, semantics,
gramming, deploying, and managing mous referee for their comments that programming language design and implementation, data
model integration, separation logic, and dynamic software
noSQL solutions requires specialized drastically improved the presentation updating.
and low-level knowledge that does not of this paper, and of course to Dave
easily carry over from one vendor’s Campbell for supporting work on all
product to another. cool things LINQ.
A necessary condition for the net-
work effect to take off in the noSQL
database market is the availability of a Related articles
common abstract mathematical data on queue.acm.org
model and an associated query lan- A Conversation with
guage for noSQL that removes product Erik Meijer and Jose Blakeley
differentiation at the logical level and http://queue.acm.org/detail.cfm?id=1394137 © 2011 ACM 0001-0782/11/04 $10.00

58 communi cations o f th e ac m | april 2 0 1 1 | vol. 5 4 | no. 4


AdvAnCe Your CAreer wiTh ACM TeCh PACkS…

For Serious
Computing Professionals.

Searching through technology books, magazines, and websites


to find the authoritative information you need takes time.
That’s why ACM created “Tech Packs."
• Compiled by subject matter experts to help serious Current topics include Cloud Computing and
computing practitioners, managers, academics, and Parallel Computing. In development are
students understand today’s vital computing topics. Gaming, Globalization/Localization, Mobility, Security,
and Software as a Service (SaaS).
• Comprehensive annotated bibliographies: from ACM
Digital Library articles, conference proceedings, and
Suggestions for future Tech Packs? Contact:
videos to ACM Learning Center Online Books and Courses
to non-ACM books, tutorials, websites, and blogs. Yan Timanovsky
ACM Education Manager
• Peer-reviewed for relevance and usability by computing timanovsky@hq.acm.org
professionals, and updated periodically to ensure currency.

Access to ACM resources in Tech Packs is available


to ACM members at http://techpack.acm.org
or http://learning.acm.org.
contributed articles
doi:10.1145/1924421.1924439
requires considerable effort. More-
How to identify, instantiate, and evaluate over, the rate at which people world-
wide generate new data is growing
domain-specific design principles for creating exponentially year to year. Gantz et al.5
more effective visualizations. estimated we collectively produced
161 exabytes of new information in
by Maneesh Agrawala, Wilmot Li, 2006, and the compound growth rate
and Floraine Berthouzoz between 2007 and 2011 would be 60%
annually. We are thus expected to pro-

Design
duce 1,800 exabytes of information in
2011, 10 times more than the amount
we produced in 2006. Yet acquiring
and storing this data is, by itself, of

Principles
little value. We must understand it to
produce real value and use it to make
decisions.
The problem is that human design-

for Visual
ers lack the time to hand-design effec-
tive visualizations for this wealth of
data. Too often, data is either poorly vi-
sualized or not visualized at all. Either

Communication
way, the results can be catastrophic;
for example, Tufte24 explained how
Morton Thiokol engineers failed
to visually communicate the risks
of launching the Challenger Space
Shuttle to NASA management in 1986,
leading to the vehicle’s disasterous
failure. While Robison et al.20 argued
the engineers must not be blamed for
the Challenger accident, better com-
munication of the risks might have
Visual commun i c atio n via diagrams, sketches, prevented the disaster.
Skilled visual designers manipu-
charts, photographs, video, and animation is late the perception, cognition, and
fundamental to the process of exploring concepts
and disseminating information. The most-effective key insights
visualizations capitalize on the human facility for D esign principles connect the visual
design of a visualization with the
processing visual information, thereby improving viewer’s perception and cognition
of the underlying information the
comprehension, memory, and inference. Such visualization is meant to convey.
visualizations help analysts quickly find patterns Identifying and formulating good
lurking within large data sets and help audiences design principles often requires
analyzing the best hand-designed
quickly understand complex ideas. visualizations, examining prior research
on the perception and cognition of
Over the past two decades a number of books10,15,18,23 visualizations, and, when necessary,
Illustratio n by M ark S killicorn

conducting user studies into how


have collected examples of effective visual displays. visual techniques affect perception and
One thing is evident from inspecting them: the best cognition.

are carefully crafted by skilled human designers. G iven a set of design rules and
quantitative evaluation criteria, we
Yet even with the aid of computers, hand-designing can use procedural techniques and/or
energy optimization to build automated
effective visualizations is time-consuming and visualization-design systems.

60 communi cations o f th e ac m | April 2 0 1 1 | vol . 5 4 | no. 4


6

2a
5

4
7

2b 14

18

17

3 9

15
13

8
12
11

16
cred it t k

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n ic at i o n s of t he acm 61


contributed articles

a shorthand for guidelines that help


improve viewers’ comprehension of
visually encoded information.
Design principles are usually not
strict rules, but rules of thumb that
might even oppose and contradict
one another. For instance, Beck did
not completely straighten the sub-
way lines; he included a few turns in
them to give viewers a sense of a line’s
overall spatial layout. Skilled visual
designers implicitly apply the relevant
design principles and balance the
trade-offs between them in an itera-
tive process of creating example de-
signs, critiquing the examples, and
improving the designs based on the
critiques. Designers usually do not
directly apply an explicitly defined set
of design principles. The principles
are a form of tacit knowledge that de-
Figure 1. Harry Beck’s map of the London Underground from 1933. Beck straightened the
lines and more evenly spaced the stops to visually emphasize the sequence of stops along signers learn by creating and studying
each line. examples. It is far more common for
books on visual design to contain vi-
communicative intent of visualiza- the stops to visually emphasize the sual examples rather than explicit de-
tions by carefully applying principles sequence of stops and transfer points sign principles.
of good design. These principles ex- (see Figure 1). Many of the analysts and end users
plain how visual techniques can be Such design principles connect the inundated with data and charged with
used to either emphasize important visual design of a visualization with creating visualizations are not trained
information or de-emphasize irrel- the viewer’s perception and cognition designers. Thus, our work aims to
evant details; for example, the most of the underlying information the vi- identify domain-specific design prin-
important information in a subway sualization is meant to convey. In the ciples, instantiating them within au-
map is the sequence of stops along field of design, there is a long-standing tomated visualization design systems
each line and the transfer stops that debate regarding the interaction of that enable non-designers to create
allow riders to change lines. Most sub- aesthetic and functional properties of effective visual displays. While other
way passengers do not need to know designed artifacts. We do not seek to researchers have considered specific
the true geographic path of each line. engage in this debate here; rather, we ways to use cognitive design princi-
Based on this insight, map designer focus on how particular design choic- ples to generate visualizations (see the
Harry Beck redesigned the map of the es affect the perception and cognition online appendix) we have been devel-
London Underground in 1933 using of the visualization, not the aesthetic oping a general, three-stage approach
two main principles: straightening style of the visualization. Accordingly, for creating visualization design sys-
the subway lines and evenly spacing we use the term “design principle” as tems:

F igure 2. (lef t) St ephen Bi est y © D orl ing Ki nd ersley; (righ t) LifeART images
Figure 1. H a rry Bec k © Tfl f ro m t he Lond on T ransp ort M useum collect ion

Figure 2. Hand-designed cutaway and exploded-view illustrations (left) design the cuts and explosions to emphasize the shape of the missing
geometry and spatial relationships among parts. Our system incorporates such principles to generate interactive cutaway and exploded-
view illustrations (middle, right).

62 communications o f th e acm | April 2 0 1 1 | vol . 5 4 | no. 4


contributed articles

Stage 1. Identify design principles. of automated photo-manipulation al-


We identify domain-specific design gorithms (see the online appendix for
principles by analyzing the best hand- examples).
designed visualizations within a par- However, our experience is that de-
ticular information domain. We con- sign principles are rarely stated so ex-
nect this analysis with research on plicitly. Thus, we have developed three
perception and cognition of visualiza- strategies for extracting and formulat-
tions; ing domain-specific design principles:
Stage 2. Instantiate design princi- (1) analyze the best hand-designed vi-
ples. We encode the design principles sualizations in the domain, (2) exam-
into algorithms and interfaces for cre- ine prior research on the perception
ating visualizations; and and cognition of visualizations, and,
Stage 3. Evaluate design principles. when necessary, (3) conduct new user
We measure improvements in infor- studies that investigate how visual
mation processing, communication, techniques affect perception and cog-
and decision making that result from nition.
our visualizations. These evaluations Hand-designed visualizations. We
also serve to validate the design prin- have found that a useful first step in
ciples. identifying design principles is to
We have used this three-stage ap- analyze examples of the best visual-
proach to build automated visualiza- Figure 3. Exploded views of complex izations in the domain. This analysis
tion design systems in two domains: mathematical surfaces are designed is designed to find similarities and re-
to reveal local geometric features (such
cartographic visualization and tech- as symmetries, self-intersections, and curring patterns in the kinds of infor-
nical illustration. In the domain of critical points). mation the visualizations highlight, as
cartographic visualizations we have well as the techniques used to empha-
developed automated algorithms for strategies people use to make infer- size the information.
creating route maps1,3,12 and tourist ences from visualizations. Consider the problem of depicting
maps of cities.8 In the domain of tech- the internal structure of complex me-
nical illustration we have developed Stage 1. Identify Design Principles chanical, mathematical, anatomical,
automated techniques for generating Design principles are prescriptive and architectural objects. Illustrators
assembly instructions of furniture rules describing how visual tech- often use cutaways and exploded views
and toys2,9 and for creating interactive niques affect the perception and cog- to reveal such structure. They careful-
cutaway and exploded-view illustra- nition of the information in a display. ly choose the size and shape of cuts,
tions of complex mechanical, mathe- In some cases, they are explicitly out- as well as the placement of the parts
matical, and biological objects.11,13,14,19 lined in books; for example, books on relative to one another, to expose and
Here, we focus on articulating the photography techniques explain the highlight the internal structure and
techniques we have used to identify rules for composing pleasing photo- spatial relationships between parts.
and evaluate the design principles graphs (such as cropping images of We have analyzed a large corpus of cut-
for each domain. These techniques people just below the shoulders or aways and exploded views to identify
generalize to other domains, and ap- near the waist, rather than at the neck the principles and conventions expert
plying our three-stage approach will or the knees). Researchers have di- illustrators commonly use to generate
result in a better understanding of the rectly applied them to build a variety these images.11,13,14,19 Our process for
Figure 4. David Macaul ay, T he New Way T hings Work

Figure 4. Hand-designed “how things work” illustrations (a) use motion arrows and frame sequences to convey the motion and interactions
of the parts within a mechanical assembly. Our system analyzes a geometric model (b) of a mechanical assembly to infer the motion and
interactions of the parts, then generates the motion arrows and frame sequences (c–d) necessary to depict how the assembly works.

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n i c at i o n s of t he acm 63


contributed articles

Figure 5. A computer-generated route map rendered at a fixed scale does not depict (left) all the turns necessary for navigation. A hand-
designed map (middle) emphasizes the turning points by exaggerating the lengths of short roads and simplifying the shape of roads. Our
LineDrive system incorporates these design principles (right) into an automated map-design algorithm.

identifying these principles is based esizing a perceptual or cognitive ratio- faces are cut using window cuts; and
on three main objectives: nale explaining how the convention long tubular structures are cut using
Style independence. In order to helps viewers better understand the transverse tube cuts. Illustrations of
identify a general set of principles we structure of the 3D object depicted. complex mathematical surfaces of-
could apply to a variety of complex Through this analysis, we iden- ten use exploded views in which each
3D objects, we looked for visual tech- tified a set of general, perceptually slice is positioned to reveal local geo-
niques common across different artis- motivated design principles for creat- metric features (such as symmetries,
tic styles and types of objects; ing cutaways and exploded views. For self-intersections, and critical points).
Generative rules. To ensure that we instance, the size and shape of cuts We have also examined “how things
could apply the principles in a gen- in a cutaway illustration are often de- work” illustrations designed to show
erative manner to create cutaways or signed to not only reveal internal parts the movement and interaction of
exploded views, we formed explicit, but to help viewers mentally recon- parts within a mechanical assembly.
well-defined rules describing when struct any occluding geometry that The hand-designed illustrations often
and how each principle should be ap- has been removed. Thus, illustrators use diagrammatic motion arrows and
plied. We designed the rules to be as cut radially symmetric objects with sequences of frames to help viewers
general as possible while remaining wedge-shape cutaways that empha- understand the causal chains of mo-
consistent with the evidence from the size the object’s cylindrical structure. tion that transform a driving force
example illustrations; and Similarly, rectangular objects are cut into mechanical movement. After
Perceptual/cognitive rationale. We with object-aligned cutting planes, identifying the design principles, we
motivated each principle by hypoth- or box cuts; skin-like covering sur- implemented them algorithmically
within interactive systems for gener-
ating cutaways, exploded views, and
how-things-work illustrations (see
Figures 2, 3, and 4).
We applied a similar approach to
identify the design principles for de-
Figure 5. M apPoint screensh ot rep rinted wit h p ermissio n of Microsof t Corp.
picting route maps that provide direc-
tions from one location to another1,3
and destination maps that show mul-
tiple routes from all around a region to
a single location (such as an airport or
a popular restaurant).12 We analyzed a
variety of such hand-drawn maps and
found they are often far more useful
than computer-generated driving di-
rections (available at sites like maps.
bing.com and maps.google.com) be-
cause they emphasize roads, turning
points, and local landmarks. These
F igure 6. Google M aps

Figure 6. A general-purpose computer-generated map of San Francisco (left) is not hand-designed maps significantly dis-
an effective destination map because it is cluttered with extraneous information and tort the distance, angle, and shape of
neighborhood roads disappear. Our destination map (right) includes only the relevant
highways, arterials, and residential roads required to reach a destination. The layout and roads while eliminating many details
rendering style further emphasize the information required to reach it. that would only serve to clutter the

64 communi cations o f th e acm | April 2 0 1 1 | vol . 5 4 | no. 4


contributed articles

map. Tufte23 pointed out that triptiks out differences due to artistic style. distance, angle, and shape of roads—
and subway maps similarly distort Designers may choose visual attri- to ensure that all roads and turning
the shape of routes and eliminate butes (such as font type, color palette, points are visible, but almost never
unnecessary detail. Hand-designed and line width) for aesthetic reasons modify the topology of the route.
destination maps include only the whereby one font may simply look In this case, the prior research con-
major routes to a location rather than nicer than another to the designer. Al- firmed and formalized the perceptual/
all possible routes. These maps pro- though such aesthetic design choices cognitive rationale for the visual tech-
gressively increase the level of detail, are important considerations, the niques we first noticed when analyz-
showing only the highways far from goal of our analysis is to determine ing hand-drawn route maps. Based on
the destination while including arte- how the design choices improve the the resulting design principles, we de-
rial roads and finally the residential perception and cognition of the infor- veloped LineDrive (http://vis.berkeley.
roads near the destination. Both route mation, rather than how these choices edu/LineDrive), a fully automated sys-
and destination maps typically use improve aesthetics. The difficulty is tem for rendering route maps in the
multi-perspective rendering in which that these design choices often affect style of hand-drawn maps.3 LineDrive
the roads are drawn in top-down plan both the aesthetics of the display and has been publicly accessible since Oc-
view while important landmark build- the perception and cognition of the tober 2000, and surveys have shown
ings are drawn from a side view so information; how to separate the two that for navigation tasks users strong-
their facades are visible. effects is not always clear. ly prefer LineDrive maps to computer-
Although analyzing hand-designed In light of these limitations and generated maps drawn at a fixed scale
visualizations is often a good initial challenges, we have found it is often (see Figure 5).
approach for identifying design prin- useful to connect our observations Researchers have also found that
ciples, this strategy also involves limi- and hypotheses from the analysis of navigators familiar with a geographic
tations. In some cases it may be tempt- hand-designed examples with relevant area (such as cab drivers) plan routes
ing to form generative rules that are work from perception and cognitive hierarchically.4 They first select the
too specific and do not apply outside psychology. These connections serve highways necessary to get close to the
the range of analyzed examples. In to clarify the perceptual or cognitive destination, then the arteries, and fi-
other cases the rules may be so general rationale for the design principles. nally the residential streets. Such hi-
it is unclear how to apply them to spe- Prior work in perception and cog- erarchical planning corresponds to
cific examples. Such difficulties often nition. In some cases, prior research the progressive increase in road detail
arise when the perceptual or cognitive in perception and cognition suggests we first identified in hand-designed
rationale behind a particular visual or formalizes the appropriate design destination maps. We recently ap-
technique is not clear. In the context principles; for example, cognitive psy- plied this level-of-detail principle in
of route maps, for example, although chologists have shown that people conjunction with the distortion prin-
our analysis revealed that mapmakers think of routes as a sequence of turns25 ciples to build an automated system
often distort road length, angle, and and that when following a route the for generating destination maps.12 As
shape, it was not immediately clear exact length of a road is far less impor- in LineDrive, we produced a map that
how such distortions improved the per- tant than properly executing the turns. looks hand-drawn but that eliminates
ception and cognition of route maps. The topology of the route is more im- clutter while preserving the infor-
Similarly, we have found that one portant than its absolute geometry. mation necessary for anyone in the
of the challenges in analyzing hand- This insight helps explain why hand- surrounding region to reach the des-
designed visualizations is to factor drawn maps often distort geometry— tination. Our destination maps are
Figure 7. Unique M edia

Figure 7. A hand-designed tourist map of San Francisco emphasizes semantically, visually, and structurally important landmarks, paths,
districts, nodes, and edges, using multi-perspective rendering to ensure the facades of buildings are visible (left). Our tourist-map design
system is based on these principles and similarly emphasizes the information most important for tourists in this map of San Francisco (right).

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n ic at i o n s of t he acm 65


contributed articles

available through the Bing Maps Web ing top-down Web-based information- the assembly-instructions project, a
site (http://vis.berkeley.edu/DestMap) extraction techniques to compute new set of participants assembled the
(see Figure 6). semantic importance and bottom-up TV stand, without instructions. They
We applied a similar approach to vision-based image/geometry analy- then rated the quality of the instruc-
automatically generating maps for sis to compute visual and structural tions created by the first set of partici-
tourists visiting a new city.8 Prior work importance. It then generates a map pants, redrawn to control for clarity,
on mental representations of cities16 that emphasizes the most important legibility, and aesthetics; and
showed that people consider five main map elements, using a combination Comprehension. Participants use
elements: landmarks, paths, districts, of multi-perspective rendering and the ranked visualizations, and we test
nodes, and edges. However, a map cartographic generalization to high- for improvements in learning, com-
with every instance of such elements light the important landmarks, paths, prehension, and decision making. In
would be cluttered with excessive de- districts, nodes, and edges while de- the assembly-instructions project, yet
tail. The most-effective tourist maps emphasizing less-important elements another set of participants assembled
include only those elements that are (see Figure 7). the TV stand, this time using the in-
semantically meaningful (such as the Experiments on perception and structions rated in the preference
home of a well-known writer), visually cognition. In some domains, new per- phase. Tests showed the highly rated
distinctive (such as an oddly shaped ception and cognition research is re- instructions were easier to use and
or colored building), or placed in a quired to provide the rationale for the follow; participants spent less time
structurally important location (such design principles. Working with cog- assembling the TV stand and made
as a building at a prominent intersec- nitive psychologist Barbara Tversky, fewer errors.
tion).22 After choosing the elements to we developed a methodology for con- Following these experiments, we
include in the map, mapmakers usu- ducting human-subject experiments look for commonalities in the highly
ally apply a variety of cartographic- to understand how people think about rated visualizations to identify the
generalization techniques, including and communicate the information design principles. In the context of
simplification, displacement, defor- within a domain. We first applied this assembly instructions, we identified
mation, and selection. Cognitive psy- methodology to identify the design three main principles: (1) use a step-
chologists and cartographers study- principles for creating assembly in- by-step sequence of diagrams show-
ing the cognition of maps have shown structions for everyday objects (such ing one primary action in each dia-
such generalizations improve clarity as furniture and toys).2,9 The experi- gram; (2) use guidelines and arrows to
because they emphasize the most im- ments are conducted in three phases: depict the actions required to fit parts
portant map elements while preserv- Production. Participants create vi- together; and (3) ensure that the parts
ing spatial relationships between sualizations for a given domain. In added in each step are visible. Our au-
these elements.17 the context of assembly instructions, tomated assembly-instruction-design
Our tourist-map-design system is they assembled a TV stand without in- system is based on these principles
based on these design principles. In- structions using only a photograph of (see Figure 8). Tversky and Lee25 have
put consists of a geometric model of a the assembled stand as a guide. They studied mental representations of
city, including streets, bodies of water, then drew a set of instructions show- maps using a similar methodology,
parks, and buildings (with textures). ing how to assemble it; where subjects first draw maps to fa-
The system automatically determines Preference. Participants rate the ef- miliar locations, then other subjects
the importance of map elements us- fectiveness of the visualizations. In rate the effectiveness of the maps.

Figure 8. We asked subjects to assemble a TV stand and then create instructions for a novice explaining how to assemble it (left, middle).
Analyzing hand-drawn instructions, we found that diagrammatic, step-by-step instructions using guidelines and arrows to indicate the
actions required for assembly and providing good visibility for the attached parts are easiest to use and follow. Our system automatically
generates assembly instructions (right) based on these principles.

66 communi cations o f th e acm | April 2 0 1 1 | vol . 5 4 | no. 4


contributed articles

Stage 2. Instantiate roughly square aspect ratio to make


Design Principles the best use of available screen space.
Designing a visualization usually re- To quantify the overall effectiveness
quires choosing visual properties or of an exploded view we measure the
attributes for each element in the
display; for example, to create a route These principles visibility of each part, as well as the
compactness of the overall visualiza-
map, the designer must choose attri- explain how tion. Similarly, in designing route

visual techniques
butes, including position, size, and maps, designers must ensure that all
orientation for each road, landmark, roads are visible. To quantify this cri-
and label that appears in the map.
Similarly, to create a cutaway illustra-
can be used to terion, we compute the length of each
road in the map and check the length
tion, the designer must choose how either emphasize is greater than some minimum vis-
and where to cut each structure that
occludes the target part. Because there
important ibility threshold. The number of roads
longer than the threshold length is a
are many possible choices for each at- information or quantitative measure of the effective-
tribute, the design space of possible
visualizations is usually quite large. To de-emphasize ness of the map with respect to this
criterion.
build automated visualization design irrelevant details Given a set of design rules and
systems, we treat the relevant design
principles as guidelines for making in the display. quantitative evaluation criteria, we
can use procedural techniques to
these design decisions. The principles build an automated visualization de-
help us navigate through the design sign system; for example, our system
space and obtain an effective design. for designing cutaways and exploded
Most design principles are stated views is driven exclusively by proce-
as qualitative guidelines, rather than dural techniques. In this case, we en-
as procedures we can directly instan- code the design rules as a decision
tiate in an automated design algo- tree describing how to cut or explode
rithm. The challenge is to transform away occluding parts based on their
such high-level principles into imple- geometry. Another approach is to con-
mentable algorithms. sider visualization design as an ener-
Design principles generally fall gy-minimizing optimization problem.
into two categories: design rules and In this case, we treat the design rules
evaluation criteria. Design rules sepa- as hard constraints that define the
rate the design space into regions con- boundaries of the design space and
taining effective designs and those the evaluation criteria as soft con-
containing inviable designs. They are straints that guide the system to the
essentially hard constraints in the de- optimal visualization. While this op-
sign space. In creating route maps, for timization-based approach is general,
example, designers commonly adjust we have found it essential to develop a
the turn angle to emphasize the ori- set of design rules and evaluation cri-
entation of the turn, to the left or to teria that sufficiently limit the design
the right. However, adjusting the turn space so it is feasible to complete the
angle so much that a left turn appears optimization. Both LineDrive and our
to be a right turn or vice versa is unac- assembly-instruction design system
ceptable. This design rule puts a hard use such an energy-minimizing opti-
constraint on how much designers are mization.
able to adjust the turn angle.
Evaluation criteria quantify the Stage 3. Evaluate Design Principles
effectiveness of some aspect of the The final stage of our approach is to
visualization. We can assess the over- measure the usefulness of the visual-
all effectiveness of a visualization by izations produced by our automated
considering a set of evaluation crite- design systems. We consider several
ria covering all major aspects of the such measures, including feedback
visual design. In creating an exploded from users in the form of qualitative
view, for instance, designers must bal- interviews and quantitative usage sta-
ance two such criteria: part separation tistics. In some cases, we have also
and compactness. A good exploded conducted more-formal user studies
view separates the parts so all of them to check how well the visualizations
are visible, yet the visualization must improve information processing, com-
also remain compact and maintain a munication, and decision making.

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n ic at i o n s of t he acm 67


contributed articles

User feedback. We find it is critical of low-level design choices in creating


to involve users early on and conduct visualizations. Rigorous user studies
qualitative interviews and surveys to are especially important because they
check their overall impressions of the also serve to validate the effectiveness
visualizations produced by our sys-
tems. Such feedback is essential for Many other of the design principles on which the
visualizations are based.
identifying problems and ensuring information However, how to design such quan-

domains
our design principles and the visual- titative studies is not always clear.
izations converge on effective designs. How should one visualization be com-
The interviews and surveys provide
high-level checks of the effectiveness
could benefit pared against another visualization?
For example, in the domain of ana-
of our design principles and allow us from a deeper tomical illustrations it is not clear how
to tweak the principles when not quite
right; for example, early on building
understanding to compare our cutaway illustrations
against hand-designed illustrations.
LineDrive, we asked users to rate hand- of the ways What task should we ask users to per-
crafted prototype route-map designs,
finding that 79 out of 90 respondents visual-display form using the two illustrations? One
approach might be to measure how
preferred the distorted LineDrive pro- techniques affect quickly and accurately viewers locate
totypes to maps drawn to scale1 and
confirming that users thought the dis- the perception a particular organ of the body. How-
ever, if the task is to learn the location
torted maps were useful. Continual
feedback and evaluation yields more-
and cognition of the organ, then both illustrations
would label the organ, and with la-
effective algorithms and tools. of information. bels, speed and accuracy are unlikely
Another approach is to release the to differ significantly. Our cutaways
visualization on the Web, then check and exploded views are also designed
usage statistics; for example, at its to convey the layering relationship
peak, LineDrive was serving more than between parts. So, an alternative task
750,000 maps per day and became the might be to ask viewers to indicate the
default route-mapping style for Map- layering relationships between parts.
Blast, an early Web-based provider of But how can we ask them to complete
route maps. Such public feedback is this task without leading them to
a strong test of effectiveness, as inef- an answer? For many domains, like
fective solutions are quickly rejected. anatomical illustrations, developing
We also recognize that usage statistics a new methodology is necessary for
are at best an indirect measure of ef- evaluating the effectiveness of visual-
fectiveness. Many excellent solutions izations and validating underlying de-
remain little-used due to a variety of sign principles.
external forces that have little to do
with the usefulness or effectiveness of Conclusion
a visualization. The approach we’ve outlined for iden-
User studies. To quantitatively as- tifying, instantiating, and evaluating
sess the effectiveness of a visualiza- design principles for visual commu-
tion, we conduct user studies com- nication is a general methodology for
paring visualizations created with our combining findings about human per-
design algorithms to the best hand- ception and cognition with automated
designed visualizations in the do- design algorithms. The systems we’ve
main; for example, we have compared built for generating route maps, tour-
our computer-designed instructions ist maps, and technical illustrations
to factory-produced instructions and demonstrate this methodology can be
hand-drawn instructions for assem- used to develop effective automated
bling a TV stand, finding that users visualization-design systems. Howev-
completed the assembly task about er, there is much room for extending
35% faster and made 50% fewer errors our proposed approach, and we hope
using our instructions. In addition researchers improve on the methods
to completion time and error rate, it we have described. Future work can
is also possible to use eye-tracking to take several directions:
determine how a visualization affects Many other information domains
the way people scan and process in- could benefit from a deeper under-
formation.6,21 Such eye-tracking stud- standing of the ways visual-display
ies help us evaluate the effectiveness techniques affect the perception and

68 communi cations o f th e acm | April 2 0 1 1 | vol . 5 4 | no. 4


contributed articles

cognition of information. We com- Techniques for evaluating the ef- by demonstration. ACM Transactions on Graphics 27, 3
(Aug. 2009), 66:1–66:9.
monly encounter a variety of different fectiveness of visualizations and vali- 8. Grabler, F., Agrawala, M., Sumner, R.W., and
types of information, including cook- dating the design principles could Pauly, M. Automatic generation of tourist maps.
ACM Transactions on Graphics 27, 3 (Aug. 2008),
ing recipes, budgets and financial also be improved. Design principles 100:1–100:11.
data, dance steps, tutorials on using are essentially models that predict 9. Heiser, J., Phan, D., Agrawala, M., Tversky, B., and
Hanrahan, P. Identification and validation of cognitive
software, explanations of strategies how visual techniques affect percep- design principles for automated generation of
and plays in sports, and political poll- tion and cognition. However, as we assembly instructions. In Proceedings of Advanced
Visual Interfaces (Gallipoli, Italy, May 25–28). ACM
ing numbers. Effective visualizations noted, it is not always clear how to Press, New York, 2004, 311–319.
of such everyday information could check the effectiveness of a visualiza- 10. Hodges, E. The Guild Handbook of Scientific
Illustration. Van Nostrand Reinhold, New York, 1989.
empower citizens to make better deci- tion. More sophisticated evaluation 11. Karpenko, O., Li, W., Mitra, N., and Agrawala, M.
sions. methodology could provide stronger Exploded-view diagrams of mathematical surfaces.
IEEE Transactions on Visualization and Computer
We have focused our work on iden- evidence for these models and there- Graphics 16, 6 (Oct. 2010), 1311–1318.
12. Kopf, J., Agrawala, M., Salesin, D., Bargeron, D., and
tifying domain-specific design prin- by experimentally validate the design Cohen, M.F. Automatic generation of destination maps.
ciples. An open challenge is to gener- principles. ACM Transactions on Graphics 29, 6 (Dec. 2010),
158:1–158:12.
alize them across multiple domains. 13. Li, W., Agrawala, M., Curless, B., and Salesin, D.
One approach might be to first identify Acknowledgments Automated generation of interactive exploded-view
diagrams. ACM Transactions on Graphics 27, 3 (Aug.
domain-specific design principles in We would like to thank David 2008), 101:1–101:11.
very different domains, then look for Bargeron, Michael Cohen, Brian 14. Li, W., Ritter, L., Agrawala, M., Curless, B., and Salesin,
D. Interactive cutaway illustrations of complex 3D
commonalities between the domain- Curless, Pat Hanrahan, John Hay- models. ACM Transactions on Graphics 26, 3 (July
specific principles; for example, we maker, Julie Heiser, Olga Karpenko, 2007), 31:1–31:11.
15. London, B. and Upton, J. Photography. Longman
recently developed an automated sys- Jeff Klingner, Johannes Kopf, Niloy Publishing Group, New York, 1997.
tem for generating tutorials explain- Mitra, Mark Pauly, Doantam Phan, 16. Lynch, K. The Image of the City. The MIT Press,
Cambridge, MA, 1960.
ing how to manipulate photographs Lincoln Ritter, David Salesin, Chris 17. MacEachren, A.M. How Maps Work. The Guilford
using Photoshop and GIMP.7 The de- Stolte, Robert Sumner, Barbara Tver- Press, New York, 1995.
18. Mijksenaar, P. and Westendorp, P. Open Here: The Art
sign principles for photo-manipula- sky, Dong-Ming Yan, and Yong-Liang of Instructional Design. Joost Elffers Books, New
tion tutorials are similar to those we Yang for their contributions to this York, 1999.
19. Mitra, N.J., Yang, Y., Yan, D., Li, W., and Agrawala,
identified for assembly instructions research. Jeff Heer, Takeo Igarashi, M. Illustrating how mechanical assemblies work.
and include step-by-step sequences of and Tamara Munzner provided ex- ACM Transactions on Graphics 29, 4 (July 2010),
29:58:1–58:12.
screenshots and highlighting actions cellent suggestions and feedback on 20. Robison, W., Boisjoly, R., Hoeker, D., and Young, S.
through arrows and other diagram- early drafts of this article. Figure 4a Representation and misrepresentation: Tufte and the
Morton Thiokol engineers on the Challenger. Science
matic elements. Finding such simi- is from The New Way Things Work by and Engineering Ethics 8, 1 (Jan. 2002), 59–81.
larities in design principles across David Macaulay: compilation copy- 21. Santella, A., Agrawala, M., DeCarlo, D., Salesin, D.,
and Cohen, M. Gaze-based interaction for semi-
multiple domains may indicate more right © 1988, 1998 Dorling Kindersley, automatic photo cropping. In Proceedings of the
general principles are at work. Ltd., London; illustrations copyright SIGCHI Conference on Human Factors in Computing
Systems (Montréal, Apr. 24–27). ACM Press, New
Though we presented three strate- © 1988, 1998 David Macaulay. Used by York, 771–780.
gies for identifying design principles, permission of Houghton Mifflin Har- 22. Sorrows, M. and Hirtle, S. The nature of landmarks
for real and electronic spaces. In Proceedings of the
other strategies may be possible as court Publishing Company. All rights International Conference on Spatial Information
well. The strategies we presented reserved. Theory (Stade, Germany, Aug. 25–29). Springer-Verlag,
London, U.K., 1999, 37–50.
all require significant human effort 23. Tufte, E. Visual Explanations. Graphics Press, Cheshire,
to identify commonalities in hand- CT, 1997.
References 24. Tufte, E. Envisioning Information. Graphics Press,
designed visualizations, synthesize Cheshire, CT, 1990.
1. Agrawala, M. Visualizing Route Maps. Ph.D. Thesis,
the relevant prior studies in percep- 25. Tversky, B. and Lee, P. Pictorial and verbal tools for
Stanford University, Stanford, CA, 2002; http://
conveying routes. In Proceedings of the International
tion and cognition, and conduct such graphics.stanford.edu/papers/maneesh_thesis/
Conference on Spatial Information Theory (Stade,
2. Agrawala, M., Phan, D., Heiser, J., Haymaker, J., and Germany, Aug. 25–29). Springer-Verlag, London, U.K.,
studies. Moreover, the Internet makes Klingner, J. Designing effective step-by-step assembly 1999, 51–64.
a great deal of visual content publicly instructions. In Proceedings of SIGGRAPH (San Diego, 26. Vollick, I, Vogel, D., Agrawala, M., and Hertzmann, A.
July 27–31). ACM Press, New York, 2003, 828–837. Specifying label layout by example. In Proceedings of
available, often with thousands of 3. Agrawala, M. and Stolte, C. Rendering effective route the ACM Symposium on User Interface Software and
example visualizations within an in- maps: Improving usability through generalization. In Technology (Newport, RI, Oct. 7–10). ACM Press, New
Proceedings of SIGGRAPH (Los Angeles, Aug. 12–17). York, 2007, 221–230.
dividual information domain. Thus, ACM Press, New York, 2001, 241–250.
a viable alternative strategy for iden- 4. Chase, W.G. Spatial representations of taxi drivers.
In Acquisition of Symbolic Skills, D.R. Rogers and
tifying design principles may be to J.A. Sloboda, Eds. Plenum Press, New York, 1983, Maneesh Agrawala (maneesh@eecs.berkeley.edu) is
learn them from a large collection of 391–405. an associate professor in the Electrical Engineering and
5. Gantz, J., Chute, C., Manfrediz, A., Minton, S., Reinsel, Computer Sciences Department of the University of
examples using statistical machine- D., Schlichting, W., and Toncheva, A. The Diverse and California, Berkeley.
learning techniques. We have taken Exploding Digital Universe: An Updated Forecast of
Wilmot Li (wilmotli@adobe.com) is a research scientist in
Worldwide Information Growth Through 2011. IDC
an initial step in this direction, with White Paper, Mar. 2008; http://www.emc.com/about/ the Creative Technologies Lab of Adobe Systems Inc., San
destination/digital universe/ Francisco, CA.
a project designed to learn how to la-
6. Goldberg, J., Stimson, M., Lewenstein, M., Scott,
bel diagrams from a few examples.26 N., and Wichansky, A. Eye tracking in Web search Floraine Berthouzoz (floraine.berthouzoz@gmail.
tasks: Design implications. In Proceedings of the Eye com) is a Ph.D. candidate in the Electrical Engineering
One advantage of this approach is that Tracking Research and Applications Symposium (New and Computer Sciences Department of the University of
skilled designers often find it easier to Orleans, Mar. 25–27). ACM Press, New York, 2002, California, Berkeley.
51–58.
create example visualizations than ex- 7. Grabler, F., Agrawala, M., Li, W., Dontcheva, M., and
plicitly describe design principles. Igarashi, T. Generating photo manipulation tutorials © 2011 ACM 0001-0782/11/04 $10.00

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n i c at i o n s of t he acm 69


contributed articles
doi:10.1145/1924421.1924440
years. More likely is that future de-
Despite earlier claims, Software Transactional ployed TMs will be hybrids containing
a software component and a hardware
Memory outperforms sequential code. component.
Software transactional memory15,23
by Aleksandar DragojeviĆ, Pascal Felber, circumvents the limitations of HTM by
Vincent Gramoli, and Rachid Guerraoui implementing TM functionality fully
in software. Moreover, several STM im-

Why STM
plementations are freely available and
appealing for concurrent program-
ming.1,5,7,11,14,16,20 Yet STM credibility
depends on the extent to which it en-

Can Be More
ables application code to leverage mul-
ticore architectures and outperform
sequential code. Cascaval et al.’s 2008
article3 questioned this ability and sug-

Than A
gested confining STM to the status of
“research toy.” STMs indeed introduce
significant runtime overhead:
Synchronization costs. Each read (or

Research Toy
write) of a memory location from inside
a transaction is performed by a call to
an STM routine for reading (or writing)
data. With sequential code, this access
is performed by a single CPU instruc-
tion. STM read and write routines are
significantly more expensive than cor-
responding CPU instructions, as they
typically “bookkeep” data about every
access. STMs check for conflicts, log
access, and, in case of a write, log the
current (or old) value of the data. Some
are increasingly
W h ile m u lti c o re ar c h ite c t u res of these operations use expensive syn-
chronization instructions and access
the norm in CPUs, concurrent programming shared metadata, further increasing
remains a daunting challenge for many. The their cost.
transactional-memory paradigm simplifies Compiler overinstrumentation. Using

concurrent programming by enabling programmers key insights


to focus on high-level synchronization concepts, STM
 is improving in terms of
or atomic blocks of code, while ignoring low-level performance, often outperforming
sequential, nontransactional code,
implementation details. when running with just four CPU cores.
Hardware transactional memory has shown P arallel applications exhibiting high
contention are not the primary
promising results for leveraging parallelism4 but target for STM so therefore are not
the best benchmarks for evaluating
is restrictive, handling only transactions of limited STM performance.
size or requiring some system events or CPU STM
 with support for compiler
instrumentation and explicit,
instructions to be executed outside transactions.4 nontransparent privatization
Despite attempts to address these issues,19 TM outperforms sequential code in
all but one workload we used and
systems fully implemented in hardware are unlikely still supports the programming
model that is easy to use by
to be commercially available for at least the next few typical programmers.

70 communi cations o f th e ac m | April 2 0 1 1 | vol . 5 4 | no. 4


an STM, programmers must insert STM to STM functions, as it cannot precisely with increasing numbers of threads,
calls for starting and ending transac- determine which instructions access but few compare STM to sequential
tions in their code and replace all mem- shared data. code or address whether STM is a viable
ory accesses from inside transactions Transparent privatization. Making option for speeding execution of appli-
by STM calls for reading and writing certain shared data private to a certain cations.
memory locations. This process, called thread, or “privatization,” is typically Two notable exceptions are Minh et
“instrumentation,” can be manual, in used to allow nontransactional ac- al.2 and Cascaval et al.3 In the former,
which case a programmer manually cesses to some data, to either support STM was shown on a hardware simu-
replaces all memory references with legacy code or improve performance lator to outperform sequential code in
STM calls or else lets it be performed by avoiding the cost of STM calls when most STAMP2 benchmarks. The latter
by an STM compiler. With compilers, accessing private data. Unless certain reported on a series of experiments on
a programmer needs to specify only precautions are taken, privatization real hardware where STM performed
which sequences of statements must can result in race conditions.24 Two ap- worse than sequential code and even
be atomic by enclosing them in trans- proaches to prevent them: Either a pro- implied by the article’s title that STM
actional blocks. The compiler gener- grammer explicitly marks transactions is only a research toy. A close look at
ates code invoking appropriate STM that privatize data or STM transparently the experiments reveal that Cascaval et
read/write calls. While an STM compil- ensures all transactions safely privatize al. considered a subset of the STAMP
er significantly reduces programming data. Explicit privatization puts ad- benchmark suite configured in a specif-
Illustratio n by studio tonne

complexity, it can also degrade the per- ditional burden on the programmer, ic manner while using up to only eight
formance of resulting programs (com- while transparent privatization incurs threads.
pared to manual instrumentation) due runtime overhead,25 especially when no We have since gone a step further,
to overinstrumentation3,8,25; basically, data is actually privatized. comparing STM performance to se-
the compiler instruments the code Many research papers1–3,5,7,13,16,18,20 quential code using a larger and more
conservatively with unnecessary calls have discussed the scalability of STM diverse set of benchmarks and real

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n i c at i o n s of t he acm 71


contributed articles

hardware supporting higher levels of Table 1. STM support.


concurrency. Specifically, we experi-
mented with a state-of-the-art STM
implementation, SwissTM7 running Model Instrumentation Privatization
three different STMBench712 work- STM-ME manual explicit
loads, all 10 workloads of the STAMP STM-CE compiler explicit
(0.9.10)2 benchmark suite, and four STM-MT manual transparent
microbenchmarks, all encompass- STM-CT compiler transparent
ing both large- and small-scale work-
loads. We considered two hardware
platforms: a Sun Microsystems Ultra- more threads and in case of x86 did not conflicts eagerly. The two-phase con-
SPARC T2 CPU machine (referred to use hyperthreading; and tention manager uses different algo-
as SPARC in the rest of this article) ˲˲ We used a state-of-the-art STM im- rithms for short and long transactions.
supporting 64 hardware threads and a plementation more efficient than those This design was chosen to provide
four quad-core AMD Opteron x86 CPU used in Cascaval et al.3 good performance across a range of
machine (referred to as x86 in the rest Clearly, and despite rather good workloads7;
of this article) supporting 16 hardware STM performance in our experiments, Privatization. We implemented
threads. Finally, we also considered there is room for improvement, and we privatization support in SwissTM using
all combinations of privatization and use this article to highlight promising a simple validation-barriers scheme
compiler support for STM (see Table directions. Also, while use of STM in- described in Spear et al.24 To ensure
1). This constitutes the most exhaus- volves several programming challeng- safe privatization, each thread, after
tive performance comparison of STM es3 (such as ensuring weak or strong committing transaction T, waits for all
to sequential code published to date. atomicity, semantics of privatization, other concurrent transactions to com-
The experiments in this article and support for legacy binary code), mit, abort, or validate before executing
(summarized in Table 2) show that alternative concurrency programming application code after T; and
STM does indeed outperform sequen- approaches (such as fine-grain locking Compiler instrumentation. We used
tial code in most configurations and and lock-free techniques) are no easier Intel’s C/C++ STM compiler1,18 for gen-
benchmarks, offering a viable para- to use than STM. Such a comparison erating compiler instrumented bench-
digm for concurrent programming; was covered previously11,13,15,23 and is be- marks.a
STM with manually instrumented yond our scope here. We conducted our experiments us-
benchmarks and explicit privatization ing the following benchmarks:
outperforms sequential code by up to Evaluation Settings STMBench7. STMBench712 is a syn-
29 times on SPARC with 64 concurrent We first briefly describe the STM library thetic STM benchmark that models
threads and by up to nine times on used for our experimental evaluation, realistic large-scale CAD/CAM/CASE
x86 with 16 concurrent threads. More SwissTM,7 along with benchmarks and workloads, defining three different
important, STM performs well with hardware settings. Note that our ex- workloads with different amounts
a small number of threads on many periments with other state-of-the-art of contention: read-dominated (10%
benchmarks; for example, STM-ME STMs5,14,18,20 on which we report in the write operations), read/write (60% write
outperforms sequential code with four companion technical report,6 confirm operations), and write-dominated (90%
threads on 14 of 17 workloads on our the results presented here; SwissTM write operations). The main character-
SPARC machine and on 13 of 17 work- and the benchmarks are available at istics of STMBench7 are a large data
loads on our x86 machine. Basically, http://lpd.epfl.ch/site/research/tmeval. structure and long transactions com-
these results support early hope about The STM we used in our evaluation pared to other STM benchmarks. In
the good performance of STM and reflects three main features: this sense, STMBench7 is very chal-
should motivate further research. Our Synchronization algorithm. SwissTM7 lenging for STM implementations;
results contradict the results of Casca- is a word-based STM that uses invis- STAMP. Consisting of eight dif-
val et al.3 for three main reasons: ible (optimistic) reads, relying on a ferent applications representative of
˲˲ STAMP workloads in Cascaval et time-based scheme to speed up read-
al.3 presented higher contention than set validation, as in Dice et al.5 and a Intel’s C/C++ STM compiler generates only
default STAMP workloads; Riegel et al.21 SwissTM detects read/ x86 code so was not used in our experiments
˲˲ We used hardware supporting write conflicts lazily and write/write on SPARC.

Table 2. Summary of STM speedup over sequential code.

Speedup STM-ME STM-CE STM-MT STM-CT


Hardware Hw threads Min Max Avg Min Max Avg Min Max Avg Min Max Avg
SPARC 64 1.4 29.7 9.1 — — — 1.2 23.6 5.6 — — —
x86 16 0.54 9.4 3.4 0.8 9.3 3.1 0.34 5.2 1.8 0.5 5.3 1.7

72 communications o f th e ac m | April 2 0 1 1 | vol . 5 4 | no. 4


contributed articles

real-world workloads, STAMP2 offers less contention the workload exhib- All threads execute on the same chip
a range of workloads and is widely its, the more benefit is expected from with SPARC, so the inter-thread com-
used to evaluate TM systems. STAMP STM; for example, STM outperforms munication costs less, and sequential
applications can be configured with sequential code by more than 11 times performance of a single thread on
different parameters defining differ- on a read-dominated workload of ST- SPARC is much lower.
ent workloads. In our experiments, we MBench7 and less than two times for STM-ME delivers good performance
used 10 workloads from the STAMP a write-dominated workload of the on both SPARC and x86 architectures,
0.9.10 distribution, including low- same benchmark. clearly showing STM-ME algorithms
and high-contention workloads for On x86 (see Figure 1b), STM-ME scale and perform well in different set-
kmeans and vacation applications outperforms sequential code on 13 tings. However, also important is that,
and one workload for all other applica- workloads with four threads. Over- while STM-ME outperforms sequen-
tions. The exact workload settings we all, STM clearly outperforms sequen- tial code on all the benchmarks, some
used are specified in the companion tial code on all workloads, except on achieved speedups are not very impres-
technical report6; and the challenging, high-contention STM- sive (such as 1.4 times with 64 threads
Microbenchmarks. To evaluate low- Bench7 write workload. The perfor- on the ssca2 benchmark). These lower
level overhead of STMs (such as the mance gain, compared to sequential speedups confirm that STM, despite
cost of synchronization and logging) code, is lower than on SPARC (up to showing great promise for some types
with smaller-scale workloads, we used nine times speedup on x86 compared of concurrent workloads, is not the best
four microbenchmarks that imple- to 29 times on SPARC) for two reasons: solution for all concurrent workloads.
ment an integer set using different
data structures. Every transaction exe- Figure 1. STM-ME performance.
cutes a single lookup, insert, or remove
of a randomly chosen integer from val-   1     2     4     8     16     32     64
(1a) SPARC
ue range. Initially, the data structures
17 24 20 29 16
were filled with 216 elements randomly 14
chosen from a range of 217 values. Dur-
12
ing the experiments, 5% of the trans-
actions were insert operations, 5% 10
Speedup

were remove operations, and 90% were


8
search operations.
It is important to note that these 6

benchmarks are TM benchmarks,


4
most using transactions extensively
(with the exception of labyrinth and 2

to a lesser extent genome and yada). 0


Applications that would use transac-
SB7 Read

SB7 Read/Write

SB7 Write

Bayer

Genome

Intruder

Kmeans High

Kmeans Low

Labyrinth

Ssca2

Vacation High

Vacation Low

Yada

Hashtable

Linked List

Rbtree

Skiplist
tions to simplify synchronization, but
in which only a small fraction of execu-
tion time would be spent in transac-
tions, would benefit from STM more
than the benchmarks we used. In a
(1b) x86
sense, the benchmarks we used rep-
  1     2     4     8     16
resent a worst-case scenario for STM 10
usage. For each experiment, we com- 9
puted averages from at least five runs. 8
7
STM-ME Performance
Speedup

6
Figure 1a outlines STM-ME (manual 5
instrumentation with explicit priva- 4
tization) speedup over sequential,
3
noninstrumented code on SPARC,
2
showing that STM-ME delivers good
1
performance with a small number of
0
threads, outperforming sequential
SB7 Read

SB7 Read/Write

SB7 Write

Bayer

Genome

Intruder

Kmeans High

Kmeans Low

Labyrinth

Ssca2

Vacation High

Vacation Low

Yada

Hashtable

Linked List

Rbtree

Skiplist

code on 14 of 17 workloads with four


threads. The figure also outlines that
STM outperforms sequential code on
all benchmarks we used by up to 29
times on the vacation low bench-
mark. The experiment shows that the

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n i c at i o n s of t he acm 73


contributed articles

Contradicting earlier results. The low- and high-contention workloads to a similar machine without hyper-
results reported by Cascaval et al.3 in- for kmeans and vacation. Workload threading. The figure shows that hy-
dicated STMs do not perform well on settings from Cascaval et al.3 do indeed perthreading has a significant effect
three of the STAMP applications we degrade STM-ME performance. The on performance, especially with higher
also used: kmeans, vacation, and performance impact is significant in thread counts. Slowdown in genome
genome. In our experiments, STM de- kmeans (around 20% for high- and up with four threads is around 65% and
livered good performance on all three. to 200% for low-contention workloads) on two vacation workloads around
Three main reasons for such consider- and in vacation (30% to 50% in both). 40%. The performance difference in
able difference are: The performance is least affected in kmeans workloads is significant, even
Workload characteristics. A close genome (around 10%). with a single thread, due to differences
look at the experimental settings in Different hardware. We used hard- in CPUs not related to hyperthread-
Cascaval et al.3 reveals their workloads ware configurations with support for ing. Still, even with kmeans, slowdown
had higher contention than the default more hardware threads—64 and 16 in with four threads is much higher than
STAMP workloads. STM usually has the our experiments—compared to eight with one and two threads.
lowest performance in highly contend- in Cascaval et al.3 This significant dif- More-efficient STM. Part of the
ed workloads, consistent with our pre- ference lets STM perform better, as performance difference is due to a
vious experiments, as in Figure 1. there is more parallelism at the hard- more efficient STM implementation.
To evaluate the impact of workload ware level to be exploited. The results reported by Dragojević et
characteristics, we ran both default Our x86 machine does not use hy- al.7 suggest that SwissTM has better
STAMP workloads and STAMP work- perthreading, while the one used by performance than TL2, performing
loads from Cascaval et al.3 on a ma- Cascaval et al.3 does; hardware-thread comparably to the IBM STM in Cas-
chine with two quad-core Xeon CPUs multiplexing in hyperthreaded CPUs caval et al.3
that was more similar to the machine in can hamper performance. To evaluate We also experimented with TL2,5
Cascaval et al.3 than to the x86 machine the effect, we ran the default STAMP McRT-STM,1 and TinySTM.20 Tim Har-
we used in our earlier experiments. Fig- workloads on a machine with two sin- ris of Microsoft Research provided us
ure 2a outlines slowdown of workloads gle-core hyperthreaded Xeon CPUs. with the Bartok STM14 performance
from Cascaval et al.3 compared to de- Figure 2b outlines the slowdown on results on a subset of STAMP. All these
fault STAMP workloads; we used both a hyperthreaded machine compared experiments confirm our general con-
clusion about good STM performance
Figure 2. Impact of experimental settings3 on STM-ME performance.
on a range of workloads.6
Further optimizations. In some work-
(2a) Workload Impact   1     2     4    8 loads, performance degraded when we
3.5
used too many concurrent threads.
3 One possible alternative to improv-
ing performance in these cases would
2.5
be to modify the thread scheduler so
Slowdown

2 it avoids running more concurrent


threads than is optimal for a given
1.5
workload, based on the information
1 provided by the STM runtime.
0.5
STM-MT Performance
0 Validation barriers we use to ensure
Genome Kmeans High Kmeans Low Vacation High Vacation Low
privatization safety require frequent
communication among all threads in
(2b) Hyper-threading Impact   1     2    4
the system and can degrade perfor-
3 mance due to the time threads spend
waiting for one another and the in-
2.5 creased number of cache misses. A
similar technique is known to signifi-
2
Slowdown

cantly affect performance of STM in


1.5
certain cases,25 as confirmed by our
experiments.
1 We must highlight the fact that none
of the benchmarks we used requires
0.5
privatization. We thus measured the
worst case: Supporting transparent
0
Genome Kmeans High Kmeans Low Vacation High Vacation Low privatization incurs overhead without
the performance benefits of reading
and writing privatized data outside

74 communications o f th e acm | April 2 0 1 1 | vol . 5 4 | no. 4


contributed articles

of transactions. Also, the measured still scales and performs well on a range privatization, resulting in better perfor-
performance costs are specific to our of applications. We also conclude that mance and scalability.
choice of privatization technique and reducing costs of cache-coherence traf- Further optimizations. Two recent
implementation; ways to reduce priva- fic by having more cores on a single proposals16,17 aim to improve scalability
tization costs have been proposed.16,17 chip reduces the cost of transparent of transparent privatization by employ-
Figure 3a shows performance of
speedupSTM-MT
STM-MT (manual instrumentation with Table 3. Transparent privatization costs (1 — speedupSTM-ME ).
transparent privatization) with SPARC,
conveying that transparent privatiza-
SPARC x86
tion affects the performance of STM
significantly but that STM-MT still per- Threads Min Max Avg Min Max Avg
forms well, outperforming sequential 1 0 0.06 0 0 0.45 0.08
code on 11 of 17 workloads with four 2 0.02 0.47 0.16 0.03 0.58 0.29
threads and on 13 workloads with eight 4 0.03 0.59 0.26 0.06 0.64 0.4
threads. Also, STM-MT outperforms se- 8 0.03 0.66 0.32 0.08 0.69 0.48
quential code on all benchmarks. How- 16 0 0.75 0.35 0.17 0.85 0.51
ever, performance is not as good; STM- 32 0 0.77 0.34 — — —
MT outperforms sequential code by up 64 0 0.8 0.35 — — —
to 23 times compared to 29 times with
STM-ME and by 5.6 times on average
compared to 9.1 times with STM-ME. Figure 3. STM-MT performance.
Our experiments show performance
for some workloads (such as ssca2) is
  1     2     4     8     16     32     64
unaffected but also that privatization (3a) SPARC

costs can be as high as 80% (such as in 16


18 23

vacation low and yada). Also, in gen-


14
eral, costs increase with the number of
concurrent threads, affecting both per- 12
formance and scalability of STM. Table
Speedup

10
3 summarizes the costs of transparent
8
privatization with SPARC.
We repeated the experiments with 6

the x86 machine (see Figure 3b), with re- 4


sults confirming that STM-MT has low-
2
er performance than STM-ME. STM-MT
outperforms sequential code on eight 0
SB7 Read

SB7 Read/Write

SB7 Write

Bayer

Genome

Intruder

Kmeans High

Kmeans Low

Labyrinth

Ssca2

Vacation High

Vacation Low

Yada

Hashtable

Linked List

Rbtree

Skiplist
of 17 workloads with four threads and
on 14 workloads with eight threads.
Overall, transparent privatization
overhead reduces STM performance
below performance of sequential code
in three benchmarks: STMBench7 (3b) X86
read/write, STMBench7 write, and   1     2     4     8     16
6
kmeans high. Note that performance
is affected most with microbenchmarks 5
due to cache contention for shared
privatization metadata induced by 4
Speedup

small transactions.
Our experiments show that privati- 3

zation costs can be as high as 80% and


2
confirm that transparent privatiza-
tion costs increase with the number of 1
threads. The cost of transparent priva-
tization is higher on our four-CPU x86 0

machine than on SPARC, due mainly to


SB7 Read

SB7 Read/Write

SB7 Write

Bayer

Genome

Intruder

Kmeans High

Kmeans Low

Labyrinth

Ssca2

Vacation High

Vacation Low

Yada

Hashtable

Linked List

Rbtree

Skiplist

the higher costs of interthread commu-


nication; Table 3 lists the costs of trans-
parent privatization with x86.
While the effect of transparent priva-
tization can be significant, STM-MT

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n i c at i o n s of t he acm 75


contributed articles

Table 4. Compiler instrumentation ables are private to some threads and additional overheads introduced by
cost with x86 (1 —
speedupSTM-CE which are read-only). For this reason, compiler instrumentation remain ac-
speedupSTM-ME ).
the compiler, conservatively, generates ceptable, as STM-CE outperforms se-
more STM calls than necessary; unnec- quential code on 10 of 14 workloads
Threads Min Max Avg essary STM calls reduce performance with only four threads and on all but
1 0 0.42 0.16 because they are more expensive than one workload overall.
2 0 0.4 0.17 the CPU instructions they replace. Further optimizations. Ni et al.18 de-
4 0 0.4 0.11 Figure 4 outlines STM-CE (compiler scribed optimizations that replace full
8 0 0.47 0.11 instrumentation with explicit privati- STM load and store calls with special-
16 0 0.44 0.17 zation) speedup over sequential code,b ized, faster versions of the same calls;
showing that STM-CE has good per- for example, some STMs perform fast
formance, outperforming sequential reads of memory locations previously
ing partially visible reads. By making code on 10 of 14 workloads with four accessed for writing inside the same
readers only partially visible, the cost of threads and on 13 workloads with eight transaction. While the compiler we
reads is reduced, compared to fully visi- threads. Overall, STM-CE outperforms used supports these optimizations, we
ble reads, while improving the scalabil- sequential code in all benchmarks but have not yet implemented the lower-
ity of privatization support. To imple- kmeans high though scales well on cost STM barriers in SwissTM. Com-
ment partially visible readers, Marathe kmeans high, promising to outper- piler data structure analysis was used
et al.17 used timestamps, while Lev et form sequential code with additional by Riegel et al.22 to optimize the code
al.16 used a variant of SNZI counters.10 hardware threads. generated by the Tanger STM compiler.
In addition, Lev et al.16 avoided use of The cost of compiler instrumenta- Adl-Tabatabai et al.1 proposed sev-
centralized privatization metadata to tion is about 20% for all workloads but eral optimizations in the Java context
improve scalability. kmeans, where it is about 40%. Also, on to eliminate transactional accesses to
some workloads (such as labyrinth, immutable data and data allocated in-
STM-CE Performance ssca2, and hashtable), compiler side current transactions. Harris et al.14
Compiler instrumentation often re- instrumentation does not introduce used flow-sensitive interprocedural
places more memory references by significant costs, and the performance compiler analysis, as well as runtime
STM load and store calls than is strictly of STM-ME and STM-CE is almost the log filtering in Bartok-STM, to identify
necessary, resulting in reduced per- same. In our experiments the costs of objects allocated in the current trans-
formance of generated code, or “over- compiler instrumentation are approxi- action and eliminate transactional
instrumentation.”3,8,25 Ideally, the com- mately the same for all thread counts, accesses to them. Eddon and Herlihy9
piler replaces only memory accesses conveying that compiler instrumenta- used dataflow analysis of Java pro-
with STM calls when they reference tion does not affect STM scalability; grams to eliminate some unnecessary
some shared data. However, the com- Table 4 summarizes costs introduced transactional accesses.
piler does not have information about by compiler instrumentation. The STM-CT performance. We also per-
all uses of variables in the whole pro- formed experiments with STM-CT
gram or semantic information about (using both compiler instrumenta-
b The data presented here does not include
variable use typically available only to STMBench7 workloads due to the limita- tion and transparent privatization)
the programmer (such as which vari- tions of the STM compiler we used. but defer the result to the companion
technical report.6 Our experiments
Figure 4. STM-CE performance with 16-core x86. showed that, despite the high costs of
transparent privatization and compiler
overinstrumentation, STM-CT outper-
  1     2     4     8     16
10 formed sequential code on all but four
9 workloads out of 14. However, STM-CT
8 requires higher thread counts to out-
7
perform sequential code than previous
Speedup

6
STM variants for the same workloads,
5
as it outperformed sequential code
in only five of 14 workloads with four
4
threads. The overheads of STM-CT are
3
largely a simple combination of STM-
2
CE and STM-MT overheads; the same
1
techniques for reducing transparent
0
privatization and compilation over-
Genome

Intruder

Kmeans High

Kmeans Low

Labyrinth

Ssca2

Vacation High

Vacation Low

Yada

Hashtable

Linked List

Rbtree

Skiplist
Bayes

heads are applicable here.


Programming model. The experi-
ments we report here imply that STM-
CE (compiler instrumentation with
explicit privatization) may be the most

76 communi cations o f th e acm | April 2 0 1 1 | vol . 5 4 | no. 4


contributed articles

appropriate programming model for ments with McRT-STM, confirming our 15. Herlihy, M., Luchangco, V., Moir, M., and Scherer III,
W.N. Software transactional memory for dynamic-
STM. STM-ME is likely too tedious and speculation about the effect of hyper- sized data structures. In Proceedings of the 22nd ACM
error-prone for use in most applica- threading. We also thank Hillel Avni, Symposium on Principles of Distributed Computing
(Boston, July 13–16). ACM Press, New York, 2003,
tions and might instead be appropri- Derin Harmanci, Michał Kapałka, Pat- 92–101.
ate only for smaller applications or rick Marlier, Maged Michael, and Mark 16. Lev, Y., Luchangco, V., Marathe, V., Moir, M., Nussbaum,
D., and Olszewski, M. Anatomy of a scalable software
performance-critical sections of code. Moir for their comments. This work transactional memory. In Proceedings of the Fourth
Clearly, an STM compiler is crucial was funded by the Velox FP7 European ACM SIGPLAN Workshop on Transactional Computing
(Raleigh, NC, Feb. 15, 2009).
for usability, yet transparent privatiza- Project and the Swiss National Science 17. Marathe, V.J., Spear, M.F., and Scott, M.L. Scalable
tion support might not be absolutely Foundation grant 200021-116745/1. techniques for transparent privatization in software
transactional memory. In Proceedings of the 37th
needed from STM. It seems that pro- International Conference on Parallel Processing
(Portland, OR, Sept. 8–12). IEEE Computer Society,
grammers make a conscious decision References
Washington, D.C., 2008, 67–74.
to privatize a piece of data, rather than 1. Adl-Tabatabai, A.-R., Lewis, B.T., Menon, V., Murphy, 18. Ni, Y., Welc, A., Adl-Tabatabai, A.-R., Bach, M.,
B.R., Saha, B., and Shpeisman, T. Compiler and Berkowits, S., Cownie, J., Geva, R., Kozhukow, S.,
let the data be privatized by accident. runtime support for efficient software transactional Narayanaswamy, R., Olivier, J., Preis, S., Saha, B.,
memory. In Proceedings of the 2006 ACM SIGPLAN
This might imply that, for the pro- Conference on Programming Language Design and
Tal, A., and Tian, X. Design and implementation of
transactional constructs for C/C++. In Proceedings
grammer, explicitly marking privatiz- Implementation (Ottawa, June 10–16). ACM Press, of the 23rd Annual ACM SIGPLAN Conference on
New York, 2006, 26–37.
ing transactions would not require 2. Cao Minh, C., Chung, J., Kozyrakis, C., and Olukotun,
Object-Oriented Programming, Systems, Languages,
and Applications (Nashville, Oct. 19–23). ACM Press,
much additional effort. Apart from se- K. STAMP: Stanford Transactional Applications New York, 2008, 195–212.
for Multiprocessing. In Proceedings of the 2008
mantic issues, our experiments show IEEE International Symposium on Workload
19. Rajwar, R., Herlihy, M., and Lai, K. Virtualizing
transactional memory. In Proceedings of the 32nd
that STM-CE offers good performance Characterization (Seattle, Sept. 14–16). IEEE Annual International Symposium on Computer
Computer Society, Washington, D.C., 2008, 35–46.
while scaling well.c 3. Cascaval, C., Blundell, C., Michael, M.M., Cain,
Architecture (Madison, WI, June 4–8). IEEE
Computer Society, Washington, D.C., 2005, 494–505.
H.W., Wu, P., Chiras, S., and Chatterjee, S. Software 20. Riegel, T., Felber, P., and Fetzer, C. Dynamic
transactional memory: Why is it only a research toy?
Conclusion Commun. ACM 51, 11 (Nov. 2008), 40–46.
performance tuning of word-based software
transactional memory. In Proceedings of the 13th
We reported on the most exhaustive 4. Dice, D., Lev, Y., Moir, M., and Nussbaum, D. Early ACM SIGPLAN Symposium on Principles and Practice
evaluation to date of the ability of an experience with a commercial hardware transactional of Parallel Programming (Salt Lake City, Feb. 20–23).
memory implementation. In Proceedings of the 14th ACM Press, New York, 2008, 237–246.
STM to outperform sequential code, International Conference on Architectural Support 21. Riegel, T., Felber, P., and Fetzer, C. A lazy snapshot
for Programming Languages and Operating Systems algorithm with eager validation. In Proceedings of
showing it can deliver good perfor- (Washington, D.C., Mar. 7–11). ACM Press, New York, the 20th International Symposium on Distributed
mance across a range of workloads and 2009, 157–168. Computing (Stockholm, Sept. 18–20). Springer-Verlag,
5. Dice, D., Shalev, O., and Shavit, N. Transactional Berlin, 2006, 284–298.
multicore architectures. Though we locking II. In Proceedings of the 20th International 22. Riegel, T., Fetzer, C., and Felber, P. Automatic data
do not claim STM is a silver bullet for Symposium on Distributed Computing (Stockholm, partitioning in software transactional memories.
Sept. 18–20). Springer-Verlag, Berlin, 2006, 194–208. In Proceedings of the 20th ACM Symposium on
general-purpose concurrent program- 6. Dragojević, A., Felber, P., Gramoli, V., and Guerraoui, R. Parallelism in Algorithms and Architectures (Münich,
ming, our results contradict Cascaval Why STM Can Be More Than a Research Toy. Technical June 14–16). ACM Press, New York, 2008, 152–159.
Report LPD-REPORT-2009-003. EPFL, Lausanne, 23. Shavit, N. and Touitou, D. Software transactional
et al.3 and suggest STM is usable for a Switzerland, 2009. memory. In Proceedings of the 14th ACM SIGACT-
range of applications. They also sup- 7. Dragojević, A., Guerraoui, R., and Kapalka, M. SIGOPS Symposium on Principles of Distributed
Stretching transactional memory. In Proceedings of Computing (Ottawa, Aug. 20–23). ACM Press, New
port the initial hopes about STM per- the 2009 ACM SIGPLAN Conference on Programming York, 1995, 204–213.
formance and should motivate further Language Design and Implementation (Dublin, 2009). 24. Spear, M.F., Marathe, V.J., Dalessandro, L., and Scott,
ACM Press, New York, 2009, 155–165. M.L. Privatization techniques for software transactional
research in the field. 8. Dragojević, A., Ni, Y., and Adl-Tabatabai, A.-R. memory. In Proceedings of the 26th Annual ACM
Many improvements promise to Optimizing transactions for captured memory. SIGACT-SIGOPS Symposium on Principles of
In Proceedings of the 21st ACM Symposium on Distributed Computing (Portland, OR, Aug. 12–15). ACM
boost STM performance further, mak- Parallelism in Algorithms and Architectures (Calgary, Press, New York, 2007, 338–339; extended version
ing it even more appealing; for exam- Aug. 11–13). ACM Press, New York, 2009, 214–222. available as TR 915, Computer Science Department,
9. Eddon, G. and Herlihy, M. Language support and University of Rochester, Feb. 2007.
ple, static segregation of memory lo- compiler optimizations for STM and transactional 25. Yoo, R.M., Ni, Y., Welc, A., Saha, B., Adl-Tabatabai,
A.-R., and Lee, H.H.S. Kicking the tires of software
cations, depending on whether or not boosting. In Proceedings of the Fourth International
transactional memory: Why the going gets tough.
Conference on Distributed Computing and Internet
the locations are shared, can minimize Technology (Bangalore, Dec. 17–20). Springer-Verlag, In Proceedings of the 20th ACM Symposium on
Parallelism in Algorithms and Architectures (Münich,
compiler instrumentation overhead, Berlin, 2007, 209–224.
June 14–16). ACM Press, New York, 2008, 265–274.
10. Ellen, F., Lev, Y., Luchangco, V., and Moir, M. Snzi:
partially visible reads can improve Scalable nonzero indicators. In Proceedings of the
privatization performance, and reduc- 26th Annual ACM SIGACT-SIGOPS Symposium on
Principles of Distributed Computing (Portland, OR, Aleksandar Dragojević (aleksandar.dragojevic@epfl.
tion of accesses to shared data can en- Aug. 12–15). ACM Press, New York, 2007, 13–22. ch) is a Ph.D. student in the Distributed Programming
hance scalability. 11. Felber, P., Gramoli, V., and Guerraoui, R. Elastic Laboratory of the École Polytechnique Fédérale de
transactions. In Proceedings of the 23rd International Lausanne, Lausanne, Switzerland.
Symposium on Distributed Computing (Elche/Elx,
Acknowledgments Spain, Sept. 23–25). Springer-Verlag, Berlin, 2009, Pascal Felber (pascal.felber@unine.ch) is a professor in
93–107. the Computer Science Department of the Université de
We are grateful to Tim Harris for run- 12. Guerraoui, R., Kapalka, M., and Vitek, J. STMBench7: Neuchâtel, Neuchâtel, Switzerland.
ning the Bartok-STM experiments, to A benchmark for software transactional memory. In
Proceedings of the Second ACM SIGOPS/EuroSys Vincent Gramoli (vincent.gramoli@epfl.ch) is a
Calin Cascaval for providing us with European Conference on Computer Systems (Lisbon, postdoctoral researcher in the Distributed Computing
Mar. 21–23). ACM Press, New York, 2007, 315–324.
the experimental settings of Cascaval et 13. Harris, T. and Fraser, K. Language support for
Laboratory in the École Polytechnique Fédérale de
Lausanne, Lausanne, Switzerland, and a postdoctoral
al.,3 and to Yang Ni for running experi- lightweight transactions. In Proceedings of the researcher in the Computer Science Department of the
18th Annual ACM Conference on Object-Oriented Université de Neuchâtel, Neuchâtel, Switzerland.
Programming, Systems, Languages, and Applications
c Because the experiments reported in Cascaval (Anaheim, CA, Oct. 26–30). ACM Press, New York, Rachid Guerraoui (rachid.guerraoui@epfl.ch) is a
et al.3 were conducted with STM variants not 2003, 388–402. professor in the Distributed Programming Laboratory in
supporting transparent privatization, our ob- 14. Harris, T., Plesko, M., Shinnar, A., and Tarditi, D. the École Polytechnique Fédérale de Lausanne, Lausanne,
Optimizing memory transactions. In Proceedings Switzerland.
servation about the programming model does of the ACM SIGPLAN Conference on Programming
not alter the performance comparisons cov- Language Design and Implementation (Ottawa, June
ered earlier in the article. 10–16). ACM Press, New York, 2006, 14–25. © 2011 ACM 0001-0782/11/04 $10.00

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n ic at i o n s of t he acm 77


contributed articles
d oi:10.1145/1924421.1924441
how more recent developments (such
Finding 10 balloons across the U.S. illustrates as social media and crowdsourcing)
could be used to solve challenging
how the Internet has changed the way problems involving distributed geo-
we solve highly distributed problems. locations. Since the Challenge was an-
nounced only about one month before
by John C. Tang, Manuel Cebrian, Nicklaus A. Giacobe, the balloons were deployed, it was not
Hyun-Woo Kim, Taemie Kim, and Douglas “Beaker” Wickert only a timed contest to find the bal-
loons but also a time-limited challenge

Reflecting
to prepare for the contest. Both the dif-
fusion of how teams heard about the
Challenge and the solution itself dem-
onstrated the relative effectiveness of

on the DARPA
mass media and social media.
The surprising efficiency of apply-
ing social networks of acquaintances
to solve widely distributed tasks was

Red Balloon
demonstrated in Stanley Milgram’s
celebrated work9 popularizing the no-
tion of “six degrees of separation”; that
is, it typically takes no more than six in-

Challenge
termediaries to connect any arbitrary
pair of people. Meanwhile, the Internet
and other communication technolo-
gies have emerged that increase the
ease and opportunity for connections.
These developments have enabled
crowdsourcing—aggregating bits of
information across a large number of
users to create productive value—as a
popular mechanism for creating en-
cyclopedias of information (such as
Th e 2009 DARPA Red Balloon Challenge (also known Wikipedia) and solving other highly
distributed problems.1
as the DARPA Network Challenge) explored how the The Challenge was announced at the
Internet and social networking can be used to solve “40th Anniversary of the Internet” event
a distributed, time-critical, geo-location problem. (http://www.engineer.ucla.edu/IA40/
index.html). On December 5, 2009, at
Teams had to find 10 red weather balloons deployed 10:00 a.m. Eastern time, 10 numbered,
at undisclosed locations across the continental U.S. eight-foot-diameter red weather bal-
loons were deployed at moored loca-
The first team to correctly identify the locations of
all 10 would win a $40,000 prize. A team from the key insights
Massachusetts Institute of Technology (MIT) won in C rowdsourcing, social networking,
less than nine hours (http://networkchallenge.darpa. and traditional media enabled teams
to quickly find 10 weather balloons
mil/). Here, we reflect on lessons learned from the scattered across the U.S.

strategies used by the various teams. B esides finding the balloons,
Photogra ph courtesy of da rpa

distinguishing correct balloon sightings


The Challenge commemorated the 40th anniversary from misleading claims turned out
to be an important part of the effort.
of the first remote log-in to the ARPANet (October 29, V ariations in the strategies of the
1969), an event widely heralded as the birth of the competing teams reflected differences
in how social media can be tailored
Internet. The Challenge was designed to identify to fit a given task.

78 communi cations o f th e acm | April 2 0 1 1 | vol . 5 4 | no. 4


tions across the continental U.S. (see each balloon and an attendant at each fied the location of all of them in eight
Figure 1). DARPA selected readily ac- balloon issuing certificates). Teams hours, 52 minutes, 41 seconds. A team
cessible public sites where the balloons submitted their guesses to a DARPA from the Georgia Tech Research Insti-
would be visible from nearby roads, Web site and were given feedback as to tute (GTRI) placed second by locating
each staffed by a DARPA agent who which balloons had been identified cor- nine balloons within nine hours. Two
would issue a certificate validating each rectly. While the balloons were sched- more teams found eight balloons, five
balloon location. While general infor- uled to be taken down at 5:00 p.m. local teams found seven balloons, and the
mation about the Challenge (such as time, DARPA was prepared to re-deploy iSchools team (representing Pennsyl-
date and time of the deployment, with them a second day and leave the sub- vania State University, University of
a picture of a balloon) had already been mission process open for up to a week Illinois at Urbana-Champaign, Univer-
distributed, some details were not an- until a team identified all 10. sity of Pittsburgh, Syracuse University,
nounced (such as DARPA’s banner on The team from MIT correctly identi- and University of North Carolina at

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n ic at i o n s of t he acm 79


contributed articles

platform for viral collaboration that


used recursive incentives to align the
public’s interest with the goal of win-
ning the Challenge. This approach was
inspired by the work of Peter S. Dodds
et al.5 that found that success in us-
ing social networks to tackle widely
distributed search problems depends
on individual incentives. The work of
Mason and Watts7 also informed the
use of financial incentives to motivate
crowdsourcing productivity.
The MIT team’s winning strategy
was to use the prize money as a finan-
cial incentive structure rewarding not
only the people who correctly located
balloons but also those connecting
Figure 1. Locations in the DARPA Red Balloon Challenge.
the finder to the MIT team. Should the
team win, they would allocate $4,000
Figure 2. Example recursive incentive-structure process for the MIT team. in prize money to each balloon. They
promised $2,000 per balloon to the
first person to send in the correct
Alice wins $750 ALICE balloon coordinates. They promised
Bob wins $500 $250 $1,000 to the person who invited that
Carol wins $1,000 $500 balloon finder onto the team, $500
Dave wins $2,000
to whoever invited the inviter, $250
to whoever invited that person, and
so on. Any remaining reward money
would be donated to charity.
BOB
$500
$1,000 Figure 2 outlines an example of this
recursive incentive structure. Alice
joins the team and is given an invite
link, like http://balloon.mit.edu/alice.
Alice then emails her link to Bob, who
Another
CAROL balloon uses it to join the team as well. Bob
$2,000
$1,000 found! gets a unique link, like http://balloon.
mit.edu/bob, and posts it on Face-
book. His friend Carol sees it, signs up,
then twitters about http://balloon.mit.
edu/carol. Dave uses Carol’s link to
DAVE
$2,000
Balloon join, then spots one of the DARPA bal-
found! loons. Dave is the first person to report
the balloon’s location to the MIT team,
helping it win the Challenge. Once
that happens, the team sends Dave
Chapel Hill) finished tenth by locating balloon sightings, and the role of so- $2,000 for finding the balloon. Carol
six balloons. cial networking tools in their process. gets $1,000 for inviting Dave, Bob gets
Two months later, at the Comput- While the GTRI team was unavailable $500 for inviting Carol, and Alice gets
er-Supported Cooperative Work Con- for this article, we report on what they $250 for inviting Bob. The remaining
ference (http://www.cscw2010.org/) shared at the CSCW session and pub- $250 is donated to charity.
in Savannah, GA, a special session lished elsewhere.6,11,12 The recursive incentive structure
dedicated to lessons learned from the differed from the direct-reward op-
Challenge brought together represen- MIT Team tion of giving $4,000 per balloon
tatives from the winning MIT team, The MIT team learned about the Chal- found in two key ways: First, a direct
the GTRI team, and the iSchools team lenge only a few days before the bal- reward might actually deter people
to compare and contrast among the loons were deployed and developed a from spreading the word about the
strategies and experiences across the strategy that emphasized both speed MIT team, as any new person recruit-
teams. There, members of the MIT (in terms of number of people recruit- ed would be extra competition for the
and iSchools teams reflected on their ed) and breadth (covering as much U.S. reward. Second, it would eliminate
strategies, how they validated their geography as possible). They set up a people living outside the U.S., as there

80 communi cations o f th e ac m | April 2 0 1 1 | vol . 5 4 | no. 4


contributed articles

was no possibility of them spotting a used involved comparing the IP ad- Many submissions included pic-
balloon. These two factors played a dress of the submission with where tures, some contrived to confirm mis-
key role in the success of the MIT ap- a balloon was reported found; for ex- leading submissions. Most altered pic-
proach, as illustrated by the fact that ample, one submission reporting a tures involved shots of a balloon from
the depth of the tree of invites went up balloon in Florida came from an IP ad- a distance and lacked the DARPA agent
to 15 people, and approximately one dress in the Los Angeles area. A simple holding the balloon and the DARPA
of three tweets spreading information IP trace and common sense filtered banner (an unannounced detail). Fig-
about the team originated outside the out such false submissions. ure 4 shows examples of authentic and
U.S. Distributing the reward money
more broadly motivated a much larger Figure 3. Typical real (top) and false (bottom) locations of balloons, with bottom map
depicting five submissions with identical locations.
number of people (more than 5,000)
to join the team, including some from
outside of the U.S. who could be re-
warded for simply knowing someone
who could find a balloon. This strategy
combined the incentive of personal
gain with the power of social networks
to connect people locating each bal-
loon with the MIT team.
The MIT team received more than
200 submissions of balloon sightings,
of which 30 to 40 turned out to be ac-
curate. Given the considerably noisy
submission data, including deliber-
ate attempts at misdirection, the team
had to develop a strategy to accurately
identify the correct sightings. It did
not have time to build a sophisticated
machine-learning system to automate
the process, nor did it have access to
a trusted human network to verify
balloon sightings. Instead, most of
its strategies relied on using human
reasoning to analyze the information
submitted with the balloon sightings
and eliminate submissions with in-
consistencies.
The first strategy was to observe the
patterns of submissions about a certain
balloon site. Since the balloons were
all located in public spaces, each one
tended to elicit multiple submissions.
Multiple submissions at a specific loca-
tion increased the probability of a re-
port being accurate. However, those de-
liberately falsifying balloon sightings
also submitted multiple sightings for
each false location. To filter out these
submissions, the team observed differ-
ing patterns in how balloon locations
were reported (see Figure 3). Multiple
submissions about a real balloon loca-
tion tended to differ a little from one
another, reflecting natural variation
in representing a certain location: ad-
dress, crossroads, nearby landmarks.
Malicious submissions tended to have
identical representations for a single
location, making them suspicious.
Another simple strategy the team Figure 4. Typical real (left) and contrived (center and right) pictures of balloons.

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n ic at i o n s of t he acm 81


contributed articles

contrived confirmation photos. the team so anyone spotting a balloon ing, while others simply dismissed the
While the MIT team succeeded in would be more likely to report it to the request. In essence, the GTRI team
quickly collecting balloon-sighting team. Besides activating the team Web largely relied on social persuasion of
data, it relied on human analysis of the site three weeks before launch day, it strangers, either of potential balloon
data to detect inconsistencies or pat- leveraged mass media coverage of the spotters or of people in the vicinity of
terns reflecting attempts to mislead team and search engine rank optimiza- a balloon sighting, to validate balloon
with false sightings. Analyses exposed tion for the Web site to make its partici- locations.
bogus balloon sightings, resulting in pation in the Challenge readily discov- While the GTRI team correctly iden-
identifying the accurate sightings by erable. This approach capitalized on tified nine balloons, it had no record of
process of elimination. its longer lead time advantage by start- a report of the tenth balloon (in Katy,
ing early to prepare for the contest. The TX) being submitted to the team. The
GTRI Team team also declared it would donate all mechanism for personally validat-
In contrast, the GTRI team (also known prize money to charity, appealing to ing balloon sightings (and perhaps its
as the “I Spy a Red Balloon” team) was the intrinsic motivation of altruism to charitable intentions) seemed to en-
one of the quickest to launch a Web encourage people to help the team. gender more social cooperation, but
site and start recruiting a network of While the GTRI team also had to the effort fell short of eliciting a report
participants, eventually growing to validate the accuracy of reported sight- of all 10 balloons.
about 1,400 people. It even explored ings, it believed its charitable inten-
partnering with a major shipping com- tions deterred submission of false iSchools Team
pany to leverage its network of drivers reports to the team.11 The strategy fo- The iSchools team formed about two
covering the U.S. to find and report bal- cused on personally confirming bal- weeks before the launch date, recruit-
loon locations. Ultimately, the compa- loon sightings. Where possible, the ing observers from member organiza-
ny declined over “concerns about driv- team had a direct conversation with tions for direct search for the balloons
er safety and focus on the job.”12 The the balloon spotter to verify a report, and employing Open Source Intelli-
GTRI team instead promoted its own creating a social situation whereby it gence methods8 for cyberspace search.
Web page, registered a Google Voice was more difficult to fabricate balloon Confirmation techniques were a key el-
number, and formed a Facebook group sightings. If the team could not person- ement of the iSchools team’s ability to
to communicate with participants ally contact a balloon spotter, it called locate six of the 10 balloons, helping it
searching for balloons for the team. nearby businesses to solicit help vali- claim tenth place. Most of the six were
A major aspect of the GTRI strat- dating sightings. Such cold calls pro- located through the cyberspace search
egy was to promote the visibility of duced mixed results; some were oblig- approach, using humans as sensors in
a participatory sensing experiment,2
whereas directly recruiting them as
observers in advance of an event is of-
ten problematic or impossible.
The team tried using the wide geo-
graphic footprint of its member orga-
nizations. Since it included colleges
and universities from across the con-
tinental U.S., it had a good chance of
recruiting observers wherever DARPA
placed balloons. Current students,
faculty, and staff, as well as alumni,
were recruited through messages sent
to email lists, Twitter feeds, and Face-
Figure 5. Fabricated photo posted during the challenge (left) (http://twitpic.com/s9kun) and book groups, when available. Only a
photo taken by a pre-recruited observer in Albany, NY (right). handful of pre-registered observers ac-
tively participated during launch day,
yielding only a single valid balloon lo-
cation through direct search.
In the cyberspace-search approach,
a group of analysts sought evidence of
balloon-sighting reports that were ac-
cessible on publicly available Internet
sites, including public Twitter feeds,
Web sites of competing teams, and any
other source they could access with-
Figure 6. Photo Mapping with Google Maps and Panoramio (Location: Chaparral Park, out hacking. This approach was the
Scottsdale, AZ); photo report from Twitter (http://twitpic.com/s9ffv) (left);
Google Maps with Panoramio photos (center); and view-in image from Panoramio (right) primary source of data for finding the
(http://www.panoramio.com/photo/2412514). other balloon locations. Evidence was

82 communi cations o f th e ac m | April 2 0 1 1 | vol . 5 4 | no. 4


contributed articles

gathered from all sources, compiled, the iSchools team triangulated infor- Reflections
and manually evaluated. The valid- mation across many social networking This experience generated insights at
ity of evidence was assessed to include sites. Following geographical clues in several levels. Diffusion of the Chal-
the content of the data, as well as the the original posting,3,10 the team con- lenge itself demonstrated the com-
reputation of its source; for example, firmed the true identity and likely home plementary roles of traditional mass
solitary tweets without detail sent from location of the original poster. The media and social media. Comparing
new Twitter accounts with no followers location of the balloon was then con- the strategies of the three teams at the
were discounted, while those from es- firmed by matching the original text CSCW panel yielded interesting con-
tablished users with geo-tagged photo- description (in the park near the post- trasts and implications for how to vali-
graphs (attached) were given a higher- er’s house) and comparing the poster’s date submitted information, adding to
reliability assessment. photograph of the balloon with photo- DARPA’s reflection across all partici-
The cyberspace search approach graphs of the park on Panoramio (see pating teams.
also used a Twitter-capture system Figure 6). This illustrates the poten- Diffusion of the Challenge through
to store and search tweets about the tial of piecing together bits of publicly mass media and social media channels
Challenge offline, as well as a custom available information across disparate provided a good comparison of the rel-
Web crawler set to record data from sources in a timely way to solve a piece ative roles of traditional and social me-
the publicly accessible parts of Web of the puzzle. dia methods in network mobilization.
sites of competing teams. Since analy- The iSchools team found that cy- The initial announcement at the “40th
sis of the data captured by the crawl- berspace-search techniques are ef- Anniversary of the Internet” event in
er required more time, it could have fective and inexpensive. Especially October and some widely circulated
been more helpful if the Challenge in situations where observers could blog posts (at mssv.net and Slashdot)
continued longer than the one day the not be recruited in advance, existing generated a steady trickle of traffic to
balloons were deployed. However, the observer networks and publicly avail- the DARPA Web site, averaging about
Twitter-capture system turned out to able information can be leveraged to 1,000 hits per day. Initial expectations
be more helpful, as it revealed loca- address intelligence tasks. Moreover, that the diffusion of the Challenge
tions from users allowing their smart- the iSchools team’s approach can be would progress virally were not real-
phones to embed geo-data with their leveraged in intelligence and law en- ized until the final week before balloon
tweets. Unlike manually geotagging forcement, especially where grassroots launch. A steep increase in Web-site
photos, falsifying data was more dif- organizations are more able to recruit hits corresponded with the appearance
ficult through the current set of tools and motivate observers. of a story in the New York Times, No-
and therefore deemed more reliable. The team also learned that second- vember 30, 2009, with Web-site traffic
Several reports were confirmed as ary confirmation techniques must be increasing to an average of 20,000 hits
false through a combination of photo- employed to overcome deception. Dur- a day in the last week before the bal-
graph analysis and secondary confir- ing the Challenge, secondary observ- loons were launched.
mation by dispatched observers. Ob- ers, photograph analysis, and meta- Diffusion of the Challenge (itself an
servers from the pre-event recruiting data analysis were combined to assess experiment in social media) showed
effort were used where possible (such the validity of scarce data. Social net- how traditional mass media and social
as detecting the fabricated photo in Fig- working tools have provided public media channels are complementary.
ure 5 of the balloon over Albany, NY). access to large numbers of people and At least for this target audience and
Where no pre-recruited observer was enough data to enable both discovery in this time frame, it took a combina-
available, the command staff and cy- and independent verification of intel- tion of mass media and social media
berspace search staff called and recruit- ligence information. to effectively disseminate information
ed observers from the iSchools Caucus
member organizations, family, and Approaches used by three teams—MIT, GTRI, and iSchools—in the Challenge.
friends known to be near unconfirmed
sightings. This technique was used to
Team Motivation Balloon Validation Social Media Usage Mass Media Usage
confirm the valid location in Portland,
MIT Extrinsic financial Human analysis Form team network, Publicity on launch
OR, and disqualify the fabricated image
incentive of submitted Attract balloon day
of Providence, RI, in Figure 4, right, and information sightings may have attracted
the non-DARPA balloon over Royal Oak, balloon sightings
MI, in Figure 4, center. GTRI Intrinsic altruism Direct personal Form team network, Publicity before
In one case, a competing team un- verification Attract balloon launch
sightings may have added to
intentionally leaked details on its Web team and attracted
site of an accurate balloon sighting in balloon sightings
Scottsdale, AZ. An attempt to cover up iSchools None Human and Mined for published None
the leak and misdirect others to think machine analysis information
the balloon report was in another state of submitted and
public information
created an inconsistency in the story
posted with the photograph. To iden-
tify the true location of the sighting,

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n ic at i o n s of t he acm 83


contributed articles

to the intended audience. While mass people to help the team but exploited
media played a key role in making the information people made public vol-
general public aware of the Challenge, untarily. The advent of social media
social media were an important factor tools has made a wealth of information
in viral diffusion of Challenge informa-
tion, especially among the teams rely- The Challenge publicly available, and the iSchools
team’s strategy demonstrated that this
ing on them to quickly recruit and con- demonstrated information could be mined to tackle a
nect participants.
Reflecting across the three teams that geospatial time-urgent problem. While the strate-
gies of the MIT and GTRI teams relied
revealed similarities and interesting
differences in strategy and implica-
intelligence on social media tools to quickly extend
their reach to people who could help
tions for each team’s operations. All is potentially solve the problem, the iSchools’ data-
three set up co-located operations
centers where a core team assembled
available to anyone mining strategy would have been im-
possible without the social networking
on launch day to actively monitor the with an Internet tools that elicited data to be made pub-
real-time chatter in social network-
ing feeds to learn of balloon sightings
connection, not licly available in the first place.
However, since the information
and possible clues of their validity. The just to government providers had no motivation to help
bulk of the effort involved analyzing
the balloon sighting information to de- intelligence the iSchools team win, the team had
perhaps the most challenging job of
termine which reports were accurate.
Beyond these similarities, the table
analysts. identifying accurate sightings among
the wide range of noisy information
here summarizes the main differences circulating through Twitter. The team
concerning how the teams motivated was able to identify five balloons simply
participants, validated balloon sight- through publicly available informa-
ings, and used social and mass media. tion, performing better than many
The MIT team aligned individual teams that actively recruited mem-
incentives with connecting a social bers. Its approach is most relevant
network so it would grow quickly and for tackling problems where advance
autonomously. Financial incentives preparation, direct recruiting, and
served as extrinsic motivation to work financial incentives are inappropriate.
with strangers, both in quickly recruit- Together, the three teams exhib-
ing the network and in activating the ited a range of strategies that relied on
network to locate the balloons. The intrinsic or extrinsic motivation and
MIT team also developed strategies for proactive recruiting or reactive data
verifying the accuracy of reported bal- mining. While social networking tools
loon sightings largely by analyzing the played a role (to varying degrees) in
balloon sighting information submit- data collection for all teams, the data
ted to the team. generated could not be trusted without
The GTRI team took advantage of first verifying its accuracy. The teams’
its early start and relied on a combina- strategies for validation also varied
tion of social media and mass media but relied largely on analyzing the in-
coverage to make the team’s quest vis- ternal consistency of the data or inde-
ible to the vast audience of potential pendently verifying balloon sightings,
participants. But GTRI’s network size often through social networking tools
from three weeks of recruiting was far or trusted social connections. The MIT
smaller than the network the MIT team team’s approach enabled it to solve the
recruited in three days. While difficult game-like problem within a day, while
to determine the causes (such as mo- the iSchools team had planned for
tivational incentives and social con- more extensive data-mining tools that
nections), the wide range of responses would be useful in a more long-lived
to the MIT and GTRI teams shows the challenge. Comparing the teams high-
great variability in dissemination that lights the different ways social media
is somewhat characteristic of social were used to recruit participants, col-
media today. lect balloon sightings, and validate bal-
The iSchools team mined publicly loon sighting data.
available information through Twit-
ter to identify balloon sightings. In DARPA View
this sense, the team did not offer any While the DARPA Web site registered
motivation or incentives to attract more than 4,000 individuals (from

84 communi cations o f th e acm | April 2 0 1 1 | vol . 5 4 | no. 4


contributed articles

39 countries) as participants in the children. However, the Challenge also er Plasse (USN), CDR Gus Gutierrez
Challenge, interview data and team demonstrated this wealth of data is (USN), MAJ Paul Panozzo (USA), Maj.
estimates of network size indicate very noisy, reflecting the need for bet- Jay Orson (USAF), Timothy McDonald
that more than 350,000 people par- ter search methods and verification (NGA), Capt. Derek Filipe (USMC), and
ticipated in some way. Based on the algorithms. CPT Deborah Chen (USA).
922 balloon sighting submissions to Much of the transformative poten-
the DARPA Web site and team inter- tial of social networks lies in the prom- References
view data, DARPA tracked 58 teams ise of democratization of information 1. Brabham, D.C. Crowdsourcing as a model for problem
solving. Convergence: The International Journal of
that were able to correctly locate at and capabilities that had previously Research into New Media Technologies 14, 1 (2008),
least two balloons. Following the been the exclusive purview of privi- 75–90.
2. Burke, J., Estrin, D., Hansen, M., Parker, A.,
Challenge, DARPA conducted 53 in- leged government or corporate insti- Ramanathan, N., Reddy, S., and Srivastava, M.B.
terviews with team leaders who had tutions. The Challenge demonstrated Participatory sensing. In Proceedings of the Workshop
on World-Sensor-Web at Sensys (Boulder, CO, Oct. 31,
competed in the Challenge. These in- that geospatial intelligence is poten- 2006).
terviews supplemented the quantita- tially available to anyone with an Inter- 3. Buyukkokten, O., Cho, J., Garcia-Molina, H., Gravano,
L., and Shivakumar, N. Exploiting geographical
tive submission-log data collected on net connection, not just to government location information of Web pages. In the Informal
Proceedings of the International Workshop on the
the DARPA Web site with qualitative intelligence analysts. Social media and Web and Databases (Providence, RI, June 28, 1999),
data about participating team strate- crowdsourcing practices have given 91–96.
4. Defense Advanced Research Projects Agency. DARPA
gies, social and technical tools used, almost any individual the potential to Network Challenge Project Report. DARPA, Arlington,
network size, mobilization speed, tap the inherent power of information. VA, Feb. 16, 2010; https://networkchallenge.darpa.mil/
ProjectReport.pdf
and important social dynamic factors. However, along with that power comes 5. Dodds P.S., Muhamad, R., and Watts, D.J. An
This data enabled DARPA to reflect on the need to cultivate a concomitant experimental study of search in global social
networks. Science 301, 5634 (Aug. 8, 2003), 827–829.
the experience of teams beyond the sense of responsibility for its appropri- 6. Greenemeier, L. Inflated expectations: Crowdsourcing
three in the CSCW session.4 ate and constructive use. As indicated comes of age in the DARPA Network Challenge.
Scientific American (Dec. 21, 2009); http://www.
The Challenge clearly demonstrated by recent events, like information dis- scientificamerican.com/article.cfm?id=darpa-network-
the variety, efficiency, and effectiveness closed through WikiLeaks and the role challenge-results
7. Mason, W.A. and Watts, D.J. Financial incentives and
of crowdsourcing solutions to a distrib- of social networking in civil uprisings, the ‘performance of crowds.’ In Proceedings of the
uted, geo-located, time-urgent prob- appropriate use of these new tools re- KDD Workshop on Human Computation (Paris, June
28–July 1). ACM Press, New York, 2009, 77–85.
lem. The network mobilization time flects an evolving debate. 8. Mercado, S. A venerable source in a new era: Sailing
was far faster than expected by DARPA the sea of OSINT [Open Source Intelligence] in the
information age. Studies in Intelligence 48, 3 (2004),
program managers, requiring days Acknowledgments 45–55.
9. Milgram, S. The Small World Problem. Psychology
instead of weeks. The MIT team con- We thank the Computer Supported Today 1, 1 (May 1967), 60–67.
structed a motivated network exceed- Cooperative Work 2010 conference 10. Padamanabban, V. and Subramanian, L. Determining
the geographic location of Internet hosts. ACM
ing 5,000 individuals from four initial co-chairs Kori Inkpen and Carl Gut- SIGMETRICS Performance Evaluation Review 29, 1
nodes in just a few days. Other teams win for supporting its “Reflecting on (June 2001), 324–325.
11. Tang, J.C. Special Session: Reflecting on the DARPA
that built around existing networks the DARPA Red Balloon Challenge” Red Balloon Challenge. At the 2010 ACM Conference
were able to mobilize them in a day. In session. The MIT team thanks Alex on Computer Supported Cooperative Work (Savannah,
GA, Feb. 9, 2010); http://www.cscw2010.org/program/
one case, a highly connected individual (Sandy) Pentland, Riley Crane, Anmol special.php
successfully mobilized his contacts Madan, Wei Pan, and Galen Pickard 12. Trewhitt, E. Preparing for the DARPA Network
Challenge (Feb. 24, 2010); http://cacm.acm.org/blogs/
through Twitter in less than an hour. As from the Human Dynamics Labora- blog-cacm/76324-preparing-for-the-darpa-network-
impressive as their use of the network tory at the MIT Media Lab. The iSchool challenge/fulltext

to discover balloons, many teams also team is grateful for the support and
used it to do precise, targeted dispatch- advice provided by John Yen, Da- John C. Tang (johntang@microsoft.com) is a senior
researcher in Microsoft Research, Mountain View, CA.
ing to verify balloon sightings. Balloon vid Hall, Wade Shumaker, Anthony
verification, from initial report to con- Maslowski, Gregory Traylor, Gregory Manuel Cebrian (cebrian@mit.edu) is an assistant
research scientist in the Department of Computer Science
firmation by a targeted dispatch, was O’Neill, Avner Ahmad, Madian Khab- & Engineering, University of California at San Diego,
typically less than two hours. sa, Guruprasad Airy, and Leilei Zhu of La Jolla, CA, though at the Massachusetts Institute of
Technology, Cambridge, MA, at the time of this work.
While the power of social networks Penn State University; Maeve Reilly and
and the manner in which they are John Unsworth of the University of Illi- Nicklaus A. Giacobe (nxg13@ist.psu.edu) is a Ph.D.
candidate and research associate in the College of
poised to transform our society have nois; Martin Weiss of the University of Information Sciences and Technology at the Pennsylvania
been gaining attention, the Challenge Pittsburgh; Jeffrey Stanton of Syracuse State University, University Park, PA.
revealed several promising means University; and Gary Marchionini of Hyun-Woo Kim (hkim@psu.edu) is a Ph.D. candidate in
for using them to mobilize groups of the University of North Carolina. We the College of Information Sciences and Technology at
The Pennsylvania State University, University Park, PA.
people for a specific purpose. It also also acknowledge Ethan Trewhitt and
demonstrated the speed at which so- Elizabeth Whitaker from GTRI for their Taemie Kim (taemie@media.mit.edu) is a Ph.D. candidate
in the Media Laboratory of the Massachusetts Institute of
cial networks could be used to solve participation in the CSCW session. Technology, Cambridge, MA.
challenging, national geo-location We also thank Peter Lee and Norman Douglas “Beaker” Wickert (douglas.wickert@us.af.mil)
problems. This potential has pro- Whitaker from DARPA and the DARPA is a Major in the U.S. Air Force and a program fellow in the
Transformational Convergence Technology Office of the
found implications for a variety of Service Chiefs’ Program Fellows who Defense Advanced Research Projects Agency, Arlington, VA.
applications, from natural disaster conceived and executed the Challenge:
response to quickly locating missing Col. Phillip Reiman (USMC), CDR Rog- © 2011 ACM 0001-0782/11/04 $10.00

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n ic at i o n s of t he acm 85


review articles
doi:10.1145/1924421.1924442

The practice of crowdsourcing is transforming


the Web and giving rise to a new field.
by AnHai Doan, Raghu Ramakrishnan, and Alon Y. Halevy

Crowdsourcing
Systems
on the
World-Wide
Web
social systems, social search, social
media, collective intelligence, wiki-
nomics, crowd wisdom, smart mobs,
mass collaboration, and human
computation. The topic has been dis-
cussed extensively in books, popular
press, and academia.1,5,15,23,29,35 But this
body of work has considered mostly
efforts in the physical world.23,29,30
Some do consider crowdsourcing
systems on the Web, but only certain
system types28,33 or challenges (for ex-
ample, how to evaluate users12).
This survey attempts to provide a
global picture of crowdsourcing sys-
tems on the Web. We define and clas-
Crowds ourcing systems enlist a multitude of sify such systems, then describe a
broad sample of systems. The sample
humans to help solve a wide variety of problems.
Over the past decade, numerous such systems key insights
have appeared on the World-Wide Web. Prime

Crowdsourcing systems face four key
examples include Wikipedia, Linux, Yahoo! Answers, challenges: How to recruit contributors,
what they can do, how to combine their
Mechanical Turk-based systems, and much effort is contributions, and how to manage abuse.
being directed toward developing many more. Many systems “in the wild” must also
carefully balance openness with quality.
As is typical for an emerging area, this effort The race is on to build general crowd-
has appeared under many names, including peer sourcing platforms that can be used to
quickly build crowdsourcing applications
production, user-powered systems, user-generated in many domains. Using these, we can
already build databases previously
content, collaborative systems, community systems, unimaginable at lightning speed.

86 communi cations o f th e acm | april 2 0 1 1 | vol . 5 4 | no. 4


ranges from relatively simple well-es- Crowdsourcing Systems Ten Thousand Cents is a digital artwork by
Aaron Koblin that creates a representation
tablished systems such as reviewing Defining crowdsourcing (CS) systems of a $100 bill. Using a custom drawing tool,
books to complex emerging systems turns out to be surprisingly tricky. thousands of individuals, working in isolation
that build structured knowledge bas- from one another, painted a tiny part of the
Since many view Wikipedia and Linux bill without knowledge of the overall task.
es to systems that “piggyback” onto as well-known CS examples, as a natu-
other popular systems. We discuss ral starting point, we can say that a (just users coming together for this
fundamental challenges such as how CS system enlists a crowd of users to particular task). And yet, like ESP, this
to recruit and evaluate users, and to explicitly collaborate to build a long- system clearly benefits from users, and
merge their contributions. Given the lasting artifact that is beneficial to the faces similar human-centric challeng-
space limitation, we do not attempt whole community. es. Given this, it ought to be considered
to be exhaustive. Rather, we sketch This definition, however, appears a CS system, and the goal of building
only the most important aspects of too restricted. It excludes, for example, artifacts ought to be relaxed into the
the global picture, using real-world the ESP game,32 where users implicitly more general goal of solving problems.
examples. The goal is to further our collaborate to label images as a side Indeed, it appears that in principle any
collective understanding—both con- effect while playing the game. ESP non-trivial problem can benefit from
ceptual and practical—of this im- clearly benefits from a crowd of users. crowdsourcing: we can describe the
portant emerging topic. More importantly, it faces the same hu- problem on the Web, solicit user in-
It is also important to note that man-centric challenges of Wikipedia puts, and examine the inputs to devel-
many crowdsourcing platforms have and Linux, such as how to recruit and op a solution. This system may not be
been built. Examples include Me- evaluate users, and to combine their practical (and better systems may ex-
chanical Turk, Turkit, Mob4hire, uT- contributions. Given this, it seems un- ist), but it can arguably be considered
Art work by a a ro n koblin and Ta kashi Kawash ima

est, Freelancer, eLance, oDesk, Guru, satisfactory to consider only explicit a primitive CS system.
Topcoder, Trada, 99design, Inno- collaborations; we ought to allow im- Consequently, we do not restrict
centive, CloudCrowd, and Cloud- plicit ones as well. the type of collaboration nor the target
Flower. Using these platforms, we The definition also excludes, for ex- problem. Rather, we view CS as a gen-
can quickly build crowdsourcing ample, an Amazon’s Mechanical Turk- eral-purpose problem-solving method.
systems in many domains. In this based system that enlists users to find We say that a system is a CS system if
survey, we consider these systems a missing boat in thousands of satellite it enlists a crowd of humans to help solve
(that is, applications), not the images.18 Here, users do not build any a problem defined by the system owners,
crowdsourcing platforms them- artifact, arguably nothing is long last- and if in doing so, it addresses the fol-
selves. ing, and no community exists either lowing four fundamental challenges:

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n ic at i o n s of t he acm 87


review articles

A sample of basic CS system types on the World-Wide Web.

Must
Nature of recruit
Collaboration Architecture users? What users do? Examples Target Problems Comments
Evaluating • reviewing and voting at Amazon, Evaluating a Humans as perspective
• review, vote, tag tagging Web pages at del.ici.ous.com collection of items providers. No or loose
and Google Co-op (e.g., products, users) combination of inputs.
Sharing • Napster, YouTube, Flickr, CPAN, Building a (distributed Humans as content
• items programmableweb.com or central) collection providers. No or loose
• textual knowledge • Mailing lists, Yahoo! Answers, QUIQ, of items that can be combination of inputs.
• structured knowledge ehow.com, Quora shared among users.
• Swivel, Many Eyes, Google Fusion
Tables, Google Base, bmrb.wisc.edu,
galaxyzoo, Piazza, Orchestra
Networking • LinkedIn, MySpace, Facebook Building social Humans as component
networks providers. Loose
Explicit Standalone Yes combination of inputs.
Building artifacts • Linux, Apache, Hadoop Building physical Humans can play all
• software • Wikipedia, openmind, Intellipedia, artifacts roles. Typically tight
• textual knowledge ecolicommunity combination of inputs.
bases • Wikipedia infoboxes/DBpedia, IWP, Some systems ask both
• structured knowledge Google Fusion Tables, YAGO-NAGA, humans and machines
bases Cimple/DBLife to contribute.
• systems • Wikia Search, mahalo, Freebase,
• others Eurekster
• newspaper at Digg.com, Second Life

Task execution • Finding extraterrestrials, elections, Possibly any problem


finding people, content creation (e.g.,
Demand Media, Associated Content)
Standalone Yes • play games with a • ESP • labeling images Humans can play
purpose • intrade.com, Iowa Electronic Markets • predicting events all roles. Input
• bet on prediction • IMDB private accounts • rating movies combination can be
markets • recaptcha.net • digitizing written loose or tight.
• use private accounts • eBay, World of Warcraft text
• solve captchas • building a user
• buy/sell/auction, play community (for
massive multiplayer purposes such
Implicit games as charging fees,
advertising)
Piggyback on No • keyword search • Google, Microsoft, Yahoo • spelling correction,Humans can play
another system • buy products • recommendation feature of Amazon epidemic prediction all roles. Input
• browse Web sites • adaptive Web sites • recommending combination can be
(e.g., Yahoo! front page) products loose or tight.
• reorganizing
a Web site for
better access

How to recruit and retain users? What coordination”31) can be relevant to CS Classifying CS systems. CS systems
contributions can users make? How to contexts. But the two system classes can be classified along many dimen-
combine user contributions to solve are clearly distinct. sions. Here, we discuss nine dimen-
the target problem? How to evaluate In this survey we focus on CS sys- sions we consider most important. The
users and their contributions? tems that leverage the Web to solve the two that immediately come to mind are
Not all human-centric systems ad- four challenges mentioned here (or a the nature of collaboration and type of
dress these challenges. Consider a significant subset of them). The Web is target problem. As discussed previously,
system that manages car traffic in unique in that it can help recruit a large collaboration can be explicit or implic-
Madison, WI. Its goal is to, say, coor- number of users, enable a high degree it, and the target problem can be any
dinate the behaviors of a crowd of hu- of automation, and provide a large set problem defined by the system owners
man drivers (that already exist within of social software (for example, email, (for example, building temporary or
the system) in order to minimize traf- wiki, discussion group, blogging, and permanent artifacts, executing tasks).
fic jams. Clearly, this system does not tagging) that CS systems can use to The next four dimensions refer re-
want to recruit more human drivers (in manage their users. As such, compared spectively to how a CS system solves
fact, it wants far fewer of them). We call to the physical world, the Web can dra- the four fundamental challenges de-
such systems crowd management (CM) matically improve existing CS systems scribed earlier: how to recruit and retain
systems. CM techniques (a.k.a., “crowd and give birth to novel system types. users; what can users do; how to combine

88 communications o f th e ac m | april 2 0 1 1 | vol. 5 4 | no. 4


review articles

their inputs; and how to evaluate them. diverse crowd where each human can
Later, we will discuss these challenges make independent decisions, to avoid
and the corresponding dimensions in “group think.”29
detail. Here, we discuss the remaining Standalone versus piggyback. When
three dimensions: degree of manual
effort, role of human users, and stand- Compared to the building a CS system, we may decide to
piggyback on a well-established system,
alone versus piggyback architectures.
Degree of manual effort. When build-
physical world, by exploiting traces that users leave in
that system to solve our target problem.
ing a CS system, we must decide how the Web can For example, Google’s “Did you mean”
much manual effort is required to solve
each of the four CS challenges. This can
dramatically and Yahoo’s Search Assist utilize the
search log and user clicks of a search
range from relatively little (for example, improve existing engine to correct spelling mistakes. An-
combining ratings) to substantial (for
example, combining code), and clearly
crowdsourcing other system may exploit user purchas-
es in an online bookstore (Amazon) to
also depends on how much the system systems and give recommend books. Unlike standalone
is automated. We must decide how to
divide the manual effort between the birth to novel systems, such piggyback systems do not
have to solve the challenges of recruit-
users and the system owners. Some
systems ask the users to do relatively
system types. ing users and deciding what they can
do. But they still have to decide how to
little and the owners a great deal. For evaluate users and their inputs (such
example, to detect malicious users, as traces in this case), and to combine
the users may simply click a button to such inputs to solve the target problem.
report suspicious behaviors, whereas
the owners must carefully examine all Sample CS Systems on the Web
relevant evidence to determine if a user Building on this discussion of CS di-
is indeed malicious. Some systems do mensions, we now focus on CS systems
the reverse. For example, most of the on the Web, first describing a set of
manual burden of merging Wikipedia basic system types, and then showing
edits falls on the users (who are cur- how deployed CS systems often com-
rently editing), not the owners. bine multiple such types.
Role of human users. We consider The accompanying table shows a
four basic roles of humans in a CS set of basic CS system types. The set is
system. Slaves: humans help solve not meant to be exhaustive; it shows
the problem in a divide-and-conquer only those types that have received
fashion, to minimize the resources most attention. From left to right, it
(for example, time, effort) of the own- is organized by collaboration, archi-
ers. Examples are ESP and finding a tecture, the need to recruit users, and
missing boat in satellite images using then by the actions users can take. We
Mechanical Turk. Perspective provid- now discuss the set, starting with ex-
ers: humans contribute different per- plicit systems.
spectives, which when combined often Explicit Systems: These standalone
produce a better solution (than with a systems let users collaborate explicitly.
single human). Examples are review- In particular, users can evaluate, share,
ing books and aggregating user bets to network, build artifacts, and execute
make predictions.29 Content providers: tasks. We discuss these systems in turn.
humans contribute self-generated con- Evaluating: These systems let users
tent (for example, videos on YouTube, evaluate “items” (for example, books,
images on Flickr). Component provid- movies, Web pages, other users) using
ers: humans function as components textual comments, numeric scores, or
in the target artifact, such as a social tags.10
network, or simply just a community Sharing: These systems let users
of users (so that the owner can, say, sell share “items” such as products, servic-
ads). Humans often play multiple roles es, textual knowledge, and structured
within a single CS system (for example, knowledge. Systems that share prod-
slaves, perspective providers, and con- ucts and services include Napster, You-
tent providers in Wikipedia). It is im- Tube, CPAN, and the site programma-
portant to know these roles because bleweb.com (for sharing files, videos,
that may determine how to recruit. For software, and mashups, respectively).
example, to use humans as perspective Systems that share textual knowledge
providers, it is important to recruit a include mailing lists, Twitter, how-to

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n i c at i o n s of t he acm 89


review articles

repositories (such as ehow.com, which of structured data,” which lets users A key distinguishing aspect of sys-
lets users contribute and search how- share, query, and visualize census- and tems that evaluate, share, or network is
to articles), Q&A Web sites (such as Ya- voting data, among others. In general, that they do not merge user inputs, or
hoo! Answers2), online customer sup- sharing systems can be central (such as do so automatically in relatively simple
port systems (such as QUIQ,22 which YouTube, ehow, Google Fusion Tables, fashions. For example, evaluation sys-
powered Ask Jeeves’ AnswerPoint, a Swivel) or distributed, in a peer-to-peer tems typically do not merge textual user
Yahoo! Answers-like site). Systems fashion (such as Napster, Orchestra). reviews. They often merge user inputs
that share structured knowledge (for Networking: These systems let users such as movie ratings, but do so auto-
example, relational, XML, RDF data) collaboratively construct a large social matically using some formulas. Simi-
include Swivel, Many Eyes, Google network graph, by adding nodes and larly, networking systems automati-
Fusion Tables, Google Base, many e- edges over time (such as homepages, cally merge user inputs by adding them
science Web sites (such as bmrb.wisc. friendships). Then they exploit the as nodes and edges to a social network
edu, galaxyzoo.org), and many peer-to- graph to provide services (for example, graph. As a result, users of such systems
peer systems developed in the Seman- friend updates, ads, and so on). To a do not need (and, in fact, often are not
tic Web, database, AI, and IR commu- lesser degree, blogging systems are allowed) to edit other users’ input.
nities (such as Orchestra8,27). Swivel, for also networking systems in that blog- Building Artifacts: In contrast, sys-
example, bills itself as the “YouTube gers often link to other bloggers. tems that let users build artifacts such

90 communi cations o f th e ac m | april 2 0 1 1 | vol. 5 4 | no. 4


review articles

as Wikipedia often merge user in- cently, the success of Wikipedia has in- The Sheep Market by Aaron Koblin is a
collection of 10,000 sheep made by workers
puts tightly, and require users to edit spired many “community wikipedias,” on Amazon’s Mechanical Turk. Workers were
and merge one another’s inputs. A such as Intellipedia (for the U.S. intel- paid $0.02 (USD) to “draw a sheep facing to
well-known artifact is software (such ligence community) and EcoliHub (at the left.” Animations of each sheep’s creation
may be viewed at TheSheepMarket.com.
as Apache, Linux, Hadoop). Another ecolicommunity.org, to capture all in-
popular artifact is textual knowledge formation about the E. coli bacterium). ers can create and populate schemas
bases (KBs). To build such KBs (such as Yet another popular target artifact to describe topics of interest, and build
Wikipedia), users contribute data such is structured KBs. For example, the collections of interlinked topics using
as sentences, paragraphs, Web pages, set of all Wikipedia infoboxes (that is, a flexible graph model of data. As yet
then edit and merge one another’s attribute-value pairs such as city-name another example, Google Fusion Ta-
contributions. The knowledge capture = Madison, state = WI) can be viewed as bles (tables.googlelabs.com) lets users
(k-cap.org) and AI communities have a structured KB collaboratively created upload tabular data and collaborate
Art work by a a ro n koblin

studied building such KBs for over a by Wikipedia users. Indeed, this KB on it by merging tables from different
decade. A well-known early attempt is has recently been extracted as DBpedia sources, commenting on data items,
openmind,28 which enlists volunteers and used in several applications (see and sharing visualizations on the Web.
to build a KB of commonsense facts dbpedia.org). Freebase.com builds an Several recent academic projects
(for example, “the sky is blue”). Re- open structured database, where us- have also studied building structured

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n ic at i o n s of t he acm 91


review articles

KBs in a CS fashion. The IWP project35 (such as the Metaweb query language a task, we must find task parts that can
extracts structured data from the tex- and a hosted development environ- be “crowdsourced,” such that each user
tual pages of Wikipedia, then asks us- ment). Eurekster.com lets users col- can make a contribution and the con-
ers to verify the extraction accuracy. laboratively build vertical search en- tributions in turn can be combined to
The Cimple/DBLife project4,5 lets us- gines called swickis, by customizing solve the parts. Finding such parts and
ers correct the extracted structured a generic search engine (for example, combining user contributions are of-
data, expose it in wiki pages, then add specifying all URLs the system should ten task specific. Crowdsourcing the
even more textual and structured data. crawl). Finally, MOBS, an academic parts, however, can be fairly general,
Thus, it builds structured “commu- project,12,13 studies how to collabora- and plaforms have been developed to
nity wikipedias,” whose wiki pages mix tively build data integration systems, assist that process. For example, Ama-
textual data with structured data (that those that provide a uniform query in- zon’s Mechanical Turk can help distrib-
comes from an underlying structured terface to a set of data sources. MOBS ute pieces of a task to a crowd of users
KB). Other related works include YAG- enlists users to create a crucial system (and several recent interesting toolkits
ONAGA,11 BioPortal,17 and many recent component, namely the semantic have even been developed for using Me-
projects in the Web, Semantic Web, mappings (for example, “location” = chanical Turk13,37). It was used recently
and AI communities.1,16,36 “address”) between the data sources. to search for Jim Gray, a database re-
In general, building a structured KB In general, users can help build and searcher lost at sea, by asking volun-
often requires selecting a set of data improve a system running on the Web teers to examine pieces of satellite im-
sources, extracting structured data in several ways. First, they can edit the ages for any sign of Jim Gray’s boat.18
from them, then integrating the data system’s code. Second, the system typi- Implicit Systems: As discussed ear-
(for example, matching and merging cally contains a set of internal compo- lier, such systems let users collaborate
“David Smith” and “D.M. Smith”). Us- nents (such as URLs to crawl, semantic implicitly to solve a problem of the sys-
ers can help these steps in two ways. mappings), and users can help improve tem owners. They fall into two groups:
First, they can improve the automatic these without even touching the sys- standalone and piggyback.
algorithms of the steps (if any), by edit- tem’s code (such as adding new URLs, A standalone system provides a ser-
ing their code, creating more training correcting mappings). Third, users can vice such that when using it users im-
data,17 answering their questions12,13 or edit system inputs and outputs. In the plicitly collaborate (as a side effect) to
providing feedback on their output.12,35 case of a search engine, for instance, solve a problem. Many such systems
Second, users can manually partici- users can suggest that if someone que- exist, and the table here lists a few rep-
pate in the steps. For example, they can ries for “home equity loan for seniors,” resentative examples. The ESP game32
manually add or remove data sources, the system should also suggest query- lets users play a game of guessing
extract or integrate structured data, or ing for “reverse mortgage.” Users can common words that describe images
add even more structured data, data also edit search result pages (such as (shown independently to each user),
not available in the current sources promoting and demoting URLs, as then uses those words to label images.
but judged relevant.5 In addition, a CS mentioned earlier). Finally, users can Google Image Labeler builds on this
system may perform inferences over monitor the running system and pro- game, and many other “games with a
its KB to infer more structured data. To vide feedback. purpose” exist.33 Prediction markets23,29
help this step, users can contribute in- We note that besides software, KBs, let users bet on events (such as elec-
ference rules and domain knowledge.25 and systems, many other target arti- tions, sport events), then aggregate the
During all such activities, users can facts have also been considered. Ex- bets to make predictions. The intuition
naturally cross-edit and merge one an- amples include community newspa- is that the “collective wisdom” is often
other’s contributions, just like in those pers built by asking users to contribute accurate (under certain conditions)31
systems that build textual KBs. and evaluate articles (such as Digg) and and that this helps incorporate inside
Another interesting target prob- massive multi-player games that build information available from users. The
lem is building and improving sys- virtual artifacts (such as Second Life, a Internet Movie Database (IMDB) lets
tems running on the Web. The project 3D virtual world partly built and main- users import movies into private ac-
Wikia Search (search.wikia.com) lets tained by users). counts (hosted by IMDB). It designed
users build an open source search en- Executing Tasks: The last type of the accounts such that users are strong-
gine, by contributing code, suggest- explicit systems we consider is the ly motivated to rate the imported mov-
ing URLs to crawl, and editing search kind that executes tasks. Examples ies, as doing so bring many private ben-
result pages (for example, promoting include finding extraterrestrials, min- efits (such as they can query to find all
or demoting URLs). Wikia Search was ing for gold, searching for missing imported action movies rated at least
recently disbanded, but similar fea- people,23,29,30,31 and cooperative debug- 7/10, or the system can recommend ac-
tures (such as editing search pages) ging (cs.wisc.edu/cbi, early work of this tion movies highly rated by people with
appear in other search engines (such project received the ACM Doctoral Dis- similar taste). IMDB then aggregates all
as Google, mahalo.com). Freebase sertation Award in 2005). The 2008 elec- private ratings to obtain a public rating
lets users create custom browsing tion is a well-known example, where for each movie, for the benefit of the
and search systems (deployed at Free- the Obama team ran a large online CS public. reCAPTCHA asks users to solve
base), using the community-curated operation asking numerous volunteers captchas to prove they are humans (to
data and a suite of development tools to help mobilize voters. To apply CS to gain access to a site), then leverages

92 communi cations o f th e ac m | april 2 0 1 1 | vol. 5 4 | no. 4


review articles

the results for digitizing written text.34 networking). Then around 2003, aided
Finally, it can be argued that the target by the proliferation of social software
problem of many systems (that provide (for example, discussion groups, wiki,
user services) is simply to grow a large blog), many full-fledged CS systems
community of users, for various reasons
(such as personal satisfaction, charging The user interface (such as Wikipedia, Flickr, YouTube,
Facebook, MySpace) appeared, mark-
subscription fees, selling ads, selling
the systems to other companies). Buy/
should make it ing the arrival of Web 2.0. This Web
is growing rapidly, with many new CS
sell/auction websites (such as eBay) easy for users to systems being developed and non-CS
and massive multiplayer games (such
as World of Warcraft) for instance fit this
contribute. This is systems adding CS features.
These CS systems often combine
description. Here, by simply joining the highly non-trivial. multiple basic CS features. For example,
system, users can be viewed as implicit- Wikipedia primarily builds a textual KB.
ly collaborating to solve the target prob- But it also builds a structured KB (via
lem (of growing user communities). infoboxes) and hosts many knowledge
The second kind of implicit system sharing forums (for example, discus-
we consider is a piggyback system that sion groups). YouTube lets users both
exploits the user traces of yet another share and evaluate videos. Community
system (thus, making the users of this portals often combine all CS features
latter system implicitly collaborate) to discussed so far. Finally, we note that
solve a problem. For example, over time the Semantic Web, an ambitious at-
many piggyback CS systems have been tempt to add structure to the Web, can
built on top of major search engines, be viewed as a CS attempt to share struc-
such as Google, Yahoo!, and Micro- tured data, and to integrate such data to
soft. These systems exploit the traces build a Web-scale structured KB. The
of search engine users (such as search World-Wide Web itself is perhaps the
logs, user clicks) for a wide range of largest CS system of all, encompassing
tasks (such as spelling correction, find- everything we have discussed.
ing synonyms, flu epidemic predic-
tion, and keyword generation for ads6). Challenges and Solutions
Other examples include exploiting user Here, we discuss the key challenges of
purchases to recommend products,26 CS systems:
and exploiting click logs to improve the How to recruit and retain users? Re-
presentation of a Web site.19 cruiting users is one of the most impor-
tant CS challenges, for which five ma-
CS Systems on the Web jor solutions exist. First, we can require
We now build on basic system types users to make contributions if we have
to discuss deployed CS systems on the the authority to do so (for example, a
Web. Founded on static HTML pages, manager may require 100 employees
the Web soon offered many interactive to help build a company-wide system).
services. Some services serve machines Second, we can pay users. Mechanical
(such as DNS servers, Google Map API Turk for example provides a way to pay
server), but most serve humans. Many users on the Web to help with a task.
such services do not need to recruit us- Third, we can ask for volunteers. This
ers (in the sense that the more the bet- solution is free and easy to execute,
ter). Examples include pay-parking- and hence is most popular. Most cur-
ticket services (for city residents) and rent CS systems on the Web (such as
room-reservation services. (As noted, Wikipedia, YouTube) use this solution.
we call these crowd management sys- The downside of volunteering is that it
tems). Many services, however, face is hard to predict how many users we
CS challenges, including the need to can recruit for a particular application.
grow large user bases. For example, The fourth solution is to make users
online stores such as Amazon want a pay for service. The basic idea is to re-
growing user base for their services, quire the users of a system A to “pay” for
to maximize profits, and startups such using A, by contributing to a CS system
as epinions.com grow their user bases B. Consider for example a blog website
for advertising. They started out as (that is, system A), where a user U can
primitive CS systems, but quickly im- leave a comment only after solving a
proved over time with additional CS puzzle (called a captcha) to prove that U
features (such as reviewing, rating, is a human. As a part of the puzzle, we

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n i c at i o n s of t he acm 93


review articles

can ask U to retype a word that an OCR ence, fame management, and so on, to
program has failed to recognize (the maximize user participation. Finally,
“payment”), thereby contributing to a we note that deployed CS systems often
CS effort on digitizing written text (that employ a mixture of recruitment meth-
is, system B). This is the key idea behind
the reCAPTCHA project.34 The MOBS Given the success ods (such as bootstrapping with “re-
quirement” or “paying,” then switch-
project12,13 employs the same solution.
In particular, it ran experiments where
of current ing to “volunteering” once the system
is sufficiently “mature”).
a user U can access a Web site (such as crowdsourcing What contributions can users
a class homepage) only after answering
a relatively simple question (such as, is
systems, make? In many CS systems the kinds
of contributions users can make are
string “1960” in “born in 1960” a birth we expect that somewhat limited. For example, to
date?). MOBS leverages the answers to
help build a data integration system.
this emerging field evaluate, users review, rate, or tag; to
share, users add items to a central Web
This solution works best when the “pay- will grow rapidly. site; to network, users link to other us-
ment” is unintrusive or cognitively sim- ers; to find a missing boat in satellite
ple, to avoid deterring users from using images, users examine those images.
system A. In more complex CS systems, how-
The fifth solution is to piggyback on ever, users often can make a far wider
the user traces of a well-established sys- range of contributions, from simple
tem (such as building a spelling correc- low-hanging fruit to cognitively com-
tion system by exploiting user traces of plex ones. For example, when build-
a search engine, as discussed previous- ing a structured KB, users can add a
ly). This gives us a steady stream of us- URL, flag incorrect data, and supply
ers. But we must still solve the difficult attribute-value pairs (as low-hanging
challenge of determining how the trac- fruit).3,5 But they can also supply in-
es can be exploited for our purpose. ference rules, resolve controversial is-
Once we have selected a recruit- sues, and merge conflicting inputs (as
ment strategy, we should consider cognitively complex contributions).25
how to further encourage and retain The challenge is to define this range of
users. Many encouragement and reten- possible contributions (and design the
tion (E&R) schemes exist. We briefly system such that it can gather a critical
discuss the most popular ones. First, crowd of such contributions).
we can provide instant gratification, by Toward this goal, we should con-
immediately showing a user how his or sider four important factors. First,
her contribution makes a difference.16 how cognitively demanding are the
Second, we can provide an enjoyable ex- contributions? A CS system often has
perience or a necessary service, such as a way to classify users into groups,
game playing (while making a contri- such as guests, regulars, editors, ad-
bution).32 Third, we can provide ways to mins, and “dictators.” We should take
establish, measure, and show fame/trust/ care to design cognitively appropriate
reputation.7,13,24,25 Fourth, we can set up contribution types for different user
competitions, such as showing top rat- groups. Low-ranking users (such as
ed users. Finally, we can provide own- guests, regulars) often want to make
ership situations, where a user may feel only “easy” contributions (such as an-
he or she “owns” a part of the system, swering a simple question, editing one
and thus is compelled to “cultivate” to two sentences, flagging an incor-
that part. For example, zillow.com dis- rect data piece). If the cognitive load is
plays houses and estimates their mar- high, they may be reluctant to partici-
ket prices. It provides a way for a house pate. High-ranking users (such as edi-
owner to claim his or her house and tors, admins) are more willing to make
provide the correct data (such as num- “hard” contributions (such as resolv-
ber of bedroomss), which in turn helps ing controversial issues).
improve the price estimation. Second, what should be the impact
These E&R schemes apply naturally of a contribution? We can measure the
to volunteering, but can also work well potential impact by considering how
for other recruitment solutions. For the contribution potentially affects
example, after requiring a set of users the CS system. For example, editing a
to contribute, we can still provide in- sentence in a Wikipedia page largely
stant gratification, enjoyable experi- affects only that page, whereas revis-

94 communi cations o f th e ac m | april 2 0 1 1 | vol. 5 4 | no. 4


review articles

ing an edit policy may potentially affect and friendships) to form a social net- rect. Should M override U’s assertion?
million of pages. As another example, work graph. More complex CS systems, And if so, how can M explain its reason-
when building a structured KB, flag- however, such as those that build soft- ing to U? The main problem here is it
ging an incorrect data piece typically ware, KBs, systems, and games, com- is difficult for a machine to enter into
has less potential impact than supply- bine contributions more tightly. Exactly a manual dispute with a human user.
ing an inference rule, which may be how this happens is application depen- The currently preferred method is for
used in many parts of the CS system. dent. Wikipedia, for example, lets users M to alert U, and then leave it up to U
Quantifying the potential impact of manually merge edits, while ESP does to decide what to do. But this method
a contribution type in a complex CS so automatically, by waiting until two clearly will not scale with the number
system may be difficult.12,13 But it is im- users agree on a common word. of conflicting contributions.
portant to do so, because we typically No matter how contributions are How to evaluate users and con-
have far fewer high-ranking users such combined, a key problem is to decide tributions? CS systems often must
as editors and admins (than regulars, what to do if users differ, such as when manage malicious users. To do so, we
say). To maximize the total contribu- three users assert “A” and two users can use a combination of techniques
tion of these few users, we should ask “not A.” Both automatic and manual that block, detect, and deter. First,
them to make potentially high-impact solutions have been developed for we can block many malicious users
contributions whenever possible. this problem. Current automatic solu- by limiting who can make what kinds
Third, what about machine contribu- tions typically combine contributions of contributions. Many e-science CS
tions? If a CS system employs an algo- weighted by some user scores. The systems, for example, allow anyone to
rithm for a task, then we want human work12,13 for example lets users vote on submit data, but only certain domain
users to make contributions that are the correctness of system components scientists to clean and merge this data
easy for humans, but difficult for ma- (the semantic mappings of a data in- into the central database.
chines. For example, examining textual tegration systems in this case20), then Second, we can detect malicious
and image descriptions to decide if combines the votes weighted by the users and contributions using a vari-
two products match is relatively easy trustworthiness of each user. The ety of techniques. Manual techniques
for humans but very difficult for ma- work25 lets users contribute structured include monitoring the system by the
chines. In short, the CS work should KB fragments, then combines them owners, distributing the monitoring
be distributed between human users into a coherent probabilistic KB by workload among a set of trusted us-
and machines according to what each computing the probabilities that each ers, and enlisting ordinary users (such
of them is best at, in a complementary user is correct, then weighting contrib- as flagging bad contributions on mes-
and synergistic fashion. uted fragments by these probabilities. sage boards). Automatic methods typ-
Finally, the user interface should Manual dispute management solu- ically involve some tests. For example,
make it easy for users to contribute. tions typically let users fight and settle a system can ask users questions for
This is highly non-trivial. For example, among themselves. Unresolved issues which it already knows the answers,
how can users easily enter domain then percolate up the user hierarchy. then use the answers of the users to
knowledge such as “no current living Systems such as Wikipedia and Linux compute their reliability scores.13,34
person was born before 1850” (which employ such methods. Automatic so- Many other schemes to compute us-
can be used in a KB to detect, say, in- lutions are more efficient. But they ers’ reliability/trust/fame/reputation
correct birth dates)? A natural lan- work only for relatively simple forms have been proposed.9,26
guage format (such as in openmind. of contributions (such as voting), or Finally, we can deter malicious us-
org) is easy for users, but difficult for forms that are complex but amenable ers with threats of “punishment.” A
machines to understand and use, and a to algorithmic manipulation (such common punishment is banning. A
formal language format has the reverse as structured KB fragments). Manual newer, more controversial form of pun-
problem. As another example, when solutions are still the currently pre- ishment is “public shaming,” where a
building a structured KB, contributing ferred way to combine “messy” con- user U judged malicious is publicly
attribute-value pairs is relatively easy flicting contributions. branded as a malicious or “crazy” user
(as Wikipedia infoboxes and Freebase To further complicate the matter, for the rest of the community (possibly
demonstrate). But contributing more sometimes not just human users, but without U’s knowledge). For example, a
complex structured data pieces can be machines also make contributions. chat room may allow users to rate other
quite difficult for naive users, as this Combining such contributions is dif- users. If the (hidden) score of a user U
often requires them to learn the KB ficult. To see why, suppose we employ a goes below a threshold, other users
schema, among others.5 machine M to help create Wikipedia in- will only see a mechanically garbled
How to combine user contributions? foboxes.35 Suppose on Day 1 M asserts version of U’s comments, whereas U
Many CS systems do not combine con- population = 5500 in a city infobox. On continues to see his or her comments
tributions, or do so in a loose fashion. Day 2, a user U may correct this into exactly as written.
For example, current evaluation sys- population = 7500, based on his or her No matter how well we manage ma-
tems do not combine reviews, and com- knowledge. On Day 3, however, M may licious users, malicious contributions
bine numeric ratings using relatively have managed to process more Web often still seep into the system. If so,
simple formulas. Networking systems data, and obtained higher confidence the CS system must find a way to undo
simply link contributions (homepages that population = 5500 is indeed cor- those. If the system does not combine

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n ic at i o n s of t he acm 95


review articles

contributions (such as reviews) or now on to move beyond building indi- Mangrove: Enticing ordinary people onto the semantic
web via instant gratification. In Proceedings of ISWC,
does so only in a loose fashion (such vidual systems, toward building gen- 2003.
as ratings), undoing is relatively easy. eral CS platforms that can be used to 15. Mihalcea, R. and Chklovski, T. Building sense tagged
corpora with volunteer contributions over the Web. In
If the system combines contributions develop such systems quickly. Proceedings of RANLP, 2003.
tightly, but keeps them localized, then Second, we expect that crowdsourc- 16. Noy, N.F., Chugh, A. and Alani, H. The CKC challenge:
Exploring tools for collaborative knowledge
we can still undo with relatively sim- ing will be applied to ever more classes construction. IEEE Intelligent Systems 23, 1, (2008)
ple logging. For example, user edits of applications. Many of these applica- 64–68.
17. Noy, N.F., Griffith, N. and Munsen, M.A. Collecting
in Wikipedia can be combined exten- tions will be formal and structured in community-based mappings in an ontology repository.
sively within a single page, but kept some sense, making it easier to employ In Proceedings of ISWC, 2008.
18. Olson, M. The amateur search. SIGMOD Record 37, 2
localized to that page (not propagated automatic techniques and to coordi- (2008), 21–24.
19. Perkowitz, M. and Etzioni, O. Adaptive web sites.
to other pages). Consequently, we can nate them with human users.37–40 In Comm. ACM 43, 8 (Aug. 2000).
undo with page-level logging, as Wiki- particular, a large chunk of the Web is 20. Rahm, E. and Bernstein, P.A. A survey of approaches
to automatic schema matching. VLDB J. 10, 4, (2001),
pedia does. Hoever, if the contribu- about data and services. Consequent- 334–350.
tions are pushed deep into the system, ly, we expect crowdsourcing to build 21. Ramakrishnan, R. Collaboration and data mining,
2001. Keynote talk, KDD.
then undoing can be very difficult. For structured databases and structured 22. Ramakrishnan, R., Baptist, A., Ercegovac, A.,
example, suppose an inference rule services (Web services with formalized Hanselman, M., Kabra, N., Marathe, A. and Shaft, U.
Mass collaboration: A case study. In Proceedings of
R is contributed to a KB on Day 1. We input and output) will receive increas- IDEAS, 2004.
then use R to infer many facts, apply ing attention. 23. Rheingold, H. Smart Mobs. Perseus Publishing, 2003.
24. Richardson, M. and Domingos, P. Mining knowledge-
other rules to these facts and other Finally, we expect many techniques sharing sites for viral marketing. In Proceedings of
facts in the KB to infer more facts, let will be developed to engage an ever KDD, 2002.
25. Richardson, M. and Domingos, P. Building large
users edit the facts extensively, and so broader range of users in crowdsourc- knowledge bases by mass collaboration. In
on. Then on Day 3, should R be found ings, and to enable them, especially Proceedings of K-CAP, 2003.
26. Sarwar, B.M., Karypis, G., Konstan, J.A. and Riedl, J.
incorrect, it would be very difficult to naïve users, to make increasingly Item-based collaborative filtering recommendation
remove R without reverting the KB to complex contributions, such as creat- algorithms. In Proceedings of WWW, 2001.
27. Steinmetz, R. and Wehrle, K. eds. Peer-to-peer
its state on Day 1, thereby losing all ing software programs and building systems and applications. Lecture Notes in Computer
Science. 3485; Springer, 2005.
good contributions made between mashups (without writing any code), 28. Stork, D.G. Using open data collection for intelligent
Day 1 and Day 3. and specifying complex structured software. IEEE Computer 33, 10, (2000), 104–106.
29. Surowiecki, J. The Wisdom of Crowds. Anchor Books,
At the other end of the user spec- data pieces (without knowing any 2005.
trum, many CS systems also iden- structured query languages). 30. Tapscott, D. and Williams, A.D. Wikinomics. Portfolio,
2006.
tify and leverage influential users, 31. Time. Special Issue Person of the year: You,
using both manual and automatic References 2006; http://www.time.com/time/magazine/
1. AAAI-08 Workshop. Wikipedia and artificial article/0,9171,1569514,00.html.
techniques. For example, productive 32. von Ahn, L. and Dabbish, L. Labeling images with a
intelligence: An evolving synergy, 2008.
users in Wikipedia can be recom- 2. Adamic, L.A., Zhang, J., Bakshy, E. and Ackerman,
computer game. In Proc. of CHI, 2004.
33. von Ahn, L. and Dabbish, L. Designing games with a
mended by other users, promoted, M.S. Knowledge sharing and Yahoo answers:
purpose. Comm. ACM 51, 8 (Aug. 2008), 58–67.
Everyone knows something. In Proceedings of WWW,
and given more responsibilities. As an- 2008.
34. von Ahn, L., Maurer, B., McMillen, C., Abraham, D.
and Blum, M. Recaptcha: Human-based character
other example, certain users of social 3. Chai, X., Vuong, B., Doan, A. and Naughton, J.F.
recognition via Web security measures. Science 321,
Efficiently incorporating user feedback into
networks highly influence buy/sell de- 5895, (2008), 1465–1468.
information extraction and integration programs. In
35. Weld, D.S., Wu, F., Adar, E., Amershi, S., Fogarty, J.,
cisions of other users. Consequently, Proceedings of SIGMOD, 2009.
Hoffmann, R., Patel, K. and Skinner, M. Intelligence in
4. The Cimple/DBLife project; http://pages.cs.wisc.
some work has examined how to auto- Wikipedia. AAAI, 2008.
edu/~anhai/projects/cimple.
36. Workshop on collaborative construction, management
5. DeRose, P., Chai, X., Gao, B.J., Shen, W., Doan,
matically identify these users, and le- A., Bohannon, P. and Zhu, X. Building community
and linking of structured knowledge (CK 2009), 2009.
http://users.ecs.soton.ac.uk/gc3/iswc-workshop.
verage them in viral marketing within Wikipedias: A machine-human partnership approach.
37. Franklin, M, Kossman, D., Kraska, T, Ramesh, S,
In Proceedings of ICDE, 2008.
a user community.24 6. Fuxman, A., Tsaparas, P., Achan, K. and Agrawal,
and Xin, R. CrowdDB: Answering queries with
crowdsourcing. In Proceedings of SIGMOD 2011.
R. Using the wisdom of the crowds for keyword
38. Marcus, A., Wu, E. and Madden, S. Crowdsourcing
generation. In Proceedings of WWW, 2008.
Conclusion 7. Golbeck, J. Computing and applying trust in Web-
databases: Query processing with people. In
Proceedings of CRDR 2011.
We have discussed CS systems on based social network, 2005. Ph.D. Dissertation,
39. Parameswaran, A., Sarma, A., Garcia-Molina, H.,
University of Maryland.
the World-Wide Web. Our discussion 8. Ives, Z.G., Khandelwal, N., Kapur, A., and Cakir, M.
Polyzotis, N. and Widom, J. Human-assisted graph
search: It’s okay to ask questions. In Proceedings of
shows that crowdsourcing can be ap- Orchestra: Rapid, collaborative sharing of dynamic
VLDB 2011.
data. In Proceedings of CIDR, 2005.
plied to a wide variety of problems, 9. Kasneci, G., Ramanath, M., Suchanek, M. and Weiku,
40. Parameswaran, A. and Polyzotis, N. Answering
queries using humans, algorithms, and databases.
and that it raises numerous interesting G. The yago-naga approach to knowledge discovery.
In Proceedings of CIDR 2011.
SIGMOD Record 37, 4, (2008), 41–47.
technical and social challenges. Given 10. Koutrika, G., Bercovitz, B., Kaliszan, F., Liou, H. and
the success of current CS systems, we Garcia-Molina, H. Courserank: A closed-community
social system through the magnifying glass. In The AnHai Doan (anhai@cs.wisc.edu) is an associate
expect that this emerging field will 3rd Int’l AAAI Conference on Weblogs and Social professor of computer science at the University of
Media (ICWSM), 2009. Wisconsin-Madison and Chief Scientist at Kosmix Corp.
grow rapidly. In the near future, we 11. Little, G., Chilton, L.B., Miller, R.C. and Goldman, M.
foresee three major directions: more Raghu Ramakrishnan (ramakris@yahoo-inc.com)
Turkit: Tools for iterative tasks on mechanical turk,
is Chief Scientist for Search & Cloud Computing,
2009. Technical Report. Available from glittle.org.
generic platforms, more applications 12. McCann, R., Doan, A., Varadarajan, V., and Kramnik,
and a Fellow at Yahoo! Research, Silicon Valley, CA,
where he heads the Community Systems group.
and structure, and more users and A. Building data integration systems: A mass
collaboration approach. In WebDB, 2003.
complex contributions. 13. McCann, R., Shen, W. and Doan, A. Matching schemas
Alon Y. Halevy (halevy@google.com) heads the
Structured Data Group at Google Research, Mountain
First, the various systems built in the in online communities: A Web 2.0 approach. In
View, CA.
Proceedings of ICDE, 2008.
past decade have clearly demonstrated 14. McDowell, L., Etzioni, O., Gribble, S.D., Halevy, A.Y.,
the value of crowdsourcing. The race is Levy, H.M., Pentney, W., Verma, D. and Vlasseva, S. © 2011 ACM 0001-0782/11/04 $10.00

96 communications o f th e ac m | april 2 0 1 1 | vol . 5 4 | no. 4


research highlights
p. 98 p. 99
Technical Liability Issues in
Perspective Software Engineering
Liability Issues
in Software The use of formal methods
Engineering to reduce legal uncertainties
By Daniel M. Berry By Daniel Le Métayer, Manuel Maarek, Eduardo Mazza,
Marie-Laure Potet, Stéphane Frénot, Valérie Viet Triem Tong,
Nicolas Craipeau, and Ronan Hardouin

p. 107 p. 108
Technical Poly-logarithmic Independence
Perspective
Patterns Hidden Fools Bounded-Depth
from Simple Boolean Circuits
Algorithms By Mark Braverman
By Madhu Sudan

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n ic at i o n s of t he acm 97


research highlights
doi:10.1145/1924421.1 9 2 4 4 4 3

Technical Perspective
Liability Issues in Software Engineering
By Daniel M. Berry

The following paper by LeMétayer et al. for MMSW and contracts for BSW is logic. When S fails to deliver promised
addresses one technical issue in a large the power of the customer in the con- behavior and the affected customer
and serious problem in the production tract negotiations. For BSW, the cus- seeks compensation for that failure,
of mass-market software (MMSW), that tomer has a lot of power, able to go to P is executed to compute each liable
of the lack of liability by the producers a competitor if it finds that it is nego- stakeholder’s portion of the damages
of this MMSW. MMSW is software that tiating with an unreasonable producer. payable to the customer.
is sold—actually licensed—to the con- For MMSW, the producer dictates the If the informal agreement is writ-
sumer on the open market. terms, its lawyers having written the ten in precise legalistic style with care-
The Introduction puts the prob- EULA even before the MMSW is put on ful uses of “if,” “then,” “and,” and
lem in perspective. It points out cor- the market. Basically the producer says “or,” then its translation into P seems
rectly that “Software contracts usually to customers “Take it or leave it!”’ straightforward. Execution of P exam-
include strong liability limitations or The paper cites several calls for ines the trace of events leading to the
even exemptions of the providers for MMSW producers to warrant the be- failure in order to identify which com-
damagesa caused by their products.’’ havior of their MMSW and to be sub- ponents or user contributed to the fail-
The authors observe correctly that this ject to liability for the behavior of their ure and then it apportions the liability
lack of liability “does not favor the de- MMSW, as are manufacturers of con- to the identified stakeholders. The pa-
velopment of high quality software be- sumer electro-mechanical devices. per gives a formal model of the infor-
cause the software industry does not Among these calls was a paper I wrote mation that must be in traces to allow
have sufficient economical incentives in 2000, comparing the warranties for this identification and apportionment.
to apply stringent development and typical mass-market consumer appli- This trace examination is an extension
verification methods.’’ ances, such as vacuum cleaners, to the of the traditional method of finding a
It must be emphasized that the con- EULAs for typical MMSW. After observ- bug’s source by examining a trace of
tracts being discussed are for MMSW. ing that the appliances in my house the execution leading to the bug. These
Such a contract is generally in the were more reliable than the MMSW on traces are negative scenarios,b and tra-
form of a shrink-wrapped, or click-yes- my computers, I concluded that appli- ditional methods of identifying a sys-
to-buy, end-user license agreement ance manufacturers warrant and ac- tem’s failure modesc can be used to
(EULA), which the customer must agree cept liability because they are required find these negative scenarios.
to in order to touch or download the to do so by law in most jurisdictions and This contribution is an interest-
MMSW. This EULA typically says that that MMSW producers warrant nothing ing application of lightweight formal
the producer warrants only the medi- and accept no liability because they are methods.1 The paper’s formal model of
um on which the software is supplied not required to do so by law and buyers liability is intentionally strong enough
and nothing at all about the software’s show that they accept the situation by for formalizing liability apportionment
functions, and that the producer’s li- continuing to buy existing MMSW. agreements, but not for traditional
ability is limited to the cost of the prod- The following paper contributes a uses of formal methods, such as verify-
uct, that is, you get your money back. way to automatically apportion liabil- ing correctness. The paper’s technique
While the authors do not explicitly ity among the stakeholders of a system seems to be workable and should help
say so, the contracts of the paper do S constructed for the mass market. It manage liability for systems that are
not include those for bespoke software describes the stakeholders of S as in- constructed out of components sup-
(BSW) developed to do specific func- cluding the user and the producers of plied by multiple stakeholders.
tions for one customer who intends to any of S’s needed hardware, software,
be the sole user of the BSW when it is and Internet supplied services. The b http://discuss.it.uts.edu.au/pipermail/re-
finished. In the contract for such BSW, paper assumes that all potentially li- online/2006-January/000219.html/
c http://en.wikipedia.org/wiki/Failure_mode_
the producer promises to deliver spe- able stakeholders of S have executed
and_effects_analysis/
cific functions and agrees to be liable an informal agreement, expressed in
should the BSW be delivered late, with natural language. For each particular
functions missing or incorrectly imple- kind of failure of S to deliver promised References
1. Feature, M.S. Rapid application of lightweight formal
mented, and so on. behavior, the informal agreement ap- methods for consistency analyses. IEEE Transactions
The difference between contracts portions liability among the stakehold- on Software Engineering 24 (1998). IEEE Computer
Society, Los Alamitos, CA, 949-959.
ers based on the contributions of the
user, hardware, software, and services Daniel M. Berry (dberry@waterloo.ca) is a professor at
a The paper uses the word “damages” both as
the law does to mean the cost of the effect of a
to the failure. The informal agreement the Cheriton School of Computer Science, University of
Waterloo, Ontario, Canada.
failure and as the vernacular does to mean the is translated into essentially a program
harm caused by the use of a product. P, written in set theory and predicate © 2011 ACM 0001-0782/11/04 $10.00

98 communications o f th e acm | april 2 0 1 1 | vol . 5 4 | no. 4


doi:10.1145/1924421 . 1 9 2 4 4 4 4

Liability Issues in
Software Engineering
The use of formal methods to reduce legal uncertainties
By Daniel Le Métayer, Manuel Maarek, Eduardo Mazza, Marie-Laure Potet, Stéphane Frénot, Valérie Viet Triem Tong,
Nicolas Craipeau, and Ronan Hardouin

Abstract state other aspects less precisely (either because it is


This paper reports on the results of a multidisciplinary impossible to foresee at contracting time all the events
­project involving lawyers and computer scientists with the that may occur or because they do not want to be bound
aim to put forward a set of methods and tools to (1) define by too precise commitments). Taking this requirement
software liability in a precise and unambiguous way and into account, we provide a set of tools and methods to be
(2) establish such liability in case of incident. The overall used on a need basis in the contract drafting process (as
approach taken in the project is presented through an opposed to a monolithic, “all or nothing” approach). Our
­electronic signature case study. The case study illustrates model is based on execution traces which are abstrac-
a situation where, in order to reduce legal uncertainties, tions of the log files of the system. In a nutshell, liability is
the parties wish to include in the contract specific clauses specified as a function taking as parameters a claim and
to define as precisely as possible the share of liabilities an execution trace and returning a set of “responsible”
between them for the main types of failures of the system. actors. This set of actors (ideally a singleton) depends
on the claim and the errors occurring in the trace. Both
errors and claims are expressed as trace properties. The
1. INTRODUCTION liability function can be made as precise or detailed as
Software contracts usually include strong liability limita- necessary by choosing the claims and errors relevant for
tions or even exemptions of the providers for damages a given situation.
caused by their products. This situation does not favor the The presentation of this paper is based on a case study:
­development of high-quality software because the software an electronic signature application installed on a mobile
industry does not have sufficient economical incentives phone. Section 2 describes the starting point (IT sys-
to apply stringent development and verification meth- tem ­subject to the agreement, parties involved, informal
ods. Indeed, experience shows that products tend to be of ­agreement between the parties and legal context); Section 3
higher quality and more secure when the actors in position presents our formal framework for the definition of liabili-
to influence their development are also the actors bearing ties. Section 4 provides a sketch of related work, and Section
the liability for their defects.1 The usual argument to jus- 5 identifies avenues for further research.
tify this lack of liability is the fact that software products
are too complex and versatile objects whose expected fea- 2. STARTING POINT
tures (and potential defects) cannot be characterized pre- Let us consider an electronic signature system allowing
cisely, and which therefore cannot be treated as traditional an e-commerce company (ECC) to send a document to be
(tangible) goods. Admittedly, this argument is not without signed by an individual on his mobile phone. The signa-
any ground: It is well known that defining in an unambigu- ture of the document is subject to the individual’s approval
ous, ­comprehensive, and understandable way the expected (and authentication) and all communications and signature
behavior of systems integrating a variety of components is operations are performed through his mobile phone. In a
quite a challenge, not to mention the use of such definition real situation, the activation of the signature system would
as a basis for a liability agreement. Taking up this challenge be preceded by a request from the individual or by a negotia-
is precisely our objective: Our aim is to study liability issues tion with the ECC, but we do not consider this negotiation
both from the legal and technical points of view and to put phase here.
forward a formal framework to (1) define liability in a pre- The mobile phone itself incorporates a smart card (for
cise and unambiguous way and (2) establish such liability the verification of the Personal Identification Number
in case of incident. Note that we focus on liabilities for soft-
ware flaws here and do not consider infringement or any This paper presents the results of the LISE (Liability Issues
other intellectual property right liabilities which involve in Software Engineering) project funded by ANR (Agence
very different issues. Nationale de la Recherche) under grant ANR-07-SESU-
Obviously, specifying all liabilities in a formal frame- 007. A previous version of this paper was published in the
work is neither possible nor desirable. Usually, the parties Proceedings of the 32nd ACM/IEEE International Conference
wish to express as precisely as possible certain aspects on Software Engineering, ICSE 2010.
which are of prime importance for them and ­prefer to

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n i c at i o n s of t he acm 99


research highlights

[PIN] of the user) and a signature application. We assume parties. The only functionality of OpSys that we consider
that the mobile phone provider (MPP), the signature appli- here is its role of medium for all communications between
cation provider (SAP), and the smart card provider (SCP) the mobile phone components (i.e., between SigApp, Card,
want to execute an agreement to put such a mobile phone and IO).
signature solution on the market. In order to reduce legal The architecture of the system and its information
uncertainties, the parties wish to include in the agree- flows are pictured in Figure 1. The protocol starts with
ment specific provisions to define as precisely as possible the ECCECC requesting a signature for document D (mes-
the share of liabilities between them for the main types sage 1). The document is forwarded by Serv and SigApp,
of failures of the system. Their intention is to use these and presented to the owner of the mobile phone (OWN)
­provisions to settle liability issues in an amicable way by by IO (messages 2, 3, and 4). If OWN refuses to sign, ECC
the application of well-defined rules. At this stage, it may is informed through IO, SigApp, and Serv (messages 5-n,
be the case that all the components (software and hard- 6-n, 7-n, and 8-n). If OWN agrees, the document and the
ware) are already available and the only remaining task is PIN code entered by OWN are forwarded to Card by SigApp
their integration. It may also be the case that some or all (messages 5-y, 6-y, and 7-y). Next, depending on whether
the components still have to be developed. In general, no Card authenticates the PIN code or not, the document
assumption can thus be made on the fact that software and the signature produced by Card are sent to ECC via
components can be designed or modified in a specific way SigApp and Serv (messages 8-y-r, 9-y-r, and 10-y-r), or
to make the implementation of liabilities easier. The only ECC is informed via SigApp and Serv of the authentica-
assumptions made at this stage are: tion ­failure (messages 8-y-w, 9-y-w, and 10-y-w). Note
that this scenario is a simplified version of a real protocol
• On the technical side: the availability of the functional which is sufficient to illustrate our purpose: for example,
architecture of the system (interfaces of the com­ in a real system, the PIN code would not be sent in clear
ponents and informal definition of their expected for security reasons – it would be provided through a hash
behavior) encoding.
•• On the business side: an informal agreement between
the parties with respect to the share of liabilities 2.2. Actors
We assume that the contract is to be executed by the three
The objective of the infrastructure described in this parties involved in the manufacture and distribution of the
paper is to allow the parties to translate this informal agree- signature solution:
ment into a contract which is both valid in the legal sense
and as­ ­precise as possible, in particular with respect to tech- • The Mobile Phone Provider (MPP)
nical issues, in order to minimize legal uncertainties. In the •• The Signature Application Provider (SAP)
remainder of this section, we describe the initial technical and •• The Smart Card Provider (SCP)
legal situation: the IT system itself (Section 2.1), the actors
involved (Section 2.2), the informal agreement between the The owner of the mobile phone (OWN) and the ECC are sup-
parties signing the agreement (Section 2.3), and the legal posed to execute different contracts with MPP which also
context surrounding the agreement (Section 2.4). plays the role of mobile phone operator. We are concerned
only with the B2B contract between MPP, SAP, and SCP here.
2.1. IT system We come back in Section 2.4 to the legal consequences of
At the start of the contractual phase, the IT system is usually including the owner of the mobile phone (OWN) among the
defined in an informal way by its architecture: its compo- parties. In the sequel, we shall use the word “party” for MPP,
nents, their interfaces, expected behaviors, and interactions. SAP, and SCP, and the word “user” for the end-users of the
In our case study, we assume that the electronic signature system (ECC and OWN).
system is made of the following components: Each component in the system is provided by one of the
parties. In our case, we assume that:
• A Server (Serv)
•• A Signature Application (SigApp) • The SigApp component is provided by SAP.
•• A Smart Card (Card) •• The Card component is provided by SCP.
•• A Mobile Input/Output (IO) component which gathers •• The IO and OpSys components are provided by MPP.
the keyboard and the display of the mobile phone
(including their drivers)
•• An Operating System (OpSys) 2.3. Informal agreement
The parties wish to define as precisely as possible the share
All the components except Serv are embedded in the of liabilities between themselves in case of a claim from the
mobile phone. In this paper, we focus on liabilities related owner of the mobile phone. In practice, claims will typically
to the mobile phone system and do not consider liabili- be addressed to MPP because MPP is the only party in direct
ties related to Serv or the communication network. These contact (and contractual relationship) with the owner of the
liabilities could be handled in the same way by adding the mobile phone (both as a MPP and operator). MPP will have
ECC and the telecommunication operator as additional to indemnify the owner of the mobile phone if his claim

100 communi cations o f t h e ac m | april 2 0 1 1 | vol . 5 4 | no. 4


Figure 1. Signature protocol.

is valid and may in turn be indemnified by one (or several) document stamped q, then, if this claim is valid
of the other parties depending on the type of the claim, a. If the smart card has wrongly validated a PIN for
the available log files, and the liability share defined in the ­document D stamped q, then SCP shall be liable.
agreement.
In the following, we assume that each document to be b. Otherwise MPP shall be liable.
signed is originally stamped by ECC and this stamp q is
(i) unique, (ii) always included in the messages of a given ses- We do not discuss the value or justifications for this infor-
sion, and (iii) never modified. This stamp q can be seen as mal agreement here and just take it as an example of a pos-
a transaction number which makes it easier to distinguish sible share of liabilities. It should be clear that this share of
messages pertaining to different signature sessions. Lifting liabilities is the result of a negotiation between the parties,
or relaxing this assumption is possible, but at the expense of based on a combination of technical as well as business and
a more complex model. legal arguments, and it does not have to (and usually cannot)
As an illustration, we consider two kinds of claims be justified formally. For example, the above rules for the
from the owner of the mobile phone, called DiffDoc and liability by default may be found acceptable by MPP because
NotSigned, ­concerning the signature of an alleged ­document he takes a significant part of the revenues of the business at
D stamped q: the expense of bearing the risk in connection with the cus-
tomer. The point is that the formal framework should not
1. DiffDoc: The plaintiff OWN claims that he has been impose any undue constraint on the share of liabilities but
presented a document D¢ stamped q different from should provide means for the parties to express their wishes
the alleged document D (stamped q). In the case of as ­precisely as possible.
a  purchase order, for example, D and D¢ may differ
with respect to the quantity or price of the ordered 2.4. Legal context
items. Even though the intention of the parties is to settle liability
2. NotSigned: The plaintiff OWN claims that he has never issues in an amicable way, according to well-defined rules, it
been presented any document stamped q. is obviously necessary to take into account the legal context
pursuant to computer systems. Any misconception or over-
We assume that the parties agree on the following informal looking of the legal constraints might lead to contractual
share of liabilities for these two types of claims: clauses that could be invalidated in court, thus increasing
rather than reducing legal risks. The two main categories
1. If OWN claims that he has been presented a document of legal constraints to be considered here concern the two
D¢ stamped q different from the alleged document D main phases of the process: (1) the formal definition of the
(stamped q), then, if this claim is valid share of liabilities among the parties and (2) the analysis
a. SAP shall be liable if SigApp has forwarded to OWN of the log files to establish these liabilities after the fact.
a  document (stamped q) different from the docu- In the following, we examine these two categories of legal
ment received from ECC. ­constraints in turn.
b. Otherwise MPP shall be liable. Liability Limitations: The first criterion to be taken into
account to assess the validity of contractual liability lim-
2. If OWN claims that he has never been presented any itations is the qualification of the parties. For ­example,

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n ic at i o n s of t h e acm 101


research highlights

most jurisdictions provide specific protections to con- is now put on par with traditional written evidence. In
sumers because they are considered as the weak party ­addition, as far as legal facts are concerned (as opposed
in a contract with a professional. Let us first consider to legal acts, such as contracts), the general rule is that
contracts involving only professionals. Several cases no ­constraint is imposed on the means that can be used
of invalidity of liability limitation clauses are defined to provide evidence. As far as legal acts are concerned,
by law. The first obvious cases where the liability limi- the rules depend on the amount of the transaction: for
tation would be considered null and void are when the example, no ­constraint is put on the means to establish
party claiming the benefit of the clause has committed evidence for contracts of value less than one thousand
acts of intentional fault, willful ­misrepresentation, or and five ­hundred Euros in France. The logs to be used in
gross negligence. Another case is the situation where the the context of our project concern the behavior of soft-
limitation would undermine an ­essential obligation of ware components, which can be qualified as legal facts.
a party and would thus introduce an unacceptable imbal- Even though they would also be used to establish the
ance in the contract. This situation is more difficult to existence and content of ­electronic contracts (as in our
assess though, and left to the appraisal of the judge who case study), we can consider at this stage that their value
may either accept the limitation, consider it null, or even would be under the threshold imposed by law to require
impose a different liability cap.a ­“written evidence” or that the evidence provided by the
As far as consumers are concerned, the law offers a num- log files would be accepted as “written evidence” under
ber of protections which severely restrict the applicability of the ­aforementioned equivalence principle.
liability limitation clauses. The philosophy of these rules is A potential obstacle to the use of log files in court could
that the consumer is in a weak position in the contractual be the principle according to which “no one can form for
relationship and legal guarantees should be provided to himself his own evidence.” It seems increasingly admit-
maintain some form of balance in the contract. For exam- ted, however, that this general principle allows exceptions
ple, professionals must provide to their consumers “non- for evidence produced by computers. As an illustration, the
conformance” and “hidden defects” warranties in French printed list of an airline company showing the late arrival
law and “implied warranty” (including “merchantability” of a traveler at the boarding desk was accepted as evidence
and “fitness”) in the American Uniform Commercial Code. by the French Cour de cassation.c Another condition for the
Any clause which would introduce a significant imbalance validity of log files as evidence is their fairness and legal-
at the prejudice of the consumer would be considered ity. For example, a letter, message, or phone conversation
unconscionable. recorded without the sender or receiver knowing it cannot
Let us note that we have focused on contractual liabil- be used against them. As far as our project is concerned,
ity here (liability which is defined in the contract itself): Of attention should be paid to the risk of recording personal
course, strict liability (when a defect in a product causes per- data in log files: In certain cases, such recording might
sonal or property damages) will always apply with respect to be judged unfair and make it impossible to use the log as
third parties (actors who are not parties to the contract). It evidence in court.
is still possible though for professionals to define contrac- Generally speaking, to ensure the strength of the log-
tual rules specifying their respective share of indemnities based evidence provisions in the agreement, it is recom-
due to a victim (third party) by one of the parties.b mended to define precisely all the technical steps for the
To conclude this subsection, let us mention other production of the log files, their storage, and the means
­criteria that need to be taken into account to refine the used to ensure their authenticity and integrity. Last but
legal analysis, in particular: the qualification of the con- not least, as in the previous subsection, the cases where
tract itself (product or service agreement), in case of a consumers are involved deserve specific attention with
product agreement, whether it is qualified as a purchase respect to evidence: Any contractual clause limiting
agreement or a license agreement, the nature of the soft- the possibilities of the consumer to defend his case by
ware (dedicated or off-the-shelf software), the behavior of ­providing ­useful evidence is likely to be considered uncon-
the actors, etc. scionable in court.
Log Files as Evidence: The first observation concerning International Law: To conclude this section, let us men-
the contractual use of log files is that digital evidence tion the issue of applicable law. Needless to say, the
information technology business is in essence interna-
tional and, even though we have focused on European
a
  The “Faurecia case” illustrates the different interpretations of the no- regulations in a first stage, more attention will be paid
tion of “essential contractual obligation” in France. In June 2010, the in the future to broaden the scope of the legal study
chamber of commerce of the final court of appeal (“Cour de cassation”)
has rejected a referral of the case to the court of appeal which had itself
and understand in which respect differences in laws
declared that the limitation of liability was not in contradiction with the and jurisdictions should be taken into account in the
essential obligation of the software provider (Oracle) because the cus- design of our framework. For example, certain types of
tomer (Faurecia) could get a reasonable compensation. The philosophy liability limitations are more likely to be considered as
of the decision is that the overall balance of the contract and the behavior valid by American courts which put greater emphasis on
of the parties should be considered to decide upon the validity of liability
limitations.
b
  In European laws, the victim of a defect caused by a product can sue any of
the actors involved in the manufacturing or distribution of the product.   Cass. civ. 1re, July 13th. 2004: Bull. civ. 2004, I, n° 207.
c

102 communi cations o f t h e acm | april 2 0 1 1 | vol . 5 4 | no. 4


contractual freedom.14 and the type (document, response, PIN code, and signature)
of each element composing a message is implicitly associ-
3. FORMAL SPECIFICATION OF LIABILITIES ated with the element itself in order to avoid any ambiguity.
The share of liabilities between the parties was expressed in We denote by Traces the set of all traces, a trace T being
Section 2.3 in a traditional, informal way. Texts in natural defined as a function associating a stamp with a list of items.
language, even in legal language, often conceal ambiguities Each item is defined by the communication operation (Send
and misleading representations. The situation is even worse or Receive), the sender, the receiver, and the content of the
when such statements refer to mechanisms which are as message:
complex as software. Such ambiguities are sources of legal
uncertainties for the parties executing the contract. The use
of formal (mathematical) methods has long been studied
and put into practice in the computer science community to A first comment on the above definition is the fact
define the specification of software systems (their expected that we use a functional type (from stamps to lists
behavior) and to prove their correctness or to detect errors in of items) to ­r epresent traces. This choice makes the
their implementations. For various reasons however (both manipulation of traces easier in the sequel because we
technical and economical), it remains difficult to apply for- are always ­i nterested in the items corresponding to a
mal methods at a large scale to prove the correctness of a given session. Other ­r epresentations could have been
complete system. chosen as well, such as lists of items ­i ncluding the stamp
In contrast with previous work on formal methods, our information.
goal here is not to apply them to the verification of the sys- Let us note that, in order to make the mathematical
tem itself (the mobile phone solution in our case study) but definitions and the reasoning simpler, the notions used
to define liabilities in case of malfunction and to build an in this section represent an abstraction of the real system.
analysis tool to establish these liabilities from the log files Therefore, we use the term “trace” here and keep the word
of the system. “log” to denote the actual information recorded by the sys-
It should be clear however, as stated in Section 1, that our tem. The link between traces and logs is described by Le
goal is not to provide a monolithic framework in which all Métayer et al.12
liabilities would have to be expressed. The method proposed
here can be used at the discretion of the parties involved and 3.2. Trace properties
as much as necessary to express the liabilities concerning We present successively the two types of trace properties
the features or potential failures deemed to represent the used in this paper: error properties and claim properties.
highest sources of risks for them. Error Properties: The most important parameter to deter-
In this section, we present successively the parameters mine the allocation of liabilities is the nature of the
which are used to establish liabilities (Sections 3.1 and 3.2) errors which can be detected in the log files of the sys-
before introducing the liability function in Section 3.3. tem. Ideally, the framework should be general enough to
reflect the wishes of the parties and to make it possible
3.1. Trace model to explore the combinations of errors in a systematic way.
Following the informal description in Section 2, the sets of One ­possible way to realize this exploration is to start with
components, parties, and users are defined as follows: a specification of the key properties to be satisfied by the
system and derive the cases which can lead to the negation
Components = {Serv, SigApp, Card, IO, OpSys} of these properties.
     Parties = {MPP, SAP, SCP} Our goal being to analyze log files, we characterize
      Users = {OWN, ECC} the expected properties of the system directly in terms
of traces. For example, the fact that SigApp should send to
Q is the set of stamps and C the set of communicating IO the document D received from Serv (and only this docu-
e­ ntities (components and users). O and M denote, respec- ment) can be expressed as follows:
tively, the set of communication operations and message
contents. The distinction between send and receive events Same-Doc (T,q) ≡
allows us to capture communication errors.d ∀D ∈ Documents,
(Receive, Serv, SigApp, [D]) ∈ T (q) ⇔
(Send, SigApp, IO, [D]) ∈ T (q)

In the scenario considered here, the systematic study of


the cases of violation of this property leads to the following
errors:

We assume that signature sessions in traces are complete SigApp-Diff (T,q) ≡


$D, D′ ∈ Documents, D ≠ D′ Ù
(Receive, Serv, SigApp, [D]) ∈ T(q) Ù
  This feature is not illustrated in this paper.
d
(Send, SigApp, IO, [D′ ]) ∈ T(q)

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n ic at i o n s of t h e acm 103


research highlights

SigApp-Not(T,q) ≡ impact on the overall process, but it may make some of the
$D ∈ Documents, technical steps, such as the analysis of the log architecture,
(Receive, Serv, SigApp, [D]) ∈ T(q) Ù more or less difficult.13
"D′ ∈ Documents, Claim Properties: Claim properties represent the “grounds”
(Send, SigApp, IO, [D′ ]) ∉ T(q) for the claims of the users: They correspond to failures of the
system as experienced by the users. In practice, such fail-
SigApp-Un(T,q) ≡
ures should cause damages to the user to give rise to liabili-
$D ∈ Documents,
ties, but damages are left out of the formal model. Claims
(Send, SigApp, IO, [D]) ∈ T(q) Ù
can thus be expressed, like errors, as properties on traces.
"D′ ∈ Documents,
We consider two claim properties here, Claim-DiffDoc and
(Receive, Serv, SigApp, [D′ ]) ∉ T(q)
Claim-NotSigned, which define the grounds for the claims
Space considerations prevent us from presenting this introduced in Section 2.3:
s­ ystematic derivation here. It relies on a decomposition
Claim-DiffDoc(T,q) ≡
of the negation of the properties into disjunctive normal
$D, D′ ∈ Documents, $S ∈Signatures, D ≠ D′ Ù
form and selective application of additional decomposition
(Send, SigApp, Serv, [Yes; D; S]) ∈ T(q) Ù
transformations for “nonexistence” properties. The terms
(Receive, SigApp, IO, [D′ ]) ∈ T(q)
of the above disjunction correspond to three typical types of
Claim-NotSigned(T,q) ≡
errors:
$D ∈ Documents, $S ∈Signatures,
(Send, SigApp, Serv, [Yes; D; S]) ∈ T(q) Ù
1. The first term defines a case where a message is sent
∀D′ ∈ Documents, (Receive, SigApp, IO, [D′ ]) ∉ T(q)
with content different from expected.
2. The second term is a case of expected message which The first definition defines a claim corresponding to a case
is not sent. where OWN has been presented a document D′ with stamp q
3. The third term is a case where an unexpected message (as indicated by (Receive, SigApp, IO, [D′]) different from the
is sent. document D sent by the signature application to the server
(message (Send, SigApp, Serv, [Yes; D; S]) ). The second defini-
Similarly, the negation of the property that Card returns tion defines a claim corresponding to a case where the sig-
a signature only when it has received OWN’s PIN code Pown nature application has sent to the server a message (Send,
leads to several errors of the three aforementioned types, SigApp, Serv, [Yes; D; S]) indicating that OWN has signed a
from which we assume that only two are deemed relevant by document stamped q when OWN has never been presented
the parties. The first one, Card-WrongVal, describes a case any document stamped q.
where an approval and a signature are sent by Card even
though it has not received a right PIN code:
3.3. Liability function
Card-WrongVal(T,q) ≡ The formal specification of liabilities can be defined as a
$D ∈ Documents, $S ∈Signatures, function mapping a claim, a trace, and a stamp onto a set
(Send, Card, SigApp, [Yes; D; S]) ∈ T(q) Ù of partiese:
(Receive, SigApp, Card, [D; POWN]) ∉ T(q)

The second one, Card-WrongInval, defines a case where Card


refuses to sign a document even though it has received the where Claims = {DiffDoc, NotSigned}.
correct PIN code POWN: As an illustration, the following function captures the
share of liabilities introduced in Section 2.3:
Card-WrongVal(T,q) ≡
Liability(C, T, q ) ≡
$D ∈ Documents,   If C = DiffDoc Ù Claim-DiffDoc(T, q ) then
(Send, Card, SigApp, [No; D]) ∈ T(q) Ù     If SignApp-Diff(T, q)
(Receive, SigApp, Card, [D; POWN]) ∈ T(q)     Then {SAP}
Needless to say, errors can also be defined directly based on     Else {MPP}
the parties’ understanding of the potential sources of fail-   If C = NotSigned Ù Claim-NotSigned(T, q ) then
ure of the system and their desire to handle specific cases.     If Card-WrongVal(T, q )
The derivation method suggested here can be used when     Then {SCP}
the parties wish to take a more systematic approach to mini-     Else {MPP}
mize the risk of missing relevant errors.   Else 0/
Last but not least, the language used to express properties The two cases in Liability correspond to the two types of
for this case study is relatively simple as it does not account claims considered in Section 2.3. For each type of claim,
for the ordering of items in traces. In general, richer logics the goal of the first test is to check the validity of the claim
may be needed, for example, to express temporal properties.
The choice of the language of properties does not have any e
  P(S) denotes the set of all subsets (powerset) of S.

104 communi cations o f t h e ac m | april 2 0 1 1 | vol . 5 4 | no. 4


raised by OWN. If OWN raises a claim which is not con- system (and resulting damages). To address this need, we
firmed by the trace, then the result of Liability is the empty have defined a concept of “logical causality” in Goesseler
set because no party has to be made liable for an unjustified et al.8 Causality plays a key role in the legal characteriza-
claim. Otherwise, if OWN claims to have been presented a tion of liability. It has also been studied for a long time in
document D′ different from the alleged document D, then computer science, but with quite different perspectives
SAP is  liable if SigApp has forwarded to OWN a document and goals. In the distributed systems community, causal-
(stamped q) different from the document received from ity is seen essentially as a temporal property. In Goesseler
ECC (SigApp-Diff(T, q)); otherwise, MPP is liable. Similarly, et al.,8 we have defined several variants of logical causality
if OWN’s claim is that he has never been presented any doc- allowing us to express the fact that an event e2 (e.g., a fail-
ument stamped q, then SCP is liable if the smart card has ure) would not have occurred if another event e1 had not
wrongly validated a PIN in session q (Card-WrongVal(T, q)); occurred (“necessary causality”) or the fact that e2 could
otherwise MPP is liable. not have been avoided as soon as e1 had occurred (“suf-
ficient causality”). We have shown that these causality
properties are decidable and proposed trace analysis pro-
4. RELATED WORK cedures to establish them. These notions of causality can
The significance of liability, warranty, and accountability be integrated in the framework presented here to increase
and their potential impact on software quality have already the expressive power of the language used for the defini-
been emphasized by computer scientists as well as law- tion of liability functions.
yers.1, 4, 21, 22 However, we are not aware of previous work Another aspect which requires further consideration is
on the application of formal methods to the definition of the nature of the evidence itself and the values stored in the
software liability. Earlier works on the specification of con- logs. First, it may be the case that some values, e.g., for pri-
tracts mostly deal with obligations in a general sense6, 9, 19 vacy or security reasons, must not be recorded in the logs. It
or with specific types of contracts such as commercial may also be the case that not all the relevant information is
contracts or privacy rules11, 18 but do not address liabilities included in the log files of the system. For example, in our
related to software errors. case study, the fact that the owner of the mobile phone has
Service Level Agreements also define contractual provi- declared the theft of his device or has signed an acknowl-
sions but generally focus on Quality of Service rather than edgment receipt for a product sent by the ECC can be useful
functional requirements and do not put emphasis on formal information to analyze the situation (depending on the lia-
specifications. A notable exception is the SLAng language24, 25 bility rules decided by the parties). Traces can thus be more
which is endowed with a formal semantics and can be used than abstract versions of the log files and include other types
to specify a variety of services such as Application Service of actions from all the actors involved.
Provision, Internet Service Provision, or Storage Service The simple case study used to illustrate this paper did
Provision. In addition, the monitorability and monitoring of not allow us to discuss the issues related to distributed sys-
SLAng services have been considered both from the formal tems. A key design choice in this context is the distribution
and practical points of view.26 of the log files themselves. Indeed, recording log entries
Several other connected areas share part of our objec- on a device controlled by an actor who may be involved in
tives such as software dependability,3 model-based diag- a claim for which this log would be used as evidence may
nosis,5, 16 intrusion detection,10 forensics,2, 20 and digital not be acceptable for the other parties. In Le Métayer et al.,13
evidence.7, 27, 28 Needless to say, each of these areas is a we introduce a framework for the specification of log archi-
useful source of inspiration for our project, but we believe tectures and propose criteria to characterize “acceptable
that none of them, because of their different objectives, log architectures.” These criteria depend on the functional
provides the answer to the key problem addressed in this architecture of the system itself and the potential claims
paper, namely, the formal specification and instrumenta- between the parties. They can be used to check if a log archi-
tion of liability. tecture is appropriate for a given set of potential claims and
to suggest improvements to derive an acceptable log archi-
tecture from a non-acceptable log architecture. On the for-
5. CONCLUSION mal side, we have shown that, for a given threat model, the
As stated in Section 1, the goal of this paper is to provide logs produced by acceptable log architectures can be trusted
an overview of our approach through a case study. Because as evidence for the determination of liabilities: Technically
the presentation is targeted toward the case study rather speaking, any conclusive evaluation of a claim on these logs
than stated in general terms, a number of technical issues returns the same answer as the evaluation of the claim on
and options have not been described here. In this section, the sequence of real events.
we suggest some generalizations and avenues for further As far as the log analysis itself is concerned, we have
research. proposed a formal specification of the analyzer using the
The notions of traces and properties have been pre- B method in Mazza et al.15 and we have shown the cor-
sented in a somewhat simplistic way in this paper. In gen- rectness of an incremental analysis process. This result
eral, the parties may wish to define liabilities in a more makes it possible to build on the output of a first analy-
flexible way and establish a link between the erroneous sis to improve it by considering additional logs or further
execution of certain components and the failures of the properties.

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n i c at i o n s of t h e acm 105


research highlights

To conclude, we should stress that the methods and (2007), 82–91. 14. Lipovetsky, S. Les clauses limitatives
3. Avizienis, A., Laprie, J.-C., Randell, de responsabilité et de garantie dans
tools provided by our framework can be applied in an B. Fundamental concepts of les contrats informatiques.
incremental way, depending on the wishes of the parties, computer system dependability. Approche comparative France/
In IARP/IEEE-RAS Workshop on États-Unis. Quelles limitations.
the economic stakes, and the timing constraints for draft- robot dependability: technological Expertises des systèmes
ing the contract. challenges of dependable robots in d’information, n° 237 (May 2000),
human environments (2001). 143–148.
4. Berry, D.M. Appliances and software: 15. Mazza, E, Potet, M.-L., Le Métayer, D.
1. The first level of application is a systematic (but The importance of the buyer's A formal framework for specifying
warranty and the developer's and analyzing logs as electronic
­informal) definition of liabilities in the style of liability in promoting the use of evidence. In Brazilian Symposium on
Section 2.3. systematic quality assurance and Formal Methods (SBMF 2010)
formal methods. In Proceedings (2010).
2. The second level is the formal definition of liabilities of the Workshop on Modeling 16. Papadopoulos, Y. Model-based system
Software System Structures in monitoring and diagnosis of failures
as presented in Section 3.3. This formal definition a Fastly Moving Scenario (Santa using statecharts and fault trees.
itself can be more or less detailed and encompass only Margherita Ligure, Italy, 2000); Reliab. Eng. Syst. Safety 81 (2003),
http://www.montereyworkshop.org/ 325–341.
a part of the liability rules defined informally. In PROCEEDINGS/BERRY/ 17. Parrend, P. Frénot, S. Security
­addition, it does not require a complete specification 5. Brandan-Briones, L., Lazovik, A., benchmarks of OSGi platforms:
Dague, P. Optimal observability for Toward hardened OSGi.
of the software but only the properties relevant for the diagnosability. In International Softw.– Prac. Exp. (SPE) 39, 5 (2009),
targeted liability rules. Workshop on Principles of Diagnosis 471–499.
(2008). 18. Peyton Jones, S.L., Eber, J.-M.
3. The third level is the implementation of a log infra- 6. Farrell, A.D.H., Sergot, M.J., Sallé, M., How to write a financial contract.
structure or the enhancement of existing logging facil- Bartolini, C. Using the event In The Fun of Programming,
calculus for tracking the normative Cornerstones of Computing, chapter
ities to ensure that all the information required to state of contracts. Int. J. Coop. 6, 2003.
establish liabilities will be available if a claim is raised. Inform. Sys. (IJCIS) 14, 2–3 19. Prisacariu, C., Schneider, G. A formal
(2005), 99–129. language for electronic contracts.
An example of implementation of our framework is 7. Gladyshev, P. Enbacka, A. Rigorous In FMOODS, Springer, LNCS 4468
described in Le Métayer et al.,12 which defines a log development of automated (2007), 174–189.
inconsistency checks for digital 20. Rekhis, S., Boudriga, N. A temporal
architecture for OSGi. evidence using the B method. Int. logic-based model for forensic
4. The fourth level is the implementation of a log ana- J. Dig. Evidence (IJDE) 6, 2 (2007), investigation in networked system
1–21. security. Comput. Netw. Security 3685
lyzer to assist human experts in the otherwise tedious 8. Goessler, G., Raclet, J.-B., Le (2005), 325–338.
Métayer, D. Causality analysis in 21. Ryan, D.J. Two views on security
and error-prone log inspection. contract violation. In International vand software liability. Let the
5. A fifth level would be the verification of the correctness Conference on Runtime Verification legal system decide. IEEE
(RV 2010), LNCS 6418 (2010), Security Privacy (January–February
of the log analyzer with respect to the formal definition 270–284. 2003).
of liabilities (considering the correspondence between 9. Governatori, G., Milosevic, Z., Sadiq, 22. Schneider, F.B. Accountability for
S.W. Compliance checking perfection. IEEE Security Privacy
log files and traces). This level would bring an between business processes and (March–April 2009).
­additional guarantee about the validity of the results business contracts. In EDOC. 23. Schneier, B., Kelsey, J. Secure
IEEE Computer Society (2006), audit logs to support computer
produced by the system. 221–232. forensics. ACM Trans. Inform.
10. Jones, A.K., Sielken, R.S. Computer Syst. Security (TISSEC) 2, 2 (1999),
System Intrusion Detection: 159–176.
Each of these levels contributes to reducing fur- A Survey, TR, University of Virginia 24. Skene, J., Lamanna, D.D., Emmerich,
ther the uncertainties with respect to liabilities and the Computer Science Department, W. Precise service level agreements.
1999. In ACM/IEEE International
­parties can decide to choose the level commensurate with 11. Le Métayer, D. A formal privacy Conference on Software Engineering
the risks involved with the potential failures of the system. management framework. In Formal (ICSE), IEEE (2004), 179–188.
Aspects of Security and Trust (FAST), 25. Skene, J., Raimondi, F., Emmerich, W.
Last but not least, we are currently working on two Springer Verlag, LNCS 5491 (2009), Service-level agreements for
other key issues related to log files which have not been 162–176. electronic services. IEEE Tran.
12. Le Métayer, D., Maarek, M., Mazza, Software Eng. (TSE) 36, 2 (2010),
discussed here: their optimization in terms of storage E., Potet, M.-L., Frénot, S., Viet Triem 288–304.
Tong, V., Craipeau, N., Hardouin, R. 26. Skene, J., Skene, A., Crampton, J.,
(compaction, retention delay, etc.) using an index-based Liability in software engineering— Emmerich, W. The monitorability
factorization method and techniques to ensure their Overview of the LISE approach of service-level agreements for
and illustration on a case study. In application-service provision. In
authenticity and integrity17, 23 including trusted serializa- International Conference on International Workshop on Software
tion of log items. Software Engineering, and Performance (WOSP), ACM
Volume 1. ACM/IEEE (2010), (2007), 3–14.
135–144. 27. Solon, M., Harper, P. Preparing
Acknowledgments 13. Le Métayer, D, Mazza, E, Potet, M.-L. evidence for court. Digit. Invest. 1
Designing log architectures for legal (2004), 279–283.
We would like to thank all the members of the LISE project, evidence. In International Conference 28. Stephenson, P. Modeling of post-
who have, through many discussions and exchanges, con- on Software Engineering and Formal incident root cause analysis. Digit.
Methods (SEFM 2010). IEEE (2010), Evidence 2, 2 (2003).
tributed to the work described here, in particular Christophe 156–165.
Alleaume, Valérie-Laure Benabou, Denis Beras, Christophe
Bidan, Gregor Goessler, Julien Le Clainche, Ludovic Mé, and
Sylvain Steer. Daniel Le Métayer and Manuel Maarek, Valérie Viet Triem Tong, SSIR, Supélec
INRIA, Grenoble Rhône-Alpes, France. Rennes, France.

Eduardo Mazza and Marie-Laure Potet, Nicolas Craipeau, PrINT, University of


VERIMAG, University of Grenoble, France. Caen, France.

Stéphane Frénot, INRIA, Grenoble Ronan Hardouin, DANTE, University of


Rhône-Alpes, and INSA, Lyon, France. Versailles, Saint-Quentin, France.
References (2009).
1. Anderson, R., Moore, T. Information 2. Arasteh, A.R., Debbabi, M., Sakha,
security economics—and beyond. A., Saleh, M. Analyzing multiple logs
Information Security Summit (IS2) for forensic evidence. Dig. Invest. 4 © 2011 ACM 0001-0782/11/04 $10.00

106 communications o f t h e acm | april 2 0 1 1 | vol . 5 4 | no. 4


research highlights
doi:10.1145/1924421.1 9 2 4 4 4 5

Technical Perspective knew a explicit source of relatively small


entropy that appeared pseudo-random
Patterns Hidden from to this class.4 Yet our understanding of
the essence of what sources fooled this
Simple Algorithms class of algorithms was unknown, lead-
ing Linial and Nisan3 to conjecture that
By Madhu Sudan a certain form of “local randomness”
was sufficient to seem random to this
Is the number 9021960864034418159813 algorithms A (algorithms that decide class of algorithms. The local random-
random? Educated opinions might Boolean questions) and asks if some ness they pointed to is widely termed
vary from “No! No single string can be algorithm in A behaves very differently “limited independence.”A source X is
random,” to the more contemptuous given access to a random string gener- said to be k-wise independent if any par-
”Come on! Those are just the 714th ated by X, than it does on pure random ticular k bits of the random source are
to 733rd digits of π.” Yet, to my lim- strings? If every algorithm in A behaves totally random and independent. Linial
ited mind, the string did appear ran- roughly the same on X as on pure ran- and Nisan conjectured that for every
dom. Is there a way to use some formal domness, we say X is pseudo-random constant depth circuit, some (log n)O(1)
mathematics to justify my naïveté? to A. In the example here, X = Xπ may be -wise independence would look like
The modern theory of pseudorandom- the source that picks a random integer pure n bits of randomness. For over two
ness2,5 indeed manages to explain such i between 1 and 10000 and outputs π decades this conjecture remained un-
phenomena, where strings appear ran- [i + 1]; . . . ; π [i + 20] where π [j] denotes resolved. Only recently, Bazzi1 resolved
dom to simple minds. The key, this the jth digit of π. Given some class of a special case of the conjecture (for the
theory argues, is that randomness is algorithms A one could now ask, does case of AC0 functions corresponding to
really in the “eyes of the beholder,” or Xπ look pseudo-random to A? depth 2 circuits, or “DNF formulae”).
rather in the computing power of the Unfortunately answering such ques- Now Braverman’s work resolves the
tester of randomness. More things ap- tions leads to a fundamental challenge conjecture affirmatively. In the pro-
pear random to simpler, or resource- in the theory of computing. Proving, cess he reveals novel, elegant ways in
limited, algorithms than to complex, say, that Xπ looks random to A involves which AC0 functions can be described
powerful, algorithms. showing that no algorithm in A can de- by low-degree multivariate polynomi-
Why should we care? Because ran- tect patterns shown by the digits of π. als, showing some of the interplay be-
domness is a key resource in computa- And proving that some class of algo- tween Boolean computation and more
tion. Monte Carlo simulations abound rithms can’t do some task is a major classical mathematics. We need to
in the use of computation for predic- challenge to theoretical computer sci- see many more such connections be-
tion. On the theoretical side too, al- ence (the most notorious question be- fore we can hope to address the wide
gorithms get simplified or speeded ing “Is P = NP?”). challenges of computational com-
up incredibly if they use randomness. Given such major obstacles to ana- plexity (and P vs. NP). Indeed even to
Fundamental tasks in distributed lyzing the seeming randomness in address the question implied by the
computing (such as synchronization) strings, it is no surprise that the study opening paragraph “Are the digits of
can be solved only with randomness. of pseudo-randomness remains in its π pseudo-random to AC0 functions?,”
And there is no hope for maintaining infancy. The following paper by Mark one needs to understand much more.
privacy and secrecy without random- Braverman sheds new light on this Fortunately, Braverman’s work may
ness. At the same time much of the ran- field. It illustrates that a broad class of have reduced this question to a purely
domness we deal with in reality is not sources, as long as they have sufficient number-theoretic one: Are the digits
“pure.” They don’t come as a collection local randomness, fool a broad, but of π locally random?
of independent random bits, but are relatively simple, class of algorithms—
generated by other processes. Knowing those that compute “AC0 functions.” References
1. Bazzi, L.M.J. Polylogarithmic independence can fool dnf
how an algorithm, or a computational AC0 functions are those whose input- formulas. SIAM J. Comput. 38, 6 (2009), 2220-2272.
process, works in the presence of some- output behavior can be described by a 2. Blum, M. and Micali, S. How to generate
cryptographically strong sequences of pseudorandom
what random strings becomes the es- Boolean logic circuit consisting n in- bits. SIAM J. on Computing 13, 4 (Nov. 1984), 850-864.
sence of a recurring question. (For ex- put wires and polynomially many NOT 3. Linial, N. and Nisan, N. Approximate inclusion-
exclusion. Combinatorica 10, 4 (1990), 349-365.
ample, should you really trust nuclear gates and AND and OR gates of arbitrary 4. Nisan, N. Pseudorandom generators for space-bounded
power safety calculations made by a fan-in. AC0 functions—that correspond computation. Combinatorica 12, 4 (1992), 449-461.
5. Yao, A.C-C. Theory and applications of trapdoor
Monte-Carlo algorithm using random- to tasks computable in constant time functions (extended abstract). In Proceedings of FOCS
ness from the C++ rand program?) on highly parallel machines—are at the (1982). IEEE, 80-91.

Such questions get formalized in forefront of the class of computational


the theory of pseudo-randomness tasks that we do seem to understand. Madhu Sudan (madhu@mit.edu) is a Principal Researcher
at Microsoft Research New England and the Fujitsu
as follows: It considers some source For instance, AC0 functions can com- Professor of Electrical Engineering and Computer Science
of randomness X (formally given by pute the sum of two n /2-bit integers, but at the Massachusetts Institute of Technology.
some probability distribution over not their product (and so we do know
n-bit strings), and a class of Boolean things they can’t do). In fact, we even © 2011 ACM 0001-0782/11/04 $10.00

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n i c at i o n s of t h e acm 107


doi:10.1145/1924421.1 9 2 4 4 4 6

Poly-logarithmic Independence
Fools Bounded-Depth
Boolean Circuits
By Mark Braverman

1. INTRODUCTION In this context, studying circuits of bounded depth—


The question of determining which (weak) forms of random- i.e., using at most a constant d number of layers—is of par-
ness “fool” (or seem totally random to) a given algorithm is ticular interest. The complexity class capturing functions
a basic and fundamental question in the modern theory of computed by boolean circuits of bounded depth and poly-
computer science. In this work we report progress on this nomial size is denoted by AC0. Thus AC0 captures what can
question by showing that any “k-wise independent” collec- be computed by polynomial size circuits in constant time.
tion of random bits, for some k = (log n)O(1), fool algorithms The class AC0 has been studied extensively in the past three
computable by bounded depth circuits. In the process we decades.
also present known tight connections between bounded- There are several reasons why AC0 circuits have been
depth circuits and low-degree multivariate polynomials. We studied so extensively. Firstly, AC0 is essentially the only
establish a new such connection to prove our main result. class of circuits for which strong unconditional lower-
In the rest of this section, we introduce the basic concepts bounds have been proved: it is known, for example, that any
in greater detail so as to present a precise version of our main AC0 circuit computing the parity function PARITY (x1, . . . , xn)
result. = mod 2 must be of size exponential in n.5,6 Secondly,
there is a very tight connection between computations per-
1.1  Bounded depth circuits formed by the polynomial hierarchy (PH) complexity class
A boolean circuit C is a circuit that is comprised of bool- relative to an oracle and computations by AC0 circuits. Thus
ean inputs, boolean outputs, and gates that perform oper- better understanding of AC0 translates into a better under-
ations on the intermediate values within the circuit. The standing of the polynomial hierarchy. Finally, the class of AC0
circuit is not allowed to have loops. In other words, the functions, and its subclass of DNF formulas has been the tar-
gates of the circuit form a directed acyclic graph. A circuit get of numerous efficient machine learning algorithms. It is
C with n input bits and one output naturally gives rise to actually because AC0 is a relatively weak class that functions in
a boolean function FC : {0, 1}n → {0, 1}. Depending on the this class are amenable to efficient learning: it can be shown
type of the circuit, various restrictions may be placed on that learning functions from larger circuit complexity classes
the size of the circuit, its shape, and the types of gates that would allow one to break cryptographic primitives such as
it may use. In this paper, we will focus on circuits where integer factoring.
unbounded fan-in AND and OR gates, as well as NOT
gates are allowed. 1.2  Pseudorandomness: fooling bounded
Since any given circuit accepts a fixed number n of inputs, depth circuits
it can only compute a function over the set {0, 1}n of strings Randomness is one of the most important computational
of length n. If we want to discuss computing a function F: resources. A randomized algorithm A may make use of a
{0, 1}* → {0, 1} that takes strings of arbitrary length using string of random bits r Î {0, 1}n as part of the computation.
circuits, we need to consider families of circuits parameter- The randomness may be used, for example, for Monte Carlo
ized by input size. A family of circuits {Cn}n=1
computes the simulations, or for generating random hashes. Denote by
function F if each circuit Cn computes the restriction of F to U = U{0, 1}n the uniform distribution on boolean strings of
strings of length n. length n. Then our randomized algorithm A is executed
The two most important measures of a circuit’s with r being sampled from U. In reality, truly random
“power” are size and depth. Circuit size is the total num- samples are virtually impossible to obtain, and we resort
ber of gates used in constructing the circuit. For circuits to pseudorandom distributions and functions that generate
with AND, OR, and NOT gates the depth is defined as the pseudorandom bits, such as the rand function in C. What
largest number of AND and OR gates a signal needs to tra- makes a distribution m over n-bit strings pseudorandom?
verse from any input to the output. The same measures Turns out that the answer to this question depends on the
can be applied to families of circuits. A family {Cn} is of
polynomial size if the size of each Cn is bounded by nc for
A previous version of this paper appeared in Proceedings
some constant c. Circuit ­complexity studies the amount of
of the IEEE Conference on Computational Complexity (2009)
resources (such as size, depth) required to compute vari-
and the Journal of the ACM 57, 5 (2010).
ous boolean functions.

108 communi cations o f t h e ac m | April 2 0 1 1 | vol . 5 4 | no. 4


research highlights

algorithm A. The distribution m is pseudorandom for A, if C⊥ = {x : x · y = 0  mod 2,  ∀y ∈ C}


the behavior of A on samples from m is indistinguishable
from its behavior on truly uniformly random r. In particu- gives rise to a k-wise independent distribution. The ­example
lar, if A was likely to work correctly with truly uniform sam- mÅ above corresponds to the n-times repetition code
ples, it will be likely to work correctly with samples drawn C  =  {00 . . . 0, 11 . . . 1} whose distance is n, again showing
from m. that mÅ is (n − 1)-wise independent.
For simplicity, suppose that A outputs a single bit. For For which k’s does k-wise independence fool AC0 ­circuits?
a distribution m on length-n strings {0, 1}n, we denote by 0 It is not hard to see that the problem of distinguishing mÅ
£ Em[A] £ 1 the expected value of F on inputs drawn accord- from the uniform distribution is as hard as computing
ing to m. When the distribution under consideration is the PARITY, and thus it is not surprising that mÅ fools AC0 cir-
uniform distribution U on {0, 1}n, we suppress the subscript cuits. If a distribution m is k-wise independent, it means
and let E[A] denote the expected value of A. A distribution m that “locally” the distribution looks uniform, and a circuit
is ε -pseudorandom, or ε-fools A if the expected output when distinguishing m from the uniform distribution needs to
A is fed samples from m is ε-close to the expected output be able to “process” more than k input bits together. Thus,
when it is fed truly uniform samples: intuitively, k-wise independence should be able to fool AC0
circuits even for fairly small values of k. In 1990, Linial and
|Em [A] - E[A]| < ε. Nisan9 conjectured that k = (log m)d − 1 (i.e., poly-logarithmic
in m) is sufficient to fool AC0 circuits of size m and depth d.
Thus, when we use the rand function in our code, we implic- The main object of this paper is to give a proof of the follow-
itly hope that its output ε-fools our program. ing ­theorem, that was first published in 20093:
Similarly to fooling one algorithm, we can define fool-
ing a class of functions. In particular, a distribution m Theorem 1. r (m, d, ε)-independence ε-fools depth-d AC0
ε-fools AC0 functions if it ε-fools every function in the class. ­circuits of size m, where
The smaller (and weaker) the class of functions is, the
easier it is to fool. Since AC0 is a relatively weak class of func- r (m, d, ε) =
tions, there is hope of fooling them using a distribution m
or a relatively low entropy. In the late 1980s Nisan10 demon- Theorem 1 shows that poly-logarithmic independence
strated a family of such distributions. In the present paper suffices to fool all AC0 circuits, thus settling the Linial–Nisan
we will give a very general class of distributions that fool AC0 conjecture. A gap remains in the exact dependence of the
circuits, showing that all k-wise independent distributions exponent of the log on d. Prior to Theorem 1, the conjecture
with k = log O(1) n fool AC0 circuits. had been proved by Bazzi2 in 2007 for the special case of DNF
formulas. Bazzi’s original proof was quite involved, and was
1.3  k-wise independence and the main result later greatly simplified by Razborov.12 No nontrivial bound
A distribution m on {0,1}n is k-independent if every restric- on r(m, d, ε) was known for d > 2.
tion of m to k coordinates is uniform on {0, 1}k. Clearly, the
uniform distribution on {0, 1}n is n-independent. A simple 2.  PROOF OVERVIEW
example of a distribution that is (n − 1)-independent but not The main technical ingredient in our work is presenting a
uniform is new connection between low-degree polynomials and AC0
circuits. Connections between polynomials and circuits,
mÅ := (x1, x2, . . . , xn −1, x1 Å x2 Å . . . Å xn −1), especially AC0 circuits, have been explored in the past in
­various contexts, and remain perhaps the most powerful
where the bits x1, . . . , xn−1 are selected uniformly at random tool for analyzing these functions.
and Å is the XOR operator. Equivalently, mÅ selects a uni- We begin by observing that k-wise independent distribu-
formly random string in {0, 1}n subject to the condition that tions perfectly fool degree-k polynomials. Let m be any k-wise
the number of 1’s selected is even. independent distribution over {0, 1}n. As a first step, let
k-Wise independent distributions can be sometimes be a degree-k monomial. m may depend on at
used as pseudorandom generators. If m is a k-wise inde- most k different variables, on which m (being k-wise inde-
pendent distribution, it may require fewer than n bits of pendent) appears to be perfectly uniformly random. Thus
true randomness to sample from. For example, the distri-
Em[m] = E[m].
bution mÅ only requires n − 1 truly random bits to sample
from. Alon et al.,1 building on ideas from Joffe7 give a simple Now, if f is a degree-k polynomial over x1, . . . , xn, it can be
construction of a k-wise independent distribution which written as a sum of degree-k monomials: . Each
only requires O(k log n) truly random bits using univariate monomial is completely fooled by m and thus
polynomials.
Another way of looking at and constructing k-wise inde-  (1)
pendent distributions is using coding theory. Simple linear
codes give rise to a large family of k-wise independent distri- In light of (1), a reasonable attack strategy to prove
butions. For any binary code C with distance > k, a ­uniform Theorem 1 would be as follows. For a function F computed
distribution on the set by an AC0 circuit, find a polynomial f that approximates F

A pril 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n i c at i o n s of t h e acm 109


such that: with F almost everywhere. It turns out that an “error” func-
tion E (x) that “flags” the problematic locations, i.e., E (x) = 1
1. E[F] » E[ f ], i.e., f approximates F well on average; whenever f (x) ≠ F(x), can be computed by (a slightly big-
2. Em[F] » Em[ f ], i.e., f approximates F well on average, even ger) AC0 circuit. Thus, it the function f *(x) = (1 − E (x) ) · f (x)
when restrict ourselves to inputs drawn according to m. were a polynomial, we would be in great shape: f *(x) = F(x)
most of the time, while even when they disagree, the dif-
Then use (1) to conclude that ference | f *(x) − F(x)| £ 1, and thus in fact E[ f *] » E[F] and
Em[ f *] » Em[F].
Em[F] » Em[ f  ] = E[ f  ] » E[F], Of course, f * is not a polynomial, since E is not a polyno-
mial. However, it turns out with a little bit of work that the
i.e., that m ε-fools F. Of course, it is not clear at all that such polynomial f ¢ = (1 −E�  ) · f, where E�is the Linial–Mansour–Nisan
a polynomial must exist (and we do not know whether it approximation of E actually allows us to prove the main
does). However, a carefully crafted attack along these lines theorem. Thus the proof comes out of combining the two
actually does go through. The proof combines two previ- approximation techniques in one polynomial.
ous constructions of approximating polynomials for AC0
circuits. 3.  LOW-DEPTH CIRCUITS AND POLYNOMIALS—
The first construction is due to Linial, Mansour, and THE ANALYTIC CONNECTION
Nisan8 and is discussed extensively in Section 3. It is an Approximately a decade after the first AC0 lower bounds
analytic construction that for each AC0 function F provides were published, Linial, Mansour, and Nisan proved the fol-
a low-­degree polynomial ˜ f that approximates it well on lowing remarkable lemma:
­average. Such a  polynomial would easily fulfill require-
ment 1 above. However, it would not be helpful at fulfilling Lemma 2. If F: {0, 1}n → {0, 1} is a boolean function com-
requirement 2. Since the support of m is quite small, being putable by a depth-d circuit of size m, then for every t there is a
close on average does not rule out the possibility that F and degree t polynomial ˜
f with8
˜
f deviate wildly from each other on the points of the sup-
port of the distribution m. This type of uniform average-
case approximation is inherently useless when we want F
to be close to ˜f on ­samples drawn according to m. The lemma states that any low-depth circuit of size m
The second construction is a combinatorial one, and is can be approximated very well by a polynomial of degree
due to Razborov11 and Smolensky.13 It is discussed in Section (log m)O(d)—a degree that is poly-logarithmic in the size of
4. For an AC0 function F, and any distribution of inputs ν, the the circuit. The approximation error here is the average-
Razborov–Smolensky construction gives a low-degree poly- square error: ˜ f doesn’t have to agree with F on any point,
nomial f such that F = f with high probability with respect but the average value of |F(x) − f (x)|2 when taken over the
to ν. In other words, Hamming cube is small. An illustration of the statement of
the lemma can be found in Figure 1.
ν [{x : f (x) ≠ F(x)}] < ε. To understand the context of Lemma 2 we need to con-
sider one of the most fundamental tools in the analysis
Note that here f is actually equal to F most of the time (and is of boolean functions: the Fourier transform, which we
not just close to it). Since ν is allowed to be any distribution, will briefly introduce here. An introductory survey on the
we can take Fourier transform over the boolean cube can be found in de
Wolf.4 For the remainder of this section we will represent
the boolean function F: {0, 1}n → {0,1} using a function
G: {−1, +1}n → {−1, +1} with 0 corresponding to −1 and 1 to +1.
to be the hybrid between m and the uniform distribution, Thus
thus guaranteeing that the probability that f (x) ≠ F(x) is
small simultaneously with respect to both distributions. G(x1, . . . , xn) := 2F ((x1 + 1)/2, . . . , (xn + 1)/2) − 1.
This seems to be a promising improvement over the Linial–
Mansour–Nisan polynomials, that may allow us to fulfill This will not affect any of the results, but will make all the
both requirements 1 and 2 above.
The caveat here is that on the few locations where f (x) ≠ Figure 1. An illustration of the statement of Lemma 2. For
F(x) the deviation | f(x) − F(x)| may be huge. In particular, convenience, the boolean cube is represented by the real line.
The function F (in gray) is an AC0 boolean function. The function ˜
f
while f is close to F (more precisely, it is perfectly equal) almost
(in black) is a real-valued low-degree polynomial approximating
everywhere, it is not necessarily the case that they are close on F well on average.
average. Thus, for example, E[ f ] may differ wildly from E[F].
We see that both polynomial approximations get 1
˜
f
us “part-way” toward the goals, but do not quite work. F
To make the proof work we need to combine the two 0
approaches as described in Section 5. In a nutshell, we
first take a Razborov–Smolensky polynomial f that agrees

110 communications of t h e ac m | A p r i l 2 0 1 1 | vo l . 5 4 | n o. 4
research highlights

calculations much cleaner. Note that a degree-t polynomial given by


approximation of F corresponds to a degree-t polynomial
approximation for G and vice-versa.  (5)
Each function G: {−1, +1}n → {−1, +1} can be viewed as
n
a 2n-dimensional vector in R2 specified by its truth table. To bound (5) one needs to show that all but a very small frac-
Consider the special parity functions χS: {−1, +1}n → {−1, +1}. tion of weight in the Fourier representation of G is concen-
For each set S ⊂ {1, . . . , n} of coordinates, let trated on low-degree coefficients. This is where the magic
of Linial et al.8 happens, and this is where the fact that G is
computed by an AC0 circuit is being used.
At a very high level, the proofs uses random restrictions.
In other words, χS is the parity of the x’s that correspond to A random restriction r assigns the majority of G’s inputs
coordinates in the set S. There is a total of 2n different functions a random value 0 or 1, while leaving some inputs unset.
χS—one corresponding to each subset S of coordinates. The A tool called the Switching Lemma is then used to show that
function χ0/ is the constant function χ0/(x) = 1, while the function when a random restriction r is applied to and AC0 function
χ{1, . . . , n}(x) outputs the parity of all the coordinates in x. G, the resulting boolean function G|r is highly likely to be
Similarly to the function G, each function χS can also be very “simple”—depending on only few of the inputs. On the
n
viewed as a vector in R2 specified by the values it takes on all other hand, a random restriction applied to χS where |S| is
possible inputs. By abuse of notation we will denote these large, is likely to leave some of the inputs in S unset. Thus if
vectors by χS as well. Moreover, for each two sets S1 ¹ S2 the G had a lot of weight on the coefficients G ^(S) with large |S|,
vectors χS and χS are orthogonal to each other. That is, G|r would be likely to remain “complicated” even after the
1 2
application of r.
Lemma 2 immediately implies a lower bound for an AC0
circuit computing PARITY, since the Fourier representation
n
Thus we have 2n orthogonal vectors {χS} in R2 , and when of PARITY is χS(PARITY) = 1 for S = [n], and 0 otherwise. Thus
properly normalize they yield an orthonormal basis of the PARITY cannot be approximated well by a polynomial even
n
space. In other words, each vector in R2 can be uniquely of degree t = n − 1.
­represented as a linear combination of the functions χS. In One interesting application of Lemma 2 that is out-
particular, the function G can be uniquely written as: side of the scope of the present article is for learning AC0
functions. Suppose that G is an unknown AC0 function of
 (2) size m, and we are given access to examples of the form (x,
G(x) ), where x is chosen uniformly from {−1, +1}n. Then we
^(S) Î R are given by the
where the numerical coefficients G know that G has a good polynomial approximation of the
inner product form (4). Thus to (approximately) learn G, all we have to do
is learn the coefficients G^(S), where S is small. This can be
done in time proportional to 2|S|, immediately yielding an
O(d)
n(log m) algorithm for learning AC0 circuits.
The representation of G given by (2) is called the Fourier
transform of G. The transform converts 2n numbers (the 4.  LOW-DEPTH CIRCUITS AND POLYNOMIALS—
^(S) ), thus
truth table of G) into 2n numbers (the coefficients G THE ALGEBRAIC CONNECTION
preserving all the information about G. Another way to view It turns out that average-error approximations are not the
the representation (2) is as a canonical way of representing only useful way in which AC0 circuits can be approximated
G as a multilinear polynomial with real-valued coefficients: by low-degree polynomials. We have seen in the previous
section that the representation of any boolean function by
 (3) a multilinear polynomial is unique, and thus given an AC0
function F we cannot hope to obtain a low-degree polyno-
Thus each function G can be uniquely represented as a mial f that agrees with F everywhere. We will see, however,
degree-n multilinear polynomial (a simple fact that can be that it is possible to construct a low-degree polynomial f
proved directly, without using the Fourier transform). More that agrees with F almost everywhere. Specifically, the fol-
importantly, when we view the functions χS as vectors, the lowing statement holds:
space Ht of polynomials of degree £ t, for any t, is spanned
by the functions {χS: |S| £ t}. This means that to get the best Lemma 3. Let ν be any probability distribution on {0, 1}n.
low-degree approximation for G we should simply project it For a circuit of depth d and size m computing a function F, for
onto Ht, to obtain any s, there is a degree r = (s . log m)d polynomial f such that
Pν[ f(x) < F(x)] < 0.82sm.
 (4)
Note that Lemma 3 promises an approximating polyno-
Note that �g is no longer a boolean function, and may take mial, again of degree (log m)O(d), that has a low error against
arbitrary real values, even on inputs from {−1, +1}n. The an arbitrary distribution ν on inputs. The statement of the
2-error—which we need to bound to prove Lemma 2—is lemma is illustrated on Figure 2(a), where the probability

A pril 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n i c at i o n s of t h e acm 111


research highlights

Figure 2. An illustration of the statement of Lemma 3 (a), and Lemma Figure 3. An illustration of the inductive step where an
4 (b). Note that when the low degree polynomial f does disagree with approximating polynomial f is constructed from the approximating
F we have no good guarantee on the error. This means that f may polynomials g1, g2, . . . , gk.
be a good approximant almost everywhere but not on average.
f≈F=G1∧G2∧...∧Gk
(a)
f 1 AND
F
0
G1 G2 G1
(b) ≈g1 ≈g2 ≈gk

Eν 1

0 thus cannot give an explicit construction for f. Instead, we


will construct a distribution on polynomials f that succeeds
with high probability on any given input. Thus the distribu-
according to ν of the region of disagreement between f and tion is expected to have a low error with respect to ν, which
F is small. implies that there is a specific f that has a small error with
Lemma 3 (or its slight variation) has been proved by respect to ν.
Razborov11 and Smolensky13 in the late 1980s. The tools We will show how to make a step when the output gate in
for the proof of the lemma have been developed in Valiant f is an AND gate (see Figure 3). Since the whole construction
and Vazirani.14 Razborov and Smolensky used the lemma to is symmetric with respect to 0 and 1, the step also holds for
give stronger lower bounds on bounded depth circuits. Let an OR gate. Let
AC0[ p] ⊃ AC0 be the class of functions computable using a
bounded-depth circuit that in addition to the AND and OR F = G1 ∧ G2 ∧ . . . ∧ Gk ,
gates is allowed to use the MODp gate: the gate outputs 1 if
and only if the number of 1’s among its inputs is divisible where k < m. For convenience, let us assume that k = 2ℓ is a
by p. We already know that PARITY Ï AC0, and thus AC0[2]  power of 2. We take a collection of
AC0. Razborov and Smolensky showed that the MODp func-
tion cannot be computed efficiently by an AC0[q] circuit t := s log m
where q ¹ p. In particular, this means that PARITY Ï AC0[3].
The proof of Lemma 3 is combinatorial, and is much random subsets of {1, 2, . . . , k} where each element is
simpler than the proof of Lemma 2. In fact, we will be able included with probability p independently of the others: at
to present its entire proof below. To obtain the results in least s subsets for each of the p = 2−1, 2−2, . . . , 2−ℓ = 1/k. Denote
Section 5 we will need a slight strengthening of the lemma. the sets by S1, . . . , St—we ignore empty sets. In addition, we
make sure to include {1, . . . , k} as one of the sets. Let g1, . . . ,
Lemma 4. Let ν be any probability distribution on {0, 1}n. gk be the approximating polynomials for G1, . . . , Gk that are
For a circuit of depth d and size m computing a function F, for guaranteed by the induction hypothesis applied to G1, . . . , Gk
any s, there is a degree r = (s · log m)d polynomial f and a bool- with depth d − 1. We set
ean function Eν computable by a circuit of depth £ d + 3 and size
O(m2r) such that

• Pν[Eν(x) = 1] < 0.82sm, and By the induction assumption, the degrees of gj are degg £
•• whenever Eν(x) = 0, f(x) = F(x). (s . log m)d−1, hence the degree of f is bounded by degf £ t .
degg £ (s . log m)d. Next we bound the error P[ f ¹ F]. It consists
Thus, not only does the polynomial from Lemma 3 exist, of two terms:
but there is a simple AC0 “error circuit” Eν that given an input
can tell us whether f will make an error on the input. The
­function Eν is shown on Figure 2(b).  (6)
We will now prove Lemma 4. A curious property of the
construction is that it gives a probabilistic algorithm for
producing the low degree polynomial f that approximates F In other words, to make a mistake, either one of the inputs
almost everywhere. to the final AND gate has to be wrong, or the approximating
function for the AND has to make a mistake. We will focus on
Proof. (of Lemma 4) We construct the polynomial f by the second term. The first term is bounded by union bound.
induction on the depth d of F, and show that with high prob- We fix a vector of specific values G1(x), . . . , Gk(x), and calcu-
ability f = F. The function Eν follows from the construction. late the probability of an error over the possible choices of
Note that we do not know anything about the measure ν and the random sets Si.

112 communi cations o f t h e acm | April 2 0 1 1 | vol . 5 4 | no. 4


If all the Gj(x)’s are 1 then the value of F(x) = 1 is calcu- appropriate approximation of F with low degree polynomials.
lated correctly with probability 1. Bazzi2 has given the following equivalent characterization of
Suppose that F(x) = 0 (and thus at least one of the Gj(x)’s fooling through polynomial approximations using linear pro-
is 0). Let 1 £ z £ k be the number of zeros among G1(x), . . . , gramming duality:
Gk(x), and a be such that 2a £ z < 2a+1. Our formula will work
correctly if one of the sets Si hits exactly one 0 among the Lemma 6. Let F: {0, 1}n → {0, 1} be a boolean function, k ≥ 0
z zeros of G1(x), . . . , Gk(x). We will consider only the sets Si an integer, and ε > 0. Then the following are equivalent:2
above that are likely to hit exactly one zero. Specifically, let
S be a random set as above with p = 2− a −1. The probability of 1. Any k-wise independent distribution ε-fools F.
S hitting exactly one zero is exactly 2. there exist a pair of “sandwiching polynomials” fl, fu:
{0, 1}n → R such that:
• low degree: deg( fl ), deg( fu) ≤ k;
•• sandwiching: fl ≤ F ≤ fu on {0, 1}n;
•• small error: E[F − fl ], E[ fu − F] ≤ ε, where the expectation
Hence the probability of the formula being wrong after is with respect to the uniform distribution on {0, 1}n.
s such sets is bounded by 0.82s. Since this is true for any
value of x, we can find a collection of sets Si such that the The sandwiching polynomials are illustrated on Figure
probability of error as measured by ν is at most 0.82s. By 4(a). Since part (1) in Lemma 6 is what we need to prove,
making the same probabilistic argument at every node and we will only be interested in the “(2) ⇒ (1)” direction of
applying the union bound, we get that the condition “if the the theorem, which is the “easy” direction, and which we
inputs are correct then the output is correct” is satisfied by can prove here. Suppose (2) holds, and let m be any k-wise
all nodes except with probability < 0.82sm. Thus the error of independent distribution. The polynomial fl is of degree £
the polynomial is < 0.82sm. k, which as observed in Section 2, implies that Em[ fl ] = E[ fl ].
Finally, if we know the sets Si at every node, it is easy to Thus,
check whether there is a mistake by checking that no set
contains exactly one 0, thus yielding the depth £ (d + 3) func- Em [F] ≥ Em [ fl] = E[ fl ] = E[F] − E[F − fl] ≥ E[ F] − ε.
tion Eν. The blowup in size is at most O(mr) since at each
node we take a disjunction over all the possible pairs of (Si, The first inequality uses the sandwiching property, and the
Gj ∈ Si) of whether Gj is the only 0 in the set Si.   last inequality uses the small error property. Similarly,

5.  K-WISE INDEPENDENT DISTRIBUTIONS Em [F] £ E[F] + ε,


AND LOW-DEPTH CIRCUITS
Next we turn our attention to proving the main result, implying that m ε-fools F. Thus a problem about fooling
Theorem 1. The result will give another way in which AC0 AC0 circuits is actually another problem on approximating
circuits can be approximated using low-degree polynomials. ­circuits with polynomials!
Our actual proof of Lemma 5 will not produce a pair of
Theorem 1. r(m, d, ε)-independence ε-fools depth-d AC0 cir- sandwiching polynomials, but will “almost” produce such a
cuits of size m, where pair. By the “(1) ⇒ (2)” direction of Lemma 6 we know that
Theorem 1 implies that such a pair must exist for each AC0
function.

To prove Theorem 1 we will show: Figure 4. An illustration of sandwiching polynomials (a) and
one-sided approximations (b)–(c).
Lemma 5. Let s ≥ log m be any parameter. Let F be a boolean
function computed by a circuit of depth d and size m. Let m be an (a) 1
r-independent distribution where F
fu
0
r ³ r(s, d ) = 3 · 60d+3 · (log m)(d+1)(d+3) · sd(d+3),
fl
then 1
(b)
f0 F
|Em [F] − E[F]| < ε(s, d),
0

where ε(s, d) = 0.82s · (10m).


1
(c)
Theorem 1 follows from Lemma 5 by taking F
fl=1–(1–¶0)2
As mentioned in the overview, one can prove that 0
k-wise independence fools a function F by constructing an

A pril 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n i c at i o n s of t h e acm 113


research highlights

5.1  Proof of Lemma 5 Figure 5. The proof of Lemma 8.


The proof will combine the two types of polynomial approxi-
mations that we discussed in Sections 3 and 4. When we (a)
produced the almost-everywhere-correct polynomials in ¶ 1
Section 4 we noted that when the polynomial f does disagree F
with F, the disagreement might be very large. It is still possi-
ble to give the following very crude bound on the maximum 0
value  f ∞ that | f | may attain on {0, 1}n:

Claim 7. In Lemma 4, for s ³ log m, (b)


Eν 1
(s·log m)d −2 F
 f ∞ < (2m) deg( f ) − 2
= (2m) .
0
The claim follows by an easy induction from the proof of (c)
Lemma 4. We omit the proof here. 1
F=F∨E ν
A low-degree polynomial f0 is a one-sided approximation F
of a boolean F (see Figure 4(b) ) if: 0
(d)
• f0 is a good approximation:  F – f022 is small. 1
•• f0’s error is one-sided: f0(x) = 0 whenever F(x) = 0. 1–Eν 1– Eν
0
If F had such an approximation, then the polynomial fl := 1 −
(1 − f0)2 would be a (lower) sandwiching polynomial for F. fl (e) 1
still has a low degree, and ¶=¶◊(1–E ν) F
0
E[F − fl ] =  F – f0 22

is small. This process is illustrated in Figure 4(c).


Thus, being able to produce one-sided approximations
(that combine characteristics from both Sections 3 and 4 F ∨ Eν so that f = 0 whenever F ¢ = 0. The problem is that the
approximations) would be enough. Unfortunately, we are error |F¢ − f |2 may be large in the area where Eν = 1 (and thus f
unable to construct such polynomials. Instead, we show behaves poorly). If we could multiply f ¢ = f ¢·(1 − Eν), we would
how to modify F just a little bit to obtain a boolean func- be done, as this would “kill” all the locations where Eν is 1.
tion F¢. The change is slight enough with respect to both m Unfortunately, we cannot do this since Eν is not a low degree
and the uniform measure so that fooling F¢ and fooling F is polynomial. Here we use the fact that Eν is itself an AC0 func-
almost equivalent. We then show that the modified F¢ does tion, and thus can be approximated well by a polynomial Ẽ ν by
have a one-sided approximation f ¢. The properties of F¢ and the Linial–Mansour–Nisan approximation (Lemma 2). A brief
f ¢ are summarized in the following lemma: calculation indeed shows that f  ¢ = f · (1 − Ẽ ν) for an appropri-
ately chosen Ẽ ν satisfies all the conditions.
Lemma 8. Let F be computed by a circuit of depth d and size
m. Let s1, s2 be two parameters with s1 · log m. Let m be any prob- Proof. The first property follows from the definition of
ability distribution on {0, 1}n, and U{0, 1}n be the uniform distri- F¢. The second one follows from Lemma 4 directly, since
bution on {0, 1}n. Set
Pm [Eν = 1] ≤ 2 · Pν [Eν = 1] < 2 · 0.82s1 m.

Note also that


Let Eν be the function from Lemma 4 with s = s1. Set F¢ = F ∨ Eν.
Then there is a polynomial f ¢ of degree rf £ (s1 · log m)d + s2, such P[Eν = 1] ≤ 2 · Pν [Eν = 1] < 2 · 0.82s1 m.
that
Let f be the approximating polynomial for F from that
• F ≤ F¢ on {0, 1}n; lemma, so that F = F ¢ = f whenever Eν = 0, and thus f = 0 when-
•• Pm[F ¹ F¢ ] < 2 . 0.82s1m; ever F ¢ = 0. By Proposition 7 we have
d 1/(d+3)
••  F¢ – f ¢22 < 0.82s1 ·(4m) + 22.9(s1·log m) log m − s2 /20, and
d d log m
•• f ¢(x) = 0 whenever F¢ (x) = 0.  f  ∞ < (2m)(s1·log m)  < 21.4(s1·log m)  .

Proof idea: The proof is illustrated on Figure 5. We start We let Ẽ ν be the low degree approximation of Eν of degree s2.
with a polynomial approximation f for F that works “almost By Linial et al.8 (Lemma 2 above), we have
everywhere”. By Lemma 4 we know that there is an AC0 func-
/(d+3)/20
tion Eν that “flags” the locations of all the errors. We fix F ¢= Eν - Ẽ ν22 < O(m3) · 2 −s12 .

114 communi cations o f t h e ac m | April 2 0 1 1 | vol . 5 4 | no. 4


Let
function computed by a circuit of depth d and size m. Let m be an
f ¢ := f · (1 − Ẽ ν). r-independent distribution where
2
Then f ¢ = 0 whenever F¢ = 0. It remains to estimate  F ¢ – f   : r ³ 3 · 60d+3 · (log m)(d+1)(d+3) · sd(d+3),
2

then

Em [F ] > E[F ] − ε(s, d)

where ε(s, d) = 0.82s · (10m).

Proof. Let F¢ be the boolean function and let  f l     ¢ be the


which completes the proof.  polynomial from Lemma 9. The degree of  f l     ¢ is < r. We use the
fact that since m is r-independent, Em[ f l     ¢] = E[  f l  ¢] (since k-wise
We can now use Lemma 8 to give each AC0 function F a lower ­independence fools degree-k polynomials, as discussed
sandwiching polynomial, at least after a little “massaging”: above):

Lemma 9. For every boolean circuit F of depth d and size m and Em [F] ³ Em [F¢] − Pm [F ¹ F¢] > Em[ f l     ¢] − ε(s, d)/2
any s ³ log m, and for any probability distribution m on {0, 1} there = E[  f l     ¢] − ε (s, d)/2 = E[F¢] − E[F¢ − f l     ¢ ] − ε(s, d)/2
is a boolean function F¢ and a polynomial f   l           ¢ of degree less than ³ E[F¢] − ε (s, d) ³ E[F ] − ε(s, d).

rf = 3 · 60d+3 · (log m)(d+1)(d+3) · sd (d+3) 

such that The dual inequality to Lemma 10 follows immediately by



applying the lemma to the negation F = 1 − F of F. We have
− −
• Pm[F ¹ F¢] < ε (s, d)/2, Em[F ] > E[F ] − ε(s, d), and thus
•• F ¢ F¢ on {0, 1}n,
− −
•• f   l           ¢ £ F¢ on {0, 1}n, and Em[F] = 1 − Em[F ] < 1 − E[F ] + ε(s, d) = E[F] + ε(s, d).
•• E [F¢ – fl              ¢] < ε (s, d)/2,
Together, these two statements yield Lemma 5.
where ε(s, d) = 0.82s · (10m).
References transform, and learnability. J. ACM 40,
Proof. Let F¢ be the boolean function and let f ¢ be the 1. Alon, N., Babai, L., and Itai, A. 3 (1993), 607–620.
polynomial from Lemma 8 with s1 = s and s2 » 60d+3 · (log m) A fast and simple randomized 9. Linial, N., Nisan, N. Approximate
parallel algorithm for the maximal inclusion-exclusion. Combinatorica 10,
·s
(d+1)(d+3) d(d+3)
. The first two properties follow directly from the independent set problem. J. Algorithm. 4 (1990), 349–365.
lemma. Set 7, 4 (1986), 567–583. 10. Nisan, N. Pseudorandom bits for
2. Bazzi, L.M.J. Polylogarithmic constant depth circuits. Combinatorica
independence can fool DNF formulas. 11, 1 (1991), 63–70.
f   l           ¢ := 1 - (1 - f ¢)2. SIAM J. Comput. (2009), to appear. 11. Razborov, A.A. Lower bounds on the
3. Braverman, M. Polylogarithmic size of bounded-depth networks over
independence fools AC0 circuits. a complete basis with logical addition.
It is clear that f   l           ¢ £ 1 and moreover f   l           ¢ = 0 whenever F¢ = 0, J. ACM 57, 5 (2010), 1–10. Math. Notes Acad. Sci. USSR 41, 4
4. de Wolf, R. A Brief Introduction to (1987), 333–338.
hence f   l           ¢ £ F¢. Finally, F¢(x) - f   l           ¢(x) = 0 when F¢(x) = 0, and is Fourier Analysis on the Boolean 12. Razborov, A.A. A simple proof of
equal to Cube. Number 1 in Graduate Surveys. Bazzi’s theorem. In Electronic
Theory of Computing Library, Colloquium on Computational
2008. Complexity. Report TR08-081,
F¢(x) - f   l           ¢(x) = (1 - f ¢(x))2 = (F¢(x) - f ¢(x))2 5. Furst, M., Saxe, J., Sipser, M. Parity,
circuits, and the polynomial-time
2008.
13. Smolensky, R. Algebraic methods
hierarchy. Theor. Comput. Syst. 17, 1 in the theory of lower bounds for
(1984), 13–27. Boolean circuit complexity. In
when F¢(x) = 1, thus 6. Hastad, J. Almost optimal lower Proceedings of the Nineteenth Annual
bounds for small depth circuits. ACM Symposium on Theory of
2 In Proceedings of the Eighteenth Computing (STOC’87) (1987), ACM,
E[F¢ − f   l           ¢ ] <  F ¢ –f ¢  < 0.82s · (5m) = ε(s, d)/2 Annual ACM Symposium on Theory of NY, 77–82.
2
Computing (1986), ACM, NY, 20. 14. Valiant, L.G., Vazirani, V.V. NP is as
7. Joffe, A. On a set of almost easy as detecting unique solutions.
by Lemma 8. To finish the proof we note that the degree of deterministic k-independent random In Proceedings of the Seventeenth
f   l           ¢ is bounded by variables. Ann. Probab. 2, 1 (1974), Annual ACM Symposium on Theory
161–162. of Computing (STOC’85) (1985), ACM,
8. Linial, N., Mansour, Y., Nisan, N. NY, 458–463.
2 · deg ( f ¢) £ 2 · ((s1 · log m)d + s2 ) < 2.5 · s2 < rf . Constant depth circuits, Fourier

 Mark Braverman,
University of Toronto.
Lemma 9 implies the following:

Lemma 10. Let s ³ log m be any parameter. Let F be a boolean © 2011 ACM 0001-0782/11/04 $10.00

A pril 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n i c at i o n s of t h e acm 115


careers
Aalto University teaching at the graduate and undergraduate lev- Dalhousie University is located in Halifax,
School of Science els, research, supervision of theses and other re- Nova Scotia (http://www.halifaxinfo.com/), which
Department of Media Technology lated tasks. The department will consider candi- is the largest city in Atlantic Canada and affords
Tenured or Tenure-Track Faculty Position dates with backgrounds and interests in all areas its residents outstanding quality of life.
Professor in computer engineering and science; in particu- The Faculty welcomes applications from
lar the immediate needs of the department are in outstanding candidates in all areas of Computer
The Department of Media Technology at Aalto the fields of software engineering, bioinformatics Science. In our choice of candidate we will take
University in Espoo, Finland, invites applica- and scientific computing. into account our programs, research and strate-
tions for a tenured or tenure-track position. The Nominations and applications should de- gic directions. An applicant should have a PhD in
research conducted at the Department covers scribe the professional interests and goals of the Computer Science or related area and be comfort-
digital media widely, themes varying from digi- candidate in both teaching and research. Each ap- able teaching any core computer science course.
tal imaging and interaction to modeling of room plication should include a resume and the names Evidence of a strong commitment to and aptitude
acoustics to web technologies and semantic web. and contact information of three or more individ- for research and teaching is essential.
Application deadline May 2nd, 2011. The com- uals who will provide letters of recommendation. Applications should include an application let-
plete job description can be found at http://www. Please send all nominations and applications ter, curriculum vitae, a statement of research and
aalto.fi/en/current/jobs/professors/ to: teaching interests, sample publications, and the
Professor H. Altay Güvenir names, email addresses and physical addresses of
Faculty of Engineering three referees. The application can include the vol-
Bilkent University Bilkent University untary Equity Self-Identification form (see below).
Faculty of Engineering Bilkent, Ankara TR-06800, Turkey All documents are to be submitted to the email ad-
Department Chair Email: guvenir@cs.bilkent.edu.tr dress below as PDF, Word or Postscript files.
Department of Computer Engineering Information about the university and the de- Applicants should provide their referees with
partment can be found at http://www.cs.bilkent. the URL of this advertisement (see below), and
The dean of engineering invites nominations and edu.tr and http://www.bilkent.edu.tr . request that they forward letters of reference by
applications to the position of chair of Computer email to the same address.
Engineering Department. The department has Applications will be accepted until April 30,
B.S., M.S., and PhD programs and emphasizes Christopher Newport University 2011.
both high quality research and teaching. Cur- Lecturer in Computer & Information Science All qualified candidates are encouraged to ap-
rently, there are 21 full time faculty members and ply; however Canadian and permanent residents
11 instructors. The candidate must have an excel- Christopher Newport University invites applications will be given priority. Dalhousie University is an
lent track record in research, and must qualify for for a Lecturer in Computer and Information Science Employment Equity/Affirmative Action Employ-
an appointment at the full professor level. A clear in the Department of Physics, Computer Science & er. The University encourages applications from
demonstration of leadership abilities is expected. Engineering starting August 2011. Full details on qualified Aboriginal people, persons with a dis-
Nominations and applications should describe job and application (Search #8184) at http://hr.cnu. ability, racially visible persons and women.
the professional interests and goals of the candi- edu/employment.htm. Deadline: 3/31/11. EOE Submission Address for application documents
date in leading the department. Each application Requirements for this renewable (non-tenure- and reference letters: appointments@cs.dal.ca
should include a resume along with the names and track) position include: Ph.D. in Computer Science Location of this advertisement: www.cs.dal.ca
contact information of five or more individuals or related field, effective communication skills, Self-Identification form (PDF): http://hrehp.dal.
who will provide letters of recommendation. fluency in English, and ability to teach a variety of ca/Files/Academic_Hiring_%28For/selfid02.pdf
Please send all nominations and applications Computer Science lecture and laboratory courses. Self-Identification form (Word): http://hrehp.
to: Collaborative research and involvement in depart- dal.ca/Files/Academic_Hiring_%28For/selfid02.doc
Professor Levent Onural, ment service expected. Experience in the sub-field
Dean of Engineering of information systems, in particular databases,
Bilkent University cybersecurity, cloud computing, and/or web tech- Edward Waters College
Bilkent, Ankara TR-06800, Turkey nologies highly desirable. If successful candidate Assistant Professor
Email: onural@bilkent.edu.tr has not yet completed Ph.D. at the time of appoint-
Information about the university and the de- ment, he/she will be hired at Instructor rank. The Math & Science Dept seeks an Assistant Profes-
partment can be found at http://www.cs.bilkent. sor. Requires a Ph.D. in Computer Science or related
edu.tr and http://www.bilkent.edu.tr . field. Min 3 yrs exp. Details at www.ewc.edu/admin-
Dalhousie University istration/human-resources/careers. EEO employer.
Assistant Professor
Bilkent University
Faculty of Engineering Limited-term (three year) Assistant Professor po- Northern Arizona University
Computer Engineering sition in the Faculty of Computer Science Asst/Assoc Professor of Bioinformatics
Faculty Position Announcement Dalhousie University (http://www.dal.ca) in-
vites applications for a limited-term (three-year) The College of Engineering, Forestry and Natural
The Computer Engineering Department at Bilk- position at the Assistant Professor level in the Sciences invites applications for a tenure track po-
ent University is in the process of hiring additional Faculty of Computer Science (http://www.cs.dal. sition in Bioinformatics at either the assistant or
faculty members and seeks candidates for multi- ca) which currently has 23 faculty members, ap- associate level, to begin August 2011. Applicants
ple positions. Appointments may be made at As- proximately 300 undergraduate majors and 214 should be committed educators able to lead the de-
sistant Professor, as well as at Associate Professor master’s and doctoral students. The Faculty also velopment of an undergraduate training program
or Full Professor rank for candidates with com- partners with other Faculties in the University to in bioinformatics. Please see www.nau.edu/hr (Va-
mensurate experiences and accomplishments. A offer the Master of Electronic Commerce, Master cancy#: 558657) for full position announcement.
PhD degree in a related field is required. of Health Informatics and Master of Science in The position requires an earned doctorate in
The department emphasizes both high qual- Bioinformatics programs, and is an active partici- Computer Science or a Biological Science for either
ity research and teaching. Faculty duties include pant in the Interdisciplinary PhD program. the assistant or associate level. Additionally, for the

116 communi cations o f t h e ac m | april 2 0 1 1 | vol . 5 4 | no. 4


associate level candidates will be required to have that spans both the UConn main Storrs and Health tions, in the Computer Science & Engineering
teaching, research and service experience consis- Center campuses. The team will be comprised of (CSE) Department on UConn’s main campus in
tent with COFS guidelines for promotion to Associ- faculty appointed at all ranks; qualified candidates Storrs. While your primary appointment will be in
ate Professor. Please see http://home.nau.edu/pro- will be considered for tenure. This BMI team will the CS&E Department at Storrs, there is an expec-
vost/ for more information on COFS guidelines. conduct research, education, and outreach within tation that you will be working with colleagues at
the Biomedical Informatics Division (BMID) of the the UConn Health Center on a regular basis.
Connecticut Institute for Clinical and Translational Electronic Applications preferred to include
TOBB University of Economics and Science (CICATS: http://cicats.uconn.edu/). curriculum vita and the names and contact in-
Technology (TOBB ETU) Applicants should hold a computer science &/or formation for at least five references, sent in .pdf
Faculty Positions at Department of Computer engineering degree (PhD) with a research interest of format (all application materials in one file) to
Engineering software engineering including ultra-large scale sys- Noreen Wall at BMI-Search@engr.uconn.edu or
tem design, operating systems, distributed systems, Noreen@engr.uconn.edu. Applications may also
The Computer Eng. Dept. invites applications software architectures, security, databases, and pro- be sent via mail to Engineering Dean’s Office , 261
for faculty positions at all levels. The department gramming languages, and with background and/or Glenbrook Road, Unit 2237, Storrs CT 06269-2237
offers undergraduate, MS and PhD programs. interest in applying their research to a clinical, medi- (Search # 2010023)
Candidates must have a PhD in Comp. Science or cal, public health, or a related field. At this time, we Review of applications will begin immediately
related fields, and demonstrate a strong potential are NOT seeking individuals with an interest in bio and will continue until the positions are filled.
for research. The language of education at TOBB or genome informatics. This position will include The University of Connecticut is an Equal Op-
ETU (www.etu.edu.tr) is Turkish and English. classroom teaching and engaging in research efforts portunity, Affirmative Action employer
Please send a cover letter, detailed CV, research in computer science and engineering with applica-
and teaching statements and names of five refer- tions to medical and clinical informatics. Senior
ences as a single PDF file to rektorluk@etu.edu.tr candidates with existing research programs who are USTC-Yale Joint Research Center on
interested in moving their work and research team High-Confidence Software
to UConn are strongly encouraged to apply. Multiple Faculty and Post-Doc Positions
University of Connecticut The University is in the midst of a 20-year, state-
Assistant/Associate/Full Professor funded $2.3 billion initiative to enhance the research With permission of the University of Science and
Faculty Initiative in Biomedical Informatics mission. In addition to the Schools of Engineering, Technology of China (USTC), the USTC-Yale Joint
Computer Science & Engineering Department, Medicine, and Dental Medicine and the graduate Research Center on High-Confidence Software
Storrs programs in biomedical sciences, there are several invites applicants for multiple tenure-track facul-
Practice Based Research Networks whose access to ty positions at all levels and post-doc positions, in
The University of Connecticut (UConn) invites appli- electronic medical records creates outstanding re- the areas of programming languages and compil-
cations for two tenure-track faculty positions in the search opportunities in Informatics. ers, formal methods, security, operating systems,
Computer Science & Engineering Department in the Applicants will have a primary faculty ap- computer architectures, and embedded systems.
School of Engineering to join an interdisciplinary, pointment at the rank of Assistant, Associate, For more information about the positions, please
integrated team in biomedical informatics (BMI) or Full Professor, commensurate with qualifica- see http://kyhcs.ustcsz.edu.cn/content/jobs.

KING ABDULAZIZ UNIVERSITY


SYMPTOMS: College of Computing and Information Technology
DEVELOPER SUFFERING Jeddah, Saudi Arabia

FROM BORING ASSISTANT, ASSOCIATE, FULL PROFESSOR

PROJECTS, DATED Computer Science, Information Technology, Information Systems

TECHNOLOGIES AND The departments of Computer Science (CS), Information Technology


(IT), and Information Systems (IS) invite applications for multiple faculty
A STAGNANT CAREER. positions beginning in Fall 2011 at the level of Assistant, Associate, and Full
Professor from candidates working in the areas of Artificial Intelligence,

CURE: Multimedia, Databases, Digital Security, Decision Support Systems, Data


Mining, Internet Technologies, Bioinformatics and Software Engineering.
START YOUR NEW However, outstanding candidates in all areas will be considered.
Successful applicants who join the college are expected to develop and
CAREER AT BERICO maintain a productive program of research, attract and develop highly
qualified graduate students, provide a stimulating learning environment for
If you are a skilled Software Engineer with undergraduate and graduate students, participate in the teaching of required
passion and expertise in any of the following
- core courses, develop elective courses in the candidate’s area of expertise,
areas, we invite you to apply. and contribute to the overall development of the college.
• Cloud Computing • Web Development A Ph.D. in CS, IT, IS or equivalent is required, with evidence of excellence
• Application • Mobile Application in teaching and research. Rank and salary will be commensurate with
Development Development experience.
The college is newly created (2007) with more than 850 students. It offers
three bachelor degree programs and one master degree program. A doctorate
program will start within a year. The college is located in the coastal city of
To learn more about Berico and our
Jeddah which enjoys a low cost of living and a close proximity to the holy city
career opportunities, please visit
www.bericotechnologies.com of Makkah (70 km - 44 Miles).
To apply, please send your C.V. and all supporting documents via e-mail
or email your resume to
to: fcit.vd@kau.edu.sa
recruiting@bericotechnologies.com
University Website:
http://www.kau.edu.sa/
College Website:
http://computing.kau.edu.sa/

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n ic at i o n s of t h e acm 117


ACM TechNews Goes Mobile
iPhone & iPad Apps Now Available in the iTunes Store
ACM TechNews—ACM’s popular thrice-weekly news briefing service—is now
available as an easy to use mobile apps downloadable from the Apple iTunes Store.
These new apps allow nearly 100,000 ACM members to keep current with
news, trends, and timely information impacting the global IT and Computing
communities each day.

TechNews mobile app users will enjoy:


•  Latest News: Concise summaries of the most
relevant news impacting the computing world
•  Original Sources: Links to the full-length
articles published in over 3,000 news sources
•  Archive access: Access to the complete
archive of TechNews issues dating back to
the first issue published in December 1999
•  Article Sharing: The ability to share news
with friends and colleagues via email, text
messaging, and popular social networking sites
•  Touch Screen Navigation: Find news
articles quickly and easily with a
streamlined, fingertip scroll bar
•  Search: Simple search the entire TechNews
archive by keyword, author, or title
•  Save: One-click saving of latest news or archived
summaries in a personal binder for easy access
•  Automatic Updates: By entering and saving
your ACM Web Account login information,
the apps will automatically update with
the latest issues of TechNews published
every Monday, Wednesday, and Friday

The Apps are freely available to download from the Apple iTunes Store, but users must be registered
individual members of ACM with valid Web Accounts to receive regularly updated content.
http://www.apple.com/iphone/apps-for-iphone/  http://www.apple.com/ipad/apps-for-ipad/

ACM TechNews
last byte

[ c o ntin ue d fro m p. 120] complicated. The 1971 report that grew out of your
There’s something in king and pawn United Nations research, The Applica-
endgames called opposition in “Administration is tion of Computer Technology for Devel-
which, essentially, you can force your an occupation where opment, was a bestseller.
opponent’s king to retreat to a weaker We had a big meeting in Bucharest,
position. So, we had the computer gain the urgent preempts and we had written a draft report that
the opposition in king and pawn end- the important.” was going to be presented to the Gen-
games. eral Assembly. It was quite technical,
Another thing we did was a simula- and all the other people were from hu-
tion of postal codes. They were adopt- man resources and management, and
ed, and as a result Canada had its first they just tore into us at Bucharest. They
postal strike, because there were all said, “You say nothing about training
these questions about how computers Are you still teaching? and management.” We thought about
would cause a loss of jobs. I taught until three years ago. I was it and said, “They’re right.” So, in six
the oldest person teaching undergrad- weeks we completely rewrote the re-
You also got involved in timetables and uates. port, and we sent it to the U.N., and it
scheduling. turned out to be a bestseller.
I was publishing a newsletter on For many years, you taught a course on
school timetables for a while, but it got computers and society. In fact, you’re cited in the Oxford Eng-
to be so much work that I quit. One of “Computers and Society” always lish Dictionary.
my grad students later formed a busi- had a wonderful audience. It qualified [J.N.P. Hume] and I wrote a book in
ness around it. The other thing he pro- as a science course for humanists and 1958 called High-Speed Data Process-
grammed was how to computerize and as a writing course for scientists, so I ing, and the Oxford English Dictionary
control traffic lights. Toronto was the had a wonderful mix of students. found 11 words in it, like loop, that
first city in the world to have computer- had new meanings. So, we’re cited 11
ized traffic lights, though if you went to You’ve explored a number of different times in the Oxford English Dictionary.
Toronto now and looked at the mess of socioeconomic issues throughout your A friend of mine said, “You’re immor-
traffic, you’d never know. computing career. tal.” And you know, it’s a lot cheaper
We did the world’s first airline res- When we started with databases, than a gravestone.
ervation system, too. We had the presi- people got very worried about privacy,
dent of Canada come down to watch so Canada appointed a privacy com- On a personal note, you were married
the demonstration. It was a pretty mission and put me on it. As a result to a writer for many years.
heady time. of our commission, the first Canadian My wife Phyllis wrote 18 books of po-
privacy laws were all passed. But people etry and science fiction. She died about
You were teaching at this time? don’t really give a damn about their pri- a year and a half ago. I’ve always said
I was teaching, and since there was vacy these days. They sell it very cheap- that she was a humanist interested in
no graduate department, I was teach- ly. Do you know what privacy is worth? science, and I was a scientist interested
ing in the School of Continuing Stud- About eight dollars. If I give somebody in humanity.
ies. Most of the students were busi- eight dollars, they’ll fill out the longest
nesspeople—actuaries and bankers form—name, credit history. Or just of- Nowadays I’d guess people are more
and insurance people and so on. fer them a discount card. concerned with their Google results.
One day my wife and I were arguing
But eventually you did create a gradu- In the 1960s, you were involved in a about how long you cook fish in the
ate program. United Nations commission on what microwave. She’s the cook, of course,
Yes. In 1962, we decided we wanted computing could do for developing but I’m the master of the microwave.
to form a graduate program. It didn’t countries. So she goes to Google and comes back
have a budget, it only had appoint- This was the age of big mainframes, and says it’s 4.5 minutes per pound,
ments. so nobody imagined that developing end of discussion. Of course, when we
nations could use them at all. I remem- were arguing, I didn’t go to Google. She
Presumably, since the people involved ber coming to the World Bank in Wash- went to Google!
in computing also taught in other de- ington, D.C. Protocol required that we
partments? had to be met by the head, but in about I understand you’ll turn 90 on March 27.
That’s right. The university said we three minutes we’d passed three lev- My department is making a party for
had to get permission from mathemat- els down the hierarchy—one person me, and they asked me to give a talk. I’m
ics, physics, and electrical engineering. would introduce us to his assistant, calling it “Chiefly About Computers.”
But since I wanted to form a depart- who would introduce us to his assis-
ment that didn’t need a budget, they tant, and so on. But I remember being Leah Hoffmann is a Brooklyn, NY-based technology
writer.
didn’t worry about it. Incidentally, our greeted by the head of the World Bank,
department is now ranked eighth in and he said, “Now tell me, what about
the world. this boondoggle of yours?” © 2011 ACM 0001-0782/11/04 $10.00

april 2 0 1 1 | vol. 5 4 | n o. 4 | c o m m u n ic at i o n s of t h e acm 119


last byte

DOI:10.1145/1924421.1924447 Leah Hoffmann

Q&A
The Chief Computer
Kelly Gotlieb recalls the early days of computer science in Canada.

Born in 1921 in Toronto, Calvin “Kelly” was too young to be the director, so they
Gotlieb is known as the “Father of gave me the title of chief computer.
Computing” in Canada. After receiv-
ing his Ph.D. in physics from the Uni- Chief computer?
versity of Toronto in 1947, Gotlieb They didn’t ask me, they just depos-
co-founded the university’s Compu- ited this title on me.
tation Center the following year and
worked on the first team in Canada In the 1950s, the Computation Center
to build computers. In 1950, he cre- purchased a computer made by Ferran-
ated the first university course on ti in England, a copy of the Manchester
computer science in Canada and the Mark I.
first graduate course the following We got the Ferut in 1951. It was
year. Currently Professor Emeritus in the second computer ever sold in the
Computer Science at the University of world. UNIVAC was the first.
Toronto, Gotlieb is also known for his Ferut was in a room about three
work on computers and society. times the size of this conference room
[which measures 16’ x 16’]. It had
You used to be editor-in-chief of this about 10,000 vacuum tubes, and three
magazine. or four would burn out every day. So,
I was editor-in-chief first of Com- the engineers would take over at night
munications and then, later on, of the and change the burned-out tubes, and
Journal. When Alan Perlis started Com- we would run it.
munications [in 1957], he asked me to Kelly Gotlieb in a conference room at ACM’s The machine was quite unreliable
headquarters earlier this year.
be the editor of the business section. at first. For example, if you multiplied
Then Perlis was elected president of ministration is an occupation where two numbers, you were advised to do it
ACM, and the editorial board asked the urgent preempts the important. twice, and if you got the same answer,
me if I would be editor-in-chief. I think ok. If not, you did it a third time and
I was editor-in-chief for two years be- Let’s talk about your career. You com- took the best two out of three to get
cause the editor-in-chief of the Journal, pleted your Ph.D. in physics at the Uni- the product.
Franz Alt, retired, and they asked me to versity of Toronto. I remember all these articles in the
switch over. I got my Ph.D. in 1947. My Ph.D. is paper called it a “giant brain.” Well,
classified because it was on secret war it was giant all right, but it was about
You’re still involved with the ACM, work. It’s never been declassified, but one-hundredth as powerful as your
most notably as co-chair of the Awards it’s really not a secret anymore. We put laptop, maybe one thousandth.
Committee. radios in shells. Eventually, we got the Ferut work-
I’ve been a continuous member of ing pretty well. I had a graduate stu-
Photogra ph by bria n greenberg

ACM since 1949. I was also in IFIP [In- Soon, though, you became involved dent who was the chess champion of
ternational Federation for Information with early efforts in computers. Canada, so I decided we should see
Processing] for many years. When IFIP Yes, they had formed a computing if the computer could play chess. But
was formed, I went to Paris as the Ca- team in the university and there was an Ferut didn’t have enough storage to
nadian representative. Isaac Auerbach IBM installation with punched cards. play a whole game, so we only played
asked if I would be president, but I Eventually, the university set up some- endgames—king and pawn endgames,
didn’t want to be. I’ve always said ad- thing called the Computation Center. I which are very [con tinu ed on p. 1 1 9 ]

120 communi cations o f t h e acm | april 2 0 1 1 | vol . 5 4 | no. 4


From the mind to the marketplace.
Intel works with educators worldwide to revitalize how students think about
technology. Because encouraging new ideas fuels innovation.

Collaborating. Investing. Changing the world.


Learn more at Intel.com/software/academicprograms

You might also like