Sie sind auf Seite 1von 132

COMMUNICATIONS

ACM
CACM.ACM.ORG OF THE 01/2018 VOL.61 NO.01

Decentralized
Blockchain-Based
Electronic
Marketplaces

Information Hiding
The New Jobs
Computing Professionals
for Social Responsibility
Ask Not What Your PostDoc
Can Do For You
Halide Association for
Computing Machinery
MobileHCI 2018
Beyond Mobile: The Next 20 Years
rd th
September 3 – 6
Barcelona, Spain

MobileHCI 2018, the 20th International Conference on Deadlines:


Human-Computer Interaction with Mobile Devices and
Services, will take place in Barcelona (Spain). The conference February 9th: Full and short papers
chairs, Lynne Baillie and Nuria Oliver, invite researchers, February 28th: Workshop Proposals
academics, students, and industry leaders working in the field Mid May: Student Volunteer application
of Mobile Human-Computer Interaction, to submit their work Mid April – Mid May: Tutorials, Industrial perspectives,
and to join them for a rich, four-day program featuring paper Demos, Late Breaking Work,
presentations, poster presentations, demonstrations, tutorials, Doctoral consortium
specialized workshops, industrial case studies, doctoral
consortium, and social events.

We look forward to seeing you in Barcelona!

mobilehci.acm.org/2018
Inviting Young
Scientists
Meet Great Minds in Computer
Science and Mathematics
As one of the founding organizations of the Heidelberg Laureate Forum
http://www.heidelberg-laureate-forum.org/, ACM invites young computer
science and mathematics researchers to meet some of the preeminent scientists
in their field. These may be the very pioneering researchers who sparked your
passion for research in computer science and/or mathematics.
These laureates include recipients of the ACM A.M. Turing Award, the Abel Prize,
the Fields Medal, and the Nevanlinna Prize.
The Heidelberg Laureate Forum is September 23–28, 2018 in Heidelberg, Germany.
This week-long event features presentations, workshops, panel discussions, and
social events focusing on scientific inspiration and exchange among laureates
and young scientists.

Who can participate?


New and recent Ph.Ds, doctoral candidates, other graduate students
pursuing research, and undergraduate students with solid research
experience and a commitment to computing research
How to apply:
Online: https://application.heidelberg-laureate-forum.org/
Materials to complete applications are listed on the site.
What is the schedule?
The application process is open between November 6, 2017
and February 9, 2018.
We reserve the right to close the application website
early depending on the volume
Successful applicants will be notified by mid April 2018.
More information available on Heidelberg social media

PHOTOS: ©HLFF / B. Kreutzer (top);


©HLFF / C. Flemming (bottom)
COMMUNICATIONS OF THE ACM

Departments News Viewpoints

7 Cerf’s Up 26 Technology Strategy and Management


The Role of Archives The Sharing Economy Meets Reality
in Digital Preservation Assessing the uncertainties
By Vinton G. Cerf of the business models
driving the sharing economy.
9 Vardi’s Insights By Michael A. Cusumano
Computer Professionals
for Social Responsibility 29 Law and Technology
By Moshe Y. Vardi How Law and Computer Science
Can Work Together to Improve
10 Letters to the Editor the Information Society
A Leap from Artificial to Intelligence Seeking to remedy bad legislation
with good science.
12 BLOG@CACM By Chris Marsden
21
The Big IDEA and the PD Pipeline
Former Computer Science 32 Historical Reflections
Teachers Association executive 15 Feeling Sounds, Hearing Sights Defining American Greatness:
director Mark R. Nelson discusses A new wave of sensory substitution IBM from Watson to Trump
his work with the group to devices work to assist people Reflections on a firm that
overcome core challenges to who are blind or deaf. encapsulated the American Century.
computer science education. By Gregory Mone By Thomas Haigh

31 Calendar 18 Smartphone Science 38 Viewpoint


New portable scientific instruments Technology and the Failure
116 Careers are taking shape, thanks to of the University
mobile processors and innovative Considering the double-edged
121 ACM Code of Ethics data-gathering techniques. sword of learning technologies
and Professional Conduct By Alex Wright in various academic settings.
ACM Code of Ethics: By Henry C. Lucas, Jr.
A Guide for Positive Action 21 The New Jobs
By Don Gotterbarn, Amy Bruckman, As automation takes on 42 Viewpoint
Catherine Flick, Keith Miller, more and more tasks, what will Ask Not What Your Postdoc
and Marty J. Wolf human workers do? Can Do for You …
By Marina Krakovsky Seeking more effective strategies
for training and nurturing
Last Byte CS postdocs to ensure their success.
By Chitta Baral, Shih-Fu Chang,
120 Upstart Puzzles Brian Curless, Partha Dasgupta,
Polychromatic Choreography Julia Hirschberg, and Anita Jones
By Dennis Shasha
IMAGE BY ANTONIO/ISTOCK

Association for Computing Machinery


Advancing Computing as a Science & Profession

2 COMMUNICATIO NS O F THE ACM | JA NUA RY 201 8 | VO L . 61 | NO. 1


01/2018 VOL. 61 NO. 01

Practice Contributed Articles Review Articles

86 Information Hiding:
Challenges for Forensic Experts
The practice of hiding ill-gotten data
in digital objects is rising among
cyber thieves. New initiatives
serve to educate, train, and
thwart these activities.
By Wojciech Mazurczyk
and Steffen Wendzel

Watch the authors discuss


their work in this exclusive
Communications video.
https://cacm.acm.org/
54 78 videos/information-hiding

46 Network Applications Are Interactive 70 Popularity Spikes Hurt Future Research Highlights
The network era requires Chances for Viral Propagation
new models, with interactions of Protomemes 96 Technical Perspective
instead of algorithms. Once a meme gets popular, it will Moving Spectrum
By Antony Alappatt have to evolve to keep being popular. By David C. Parkes
By Michele Coscia
54 Abstracting the Geniuses Away 97 Deep Optimization
from Failure Testing 78 Decentralized Blockchain-Based for Spectrum Repacking
Ordinary users need tools Electronic Marketplaces By Neil Newman, Alexandre Fréchette,
that automate the selection In a decentralized marketplace, and Kevin Leyton-Brown
of custom-tailored faults to inject. buyers and sellers transact
By Peter Alvaro and Severine Tymon directly, without manipulation 105 Technical Perspective
by intermediary platforms. Can High Performance
62 Cache Me If You Can By Hemang Subramanian Be Portable?
Building a decentralized By Manuel Chakravarty
Web-delivery model. Watch the author discuss
his work in this exclusive
By Jacob Loveless Communications video.
106 Halide: Decoupling Algorithms
https://cacm.acm.org/ from Schedules for High-Performance
Articles’ development led by videos/decentralized-
blockchain-based-e- Image Processing
queue.acm.org marketplaces By Jonathan Ragan-Kelley,
Andrew Adams, Dillon Sharlet,
Connelly Barnes, Sylvain Paris,
Marc Levoy, Saman Amarasinghe,
and Frédo Durand
IMAGES BY VIT EZSL AV VALK A; SP OOKY PO OKA AT DEBUT A RT

About the Cover:


Blockchain technologies
are positioned to transform
the business world,
connecting buyers and
sellers and keeping records
of their digital transactions
clean and secure. This
month’s cover story (p. 78)
explores the advantages
of decentralized
e-marketplaces using
blockchain technology
as the facilitator. Cover
illustration by Spooky
Pooka at Debut Art.

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF THE ACM 3


Nominees for ACM’s
2018 General Election
In accordance with the Constitution and Bylaws of the ACM, the Nominating
Committee hereby submits the following slate of nominees for ACM’s officers. In
addition to the officers of the ACM, two Members at Large will be elected. The names
of the candidates for each office are presented in random order below:

President (1 July 2018 – 30 June 2020):


Jack Davidson, University of Virginia
Cherri Pancake, Oregon State University

Vice President (1 July 2018 – 30 June 2020):


Moshe Y. Vardi, Rice University
Elizabeth Churchill, Google

Secretary/Treasurer (1 July 2018 – 30 June 2020):


Yannis Ioannidis, “Athena” Research Center and University of Athens
Mehran Sahami, Stanford University

Members at Large (1 July 2018 – 30 June 2022):


Claudia Bauzer Medeiros, University of Campinas, Brazil
Nenad Medvidović , University of Southern California
P J Narayanan, IIIT Hyderabad
Theo Schlossnagle, Circonus

The Constitution and Bylaws provide that candidates for elected offices of the
ACM may also be nominated by petition of one percent of the Members who as
of 1 November 2017 are eligible to vote for the nominee. Such petitions must be
accompanied by a written declaration that the nominee is willing to stand for
election. The number of Member signatures required for the offices of President,
Vice President, Secretary/Treasurer and Members at Large, is 653.
The Bylaws provide that such petitions must reach the Elections Committee
before 31 January 2018.
Original petitions for ACM offices are to be submitted to the ACM Elections
Committee, c/o Pat Ryan, COO, ACM Headquarters, 2 Penn Plaza, Suite 701,
New York, NY 10121, USA, by 31 January 2018. Duplicate copies of the petitions
should also be sent to the Chair of the Elections Committee, Gerry Segal, c/o ACM
Headquarters. Statements and biographical sketches of all candidates will appear in
the May 2018 issue of Communications of the ACM.
The Nominating Committee would like to thank all those who helped us with
their suggestions and advice.
 lexander L. Wolf, CHAIR,
A
Karin Breitman, Judith Gal-Ezer, Satoshi Matsuoka, Rashmi Mohan
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 ACM Copyright Notice
and scientific computing society, delivers DIRECTOR OF PU BL ICATI ONS E DITOR- IN- C HIE F Copyright © 2018 by Association for
resources that advance computing as a Scott E. Delman Andrew A. Chien Computing Machinery, Inc. (ACM).
science and profession. ACM provides the cacm-publisher@cacm.acm.org eic@cacm.acm.org Permission to make digital or hard copies
computing field’s premier Digital Library of part or all of this work for personal
and serves its members and the computing Deputy to the Editor-in-Chief or classroom use is granted without
Executive Editor Lihan Chen
profession with leading-edge publications, fee provided that copies are not made
Diane Crawford cacm.deputy.to.eic@gmail.com
conferences, and career resources. or distributed for profit or commercial
Managing Editor
advantage and that copies bear this
Thomas E. Lambert S E NIOR E DITOR
Acting Executive Director notice and full citation on the first
Senior Editor Moshe Y. Vardi
Deputy Executive Director and COO page. Copyright for components of this
Andrew Rosenbloom
Patricia Ryan work owned by others than ACM must
Senior Editor/News NE W S
Director, Office of Information Systems be honored. Abstracting with credit is
Lawrence M. Fisher Co-Chairs
Wayne Graves permitted. To copy otherwise, to republish,
Web Editor William Pulleyblank and Marc Snir
Director, Office of Financial Services to post on servers, or to redistribute to
David Roman Board Members
Darren Ramdin lists, requires prior specific permission
Rights and Permissions Monica Divitini; Mei Kobayashi;
Director, Office of SIG Services and/or fee. Request permission to publish
Deborah Cotton Michael Mitzenmacher; Rajeev Rastogi;
Donna Cappo from permissions@hq.acm.org or fax
Editorial Assistant François Sillion
Director, Office of Publications (212) 869-0481.
Jade Morris
Scott E. Delman
VIE W P OINTS For other copying of articles that carry a
Art Director Co-Chairs code at the bottom of the first or last page
ACM CO U N C I L Tim Finin; Susanne E. Hambrusch;
Andrij Borys or screen display, copying is permitted
President John Leslie King; Paul Rosenbloom
Associate Art Director provided that the per-copy fee indicated
Vicki L. Hanson Board Members
Margaret Gray in the code is paid through the Copyright
Vice-President Stefan Bechtold; Michael L. Best;
Assistant Art Director Clearance Center; www.copyright.com.
Cherri M. Pancake Judith Bishop; Mark Guzdial;
Secretary/Treasurer Mia Angelica Balaquiot
Production Manager Richard Ladner; Carl Landwehr; Subscriptions
Elizabeth Churchill Beng Chin Ooi; Loren Terveen;
Bernadette Shade An annual subscription cost is included
Past President Marshall Van Alstyne; Jeannette Wing
Advertising Sales Account Manager in ACM member dues of $99 ($40 of
Alexander L. Wolf
Ilia Rodriguez which is allocated to a subscription to
Chair, SGB Board
Communications); for students, cost
Jeanna Matthews P R AC TIC E
is included in $42 dues ($20 of which
Co-Chairs, Publications Board Columnists Chair is allocated to a Communications
Jack Davidson and Joseph Konstan David Anderson; Phillip G. Armour; Stephen Bourne and Theo Schlossnagle subscription). A nonmember annual
Members-at-Large Michael Cusumano; Peter J. Denning; Board Members subscription is $269.
Gabriele Anderst-Kotis; Susan Dumais; Mark Guzdial; Thomas Haigh; Eric Allman; Samy Bahra; Peter Bailis;
Elizabeth D. Mynatt; Pamela Samuelson; Leah Hoffmann; Mari Sako; Terry Coatta; Stuart Feldman; Nicole Forsgren; ACM Media Advertising Policy
Eugene H. Spafford Pamela Samuelson; Marshall Van Alstyne Camille Fournier; Benjamin Fried; Communications of the ACM and other
SGB Council Representatives Pat Hanrahan; Tom Killalea; Tom Limoncelli; ACM Media publications accept advertising
Paul Beame; Jenna Neefe Matthews; Kate Matsudaira; Marshall Kirk McKusick;
C O N TAC T P O IN TS in both print and electronic formats. All
Barbara Boucher Owens Erik Meijer; George Neville-Neil;
Copyright permission advertising in ACM Media publications is
Jim Waldo; Meredith Whittaker at the discretion of ACM and is intended
BOARD C HA I R S permissions@hq.acm.org
Calendar items to provide financial support for the various
Education Board C ONTR IB U TE D A RTIC LES activities and services for ACM members.
calendar@cacm.acm.org
Mehran Sahami and Jane Chu Prey Co-Chairs Current advertising rates can be found
Change of address
Practitioners Board James Larus and Gail Murphy by visiting http://www.acm-media.org or
acmhelp@acm.org
Terry Coatta and Stephen Ibaraki Board Members by contacting ACM Media Sales at
Letters to the Editor
letters@cacm.acm.org William Aiello; Robert Austin; (212) 626-0686.
REGION A L C O U N C I L C HAIR S Elisa Bertino; Gilles Brassard; Kim Bruce;
ACM Europe Council Alan Bundy; Peter Buneman; Carl Gutwin; Single Copies
W E B S IT E
Dame Professor Wendy Hall Yannis Ioannidis; Gal A. Kaminka; Single copies of Communications of the
http://cacm.acm.org
ACM India Council Ashish Kapoor; Kristin Lauter; Igor Markov; ACM are available for purchase. Please
Srinivas Padmanabhuni Bernhard Nebel; Lionel M. Ni; Adrian Perrig; contact acmhelp@acm.org.
ACM China Council AU T H O R G U ID E L IN ES
Marie-Christine Rousset; Krishan Sabnani;
Jiaguang Sun http://cacm.acm.org/about-
Ron Shamir; Alex Smola; Josep Torrellas; COMMUN ICATION S OF T HE ACM
communications/author-center
Michael Vitale; Hannes Werthner; (ISSN 0001-0782) is published monthly
PUB LIC ATI O N S BOA R D Reinhard Wilhelm by ACM Media, 2 Penn Plaza, Suite 701,
Co-Chairs New York, NY 10121-0701. Periodicals
ACM ADVERTISIN G DEPART M E NT
Jack Davidson; Joseph Konstan RES E A R C H HIGHLIGHTS postage paid at New York, NY 10001,
2 Penn Plaza, Suite 701, New York, NY
Board Members Co-Chairs and other mailing offices.
10121-0701
Phoebe Ayers; Anne Condon; Nikil Dutt; Azer Bestavros and Gregory Morrisett
T (212) 626-0686
Roch Guerrin; Chris Hankin; Board Members POSTMASTER
F (212) 869-0481
Carol Hutchins; Yannis Ioannidis; Martin Abadi; Amr El Abbadi; Sanjeev Arora; Please send address changes to
Sue Moon; Michael L. Nelson; Michael Backes; Maria-Florina Balcan; Communications of the ACM
Sharon Oviatt; Eugene H. Spafford; Advertising Sales Account Manager Andrei Broder; Doug Burger; Stuart K. Card; 2 Penn Plaza, Suite 701
Stephen N. Spencer; Alex Wade; Ilia Rodriguez Jeff Chase; Jon Crowcroft; Alexei Efros; New York, NY 10121-0701 USA
Keith Webster; Julie R. Williamson ilia.rodriguez@hq.acm.org Alon Halevy; Sven Koenig; Steve Marschner;
Tim Roughgarden; Guy Steele, Jr.;
Printed in the U.S.A.
ACM U.S. Public Policy Office Media Kit acmmediasales@acm.org Margaret H. Wright; Nicholai Zeldovich;
1701 Pennsylvania Ave NW, Suite 300, Andreas Zeller
Washington, DC 20006 USA
T (202) 659-9711; F (202) 667-1066 WEB
Association for Computing Machinery Chair
Computer Science Teachers Association (ACM) James Landay
Deborah Seehorn, 2 Penn Plaza, Suite 701 Board Members A
SE
REC
Y

New York, NY 10121-0701 USA Marti Hearst; Jason I. Hong;


E

CL

Interim Executive Director


PL

T (212) 869-7440; F (212) 869-0481 Jeff Johnson; Wendy E. MacKay


NE
TH

S
I

Z
I

M AGA

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF THE ACM 5


Association for Computing Machinery (ACM)
Chief Executive Officer
ACM, the Association for Computing Machinery, invites applications for the
position of Chief Executive Officer (CEO).

ACM is the oldest and largest educational and scientific computing society
with nearly 100,000 members worldwide. The association has an annual
budget of $75 million, 75 full-time staff in New York and Washington D.C.,
a rich publications program that includes 90 periodicals in computing and
hundreds of conference proceedings, a dynamic set of special interest
groups (SIGs) that run nearly 300 conferences/symposia/workshops each
year, initiatives in India, China, and Europe, and educational and public
policy initiatives. ACM is the world’s premiere computing society.

The ACM CEO serves as the primary executive responsible for the formulation
and implementation of ACM strategic direction, for representing ACM
in the worldwide computing community, and for overall management
of the affairs of the association. The successful candidate will have high
professional standing in the computing field, executive experience,
leadership skills, and a vision of the future of professional societies and
computing. The CEO reports to the ACM President. It is not a requirement
that the CEO work from ACM’s New York headquarters, but must be
able to travel frequently to headquarters and other ACM meetings.
The full job description and details on how to apply can be found at:
ceosearch.acm.org

The ACM is an equal opportunity


employer. All qualified applicants
will receive consideration for
employment without regard to race,
color, religion, sex, national origin,
age, protected veteran status or
status as an individual with disability.
cerf’s up

DOI:10.1145/3169085 Vinton G. Cerf

The Role of Archives Multiple instances of content could be


found in distinct archives. The impact

in Digital Preservation of institutional failure of an archive


(For example, lack of funding, physical

I
destruction) could be mitigated by stor-
HAD THE pleasure of spending such standards would make it possible ing information in multiple locations;
a week in Mexico City to par- for one archive to reference the con- an instantiation of the LOCKSS (lots of
ticipate in the annual meeting tent of another—making it possible to copies keeps stuff safe) principle.
of the International Council achieve a kind of global discovery of rel- During this meeting it also became
on Archivesa hosted by its Latin evant content. Some readers of this col- apparent that archivists of digital con-
American branch, the Association of umn will know there are already a num- tent will need to be prescriptive about
Latin American Archivistsb (ALA). This ber of standards in place, one of the the structure and encoding of digital ar-
was a large and wide-ranging confer- most important of which is the Open tifacts they can process into the archive
ence that stimulated many thoughts Archival Information System reference successfully. A proactive stance could
and ideas that affected my view of the modelc (OAIS). This is a significant spec- improve the likelihood that digital con-
digital archiving challenge. It is clear ification of the desirable functionality tent can be acquired and preserved.
there are many archival institutions pur- of any archive and has the potential to Again, standards can help and the soft-
suing the problem out of necessity. They establish interoperability among ar- ware industry can assist by working to-
are receiving or collecting artifacts cre- chives. This property, interoperability, ward the creation of applications that
ated or rendered in digital form. Many will require that the standards for trans- produce archive-ready content. Since
of these items are static in the sense mission of digital archival information some digital artifacts require software
they could be rendered and preserved include descriptors of format and se- to be used or rendered, it stands to rea-
using older techniques such as print or mantics of the nature and structure of son that software itself must also be
even microfilm. There is a concept of the information, its metadata and prov- archived and executable over the long
variable fidelity in which some aspect enance, intellectual property consid- term. That includes applications and
of the digital artifact is imperfectly cap- erations among other things. Another operating systems and perhaps, detailed
tured. For example, a text file might be powerful example is the Digital Object functional descriptions of hardware to
retained in readable but not editable Architectured developed by the Corpo- the extent that the instruction set of the
form. This does not work well with ob- ration for National Research Initiatives. computer can be emulated at need.
jects such as spreadsheets whose value Some readers may wonder whether It should be clear by now that ar-
is in the interactive use of the computa- the World Wide Web is already an ex- chives will have to have privileges to
tions captured in the spreadsheet. But ample of an archive. It is not because acquire and execute applications and
one might be willing to give up some there is no assurance of long-lasting the necessary operating system(s) so
resolution if it meant the difference be- storage or accessibility of the content. that acquired artifacts can live for long
tween capturing a portion of versus all To be sure, the WWW content is a can- time periods. Moreover, a long-lived
of a collection of digital images. didate for archiving and the Internet Ar- archive must rely on a business model
The independent operation of ar- chivee is attempting to do exactly that. that matches the desired longevity that
chives may not produce the kind of A significant test of any specification might extend 100 years or more. Think
mutual reinforcement that would arise is that multiple, independent imple- of archives housing 1,000-year-old vel-
from inventing and adopting standards mentations can be shown to interwork. lum codices, for example. In addition
for representation and transmission of That is, information from one archive to the extensible standardization of
content, metadata, and other informa- can be successfully accessed and trans- digital representation, then, we will
tion establishing the origins and his- ferred to another archive without losing need legal and financial frameworks
tory of the artifact. If such standards critical archival information. Establish- that assist long-term preservation. We
could be developed and implemented, ing such standards and allowing ar- must pursue these objectives lest our
it might make it possible for one archive chives to be networked could create an digital history be lost in a mist of unin-
to ingest the content of another, should ecosystem with substantial resilience. terpretable bits.
circumstances demand it. Moreover,
Vinton G. Cerf is vice president and Chief Internet Evangelist
c http://bit.ly/2zSkXb6 at Google. He served as ACM president from 2012–2014.
a https://www.ica.org/en d http://bit.ly/2ArYa5c
b http://bit.ly/2i4myzg e https://archive.org/ Copyright held by author.

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF THE ACM 7


Code 2018: Updating the ACM Code of Ethics

The ACM Code of Ethics and Professional Conduct (The Code) outlines fundamental
ethical considerations to which all ACM members are expected to adhere.

The Code consists of principles for personal responsibility and guidelines for dealing with
many issues computing professionals are likely to face. The Code is intended to serve
as a basis for ethical decision making in the conduct of professional work, and includes
considerations for individuals in leadership roles.

The ACM Committee on Professional Ethics (COPE) is updating


the ACM Code of Ethics and would like your input.

The current ACM Code of Ethics was adopted in 1992, and much has changed in the 25 years
since then. We are updating The Code to reflect the shifts in both technology and society.

The 2018 Code is meant to be an update of The Code, not a wholesale revision. We are
particularly concerned about possible blind spots or anachronisms that may have resulted
from changes in technology or the profession since 1992.

You can help define what it means to be a good computing


professional by contributing to the Code 2018 project.

We have completed three drafts of suggested updates to The Code, and we need your input
as we begin to work on the final draft.

Get Involved! To review the drafts and to submit your comments,


visit: https://code2018.acm.org/discuss

Members are encouraged to take an online survey about the specific principles of the code:
https://www.acm.org/code-2018-survey

https://ethics.acm.org
vardi’s insights

DOI:10.1145/3168007 Moshe Y. Vardi

Computer Professionals
for Social Responsibility

I
T H I N K O FT ENof Ender’s Game attributes the recent rise in teen the technology to develop software that
these days. In this award-win- depression, suicide, and suicide would be reliable enough for the pur-
ning 1985 science-fiction novel attempts to the ascendance of the pose of SDI. Later, CPSR expanded its
by Orson Scott Card (based on a smartphone (http://bit.ly/2zianG5). scope to other tech-related issues. The
1977 short story with the same A dramatic drop in the public view organization was dissolved in 2013.
title), Ender is being trained at Battle of Tech, a term that I use to refer both (See Wikipedia http://bit.ly/2zvZsZb)
School, an institution designed to to computing technology and the With the benefit of hindsight, the is-
make young children into military com- community that generates that tech- sues that CPSR pursued in 1980s
manders against an unspecified enemy nology, has accompanied the recent appear remarkably prescient today.
(http://bit.ly/2hYQMDF). Ender’s team recognition of the adverse societal con- One could argue that CPSR is not
engages in a series of computer-sim- sequences of computing. This decline needed any more; there are now numer-
ulated battles, eventually destroying is well exemplified by Peggy Noonan, ous organizations and movements that
the enemy’s planet, only to learn then a Wall Street Journal columnist who are focused on various aspects of respon-
that the battles were very real and a real wrote recently about trying to explain sible use of technology. But our society is
planet has been destroyed. (dubiously, IMHO) why Americans own facing a plethora of new issues related to
I got involved in computing at age 16 so many guns: “Because all of their per- societal impact of technology, and we, the
because programming was fun. Later I sonal and financial information got people who are creating the technology,
discovered that developing algorithms hacked in the latest breach, because lack a coherent voice. ACM is involved in
was even more enjoyable. I found the our country’s real overlords are in Sili- many of these organizations and move-
combination of mathematical rigor con Valley and appear to be moral Mar- ments, by itself or with others, for ex-
and real-world applicability to be highly tians who operate on some weird new ample, ACM U.S. Public Policy Council,
stimulating intellectually. The benefits postmodern ethical wavelength. And ACM Europe Policy Committee, the ACM
of computing seemed intuitive to me they’ll be the ones programming the Code of Professional Ethics, the Partner-
then and now. I truly believe that com- robots that’ll soon take all the jobs!” ship on AI, and more. Yet, these efforts
puting yields tremendous societal ben- The question I’d like to pose to us in are dispersed and lack coordination.
efits; for example, the life-saving poten- Tech is as follows: We have created this I believe ACM must be more active
tial of driverless cars is enormous! technology; What is our social responsibil- in addressing social responsibility is-
Like Ender, however, I realized ity? Of course, not all of us sit in Silicon sues raised by computing technology.
recently that computing is not a game— Valley, and not all of us make product- An effort that serves as a central or-
it is real—and it brings with it not only deployment decisions. But much of ganizing and leadership force within
societal benefits, but also significant soci- the technology developed by high-tech ACM would bring coherence to ACM’s
etal costs. Let me mention three examples. corporations is based on academic re- various activities in this sphere, and
I have written previously on the automa- search, by students educated in aca- would establish ACM as a leading
tion’s adverse impact on working-class demic institutions. Whether you like it voice on this important topic. With
people—an impact that has already had or not, if you are a computing profes- great power comes great responsibil-
profound political consequences—with sional, you are part of Tech! ity. Technology is now one of the most
further such impact expected as driving Computer Professionals for Social powerful forces shaping society, and
gets automated (http://bit.ly/2AdEv8A). Responsibility (CPSR), founded in the we are responsible for it!
It has also become clear that “friction- early 1980s, was an organization pro- Follow me on Facebook, Google+,
less sharing” on social media has given moting the responsible use of com- and Twitter.
rise to the fake-news phenomenon. It puter technology. The triggering event
is now widely accepted that this had was the Strategic Defense Initiative Moshe Y. Vardi (vardi@cs.rice.edu) is the Karen Ostrum
George Distinguished Service Professor in Computational
serious impact on both the 2016 U.K. (SDI), a proposed missile-defense sys- Engineering and Director of the Ken Kennedy Institute for
Brexit referendum and the 2016 U.S. tem intended to protect the U.S. from Information Technology at Rice University, Houston, TX.
He is the former Editor-in-Chief of Communications.
Presidential election. Finally, a 2017 attack by ballistic strategic nuclear
paper in Clinical Psychological Science weapons. CPSR argued that we lack Copyright held by author.

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF THE ACM 9


letters to the editor

DOI:10.1145/3168260

A Leap from Artificial to Intelligence

C
ARISSA SCHOENICK ET AL.’S leap from artificial to intelligence chine be given the intelligence to make
article “Moving Beyond the could indeed be infinite. such a determination on its own?
Turing Test with the Allen Arthur Gardner, Scotts Summit, PA Health-care institutions increasing-
AI Science Challenge” (Sept. ly must be able to identify authentically
2017) got me thinking … less Carissa Schoenick et al. (Sept. 2017) human patients’ EHRs. In light of this
about the article itself than about the described an AI vs. eighth-grade sci- trend, hackers might want to generate
many articles on artificial intelligence ence test competition run in 2015 by synthetic patient identities to exploit
we see today. I am astonished that the Allen Institute for Artificial Intelli- the data of real patients, hospitals,
people who know what computers gence. The top solution, as devised by and insurance companies. For exam-
can do, and, especially, how they do Chaim Linhart, predicted the correct- ple, a hacker might want to falsely in-
it, still think we (humankind) will ever ness of most answers through a com- crease a particular hospital’s conges-
create a rational being, much less that bination of gradient-boosting models tive heart failure (CHF) 30-day
the day is near. applied to a corpus. Schoenick et al. readmission rate, a measure of quality.
I see no such sign. A program that suggested that answering eighth-grade- Medicare also uses it to evaluate U.S.
can play winning chess or Go is not one. level science-test questions would be hospitals—by posting into the hospital’s
We all knew it would happen sooner or more effective than Alan Turing’s own database synthetic-patient identities as-
later. We are talking about a large but fi- historic approach as a test of machine sociated with CHF readmissions.
nite set of paths through a well-defined intelligence. But could there be ways to Before synthetic patient identities be-
set. Clever algorithms? Sure. But such extend the Turing Test even further, to, come a public health problem, the legit-
things are the work of engineers, not of say, real-life scenarios, as in medicine? imate EHR market might benefit from
the computer or its programs. Consider that electronic health re- applying Turing Test-like techniques to
Siri is no more intelligent than a cords (EHRs) collected during a typi- ensure greater data reliability and diag-
chess program. I was indeed surprised, cal clinical-care scenario represent a nostic value. Any new techniques must
the first time I tried it, by how my largely untapped resource for studying thus consider patients’ heterogeneity
iPhone seemed to understand what I diseases and associated co-occurring and are likely to have greater complexity
was saying, but it was illusory. Readers diseases at a national scale. EHRs are a than the Allen eighth-grade-science-test
of Communications will have some no- rich data source, with thousands of data is able to grade.
tion of its basic components—some- elements per patient, including struc-
thing that parses sound waves from tured elements and clinical notes, often References
1. Baytas, I., Xiao, C., Zhang, X., Wang, F., Jain, A., and
the microphone and something that spanning years. Because EHRs include Zhou, J. Patient subtyping via time-aware LSTM
looks up the resulting tokens—and if sensitive personal information and are networks. In Proceedings of the 23rd SIGKDD
Conference on Knowledge Discovery and Data Mining
a sound token is within, say, 5% of the subject to confidentiality requirements, (Halifax, NS, Canada, Aug. 13–17). ACM Press, New
York, 2017, 65–74.
English word … you know what must accessing such databases is a privilege 2. Kartoun, U. A methodology to generate virtual
be happening. The code is clever, that research institutions grant only a few patient repositories. arXiv Computing Research
Repository, 2016; https://arxiv.org/ftp/arxiv/
is, cleverly designed, but just code. well-qualified medical experts. papers/1608/1608.00570.pdf
Neither the chess program nor Siri All this motivated me to develop a
has awareness or understanding. A simple computer program I call EM- Uri Kartoun, Cambridge MA
game-playing program does not know RBots to generate a synthetic patient
what a “game” is, nor does it care if it population of any size, including
wins or loses. Siri has no notion of what demographics, admissions, comor- I Am Not a Number
a “place” is or why anyone would want bidities, and laboratory values.2 A syn- Solon Barocas’s and danah boyd’s View-
to go there. thetic patient has no confidentiality point “Engaging the Ethics of Data Sci-
By contrast, what we are doing— restrictions and thus can be used by ence in Practice” (Nov. 2017) did well to
reading these words, asking maybe, anyone to practice machine learning focus on ethics in data science, as data
“Hmm, what is intelligence?” is some- algorithms. I was delighted to find one science is an increasingly important
thing no machine can do. We are con- of my synthetic cohorts being used by part of everyone’s life. Data, ethics, and
sidering ideas, asking, say, “Is this other researchers to develop a novel data scientists are not new, but today’s
true?” and “Do I care?” neural network that performs bet- computational power magnifies their
That which actually knows, cares, ter than the popular long short-term scale and resulting social and economic
and chooses is the spirit, something memory neural network.1 influence. However, by focusing narrow-
every human being has. It is what dis- In the EHR context, though a hu- ly on data scientists, Barocas and boyd
tinguishes us from animals, and from man physician can readily distinguish missed several important sides of the
computers. What makes us think we between synthetically generated and ethics story.
can create a being like ourselves? The real live human patients, could a ma- The disjoint they identified between

10 COMMUNICATIO NS O F TH E AC M | JA NUA RY 201 8 | VO L . 61 | NO. 1


letters to the editor

data scientists and researchers who cri- Why Whole Foods for Amazon high. Unfortunately, however, such veri-
tique data science is a strawman. For Michael A. Cusumano’s Viewpoint fication software is not designed to verify
example, Cathy O’Neil, whose book “Amazon and Whole Foods: Follow the first that the sensor is operating properly.
Weapons of Math Destruction Baro- Strategy (and the Money)” (Oct. 2017) Moreover, software developers must
cas and boyd turned to for examples looked to identify a financial strategy learn to be more analytical about the
of unethical algorithms, is not just a for Amazon.com’s June 2017 acquisi- specifications their software is being
researcher who happens to focus on tion of Whole Foods, which Amazon designed to obey. Making software con-
data ethics, as they described her, must have seen as strategically advan- form to “some specification,” as An-
but is herself a data scientist. Re- tageous because it paid far more than drew Appel of Princeton University said
searchers like O’Neil would thus seem Whole Food’s market valuation at the to Shein, is foolish unless the specifica-
to be part of the solution to the prob- time. However, the column ignored the tion is the right specification. In a large-
lem Barocas and boyd identified. crucial potential for cross-subsidization system context, “right,” as Tatlock said,
Barocas and boyd also did not to harm competition in the grocery cannot be assured in advance. Develop-
mention capitalism—the economic industry. The trade press has since re- ers must first create the code, then con-
force behind much of today’s data sci- ported sales of high-margin Amazon firm it is consistent with all the other
ence—with its behavioral prediction products, including Echo devices, at code with which it will eventually inter-
and manipulative advertising. What Whole Foods, along with deals expect- operate. Here, “confirm” means “con-
if the answer to unethical algorithms ed to come later (such as Whole Foods sistent with the rules of logic, arith-
is to not create them in the first place? discounts for customers who also pur- metic, and semantics,” not just some
If an algorithm yields biased results chase Amazon Prime). Using revenue code developer’s specification for only
based on, say, ethnicity, as Barocas from such products and services to low- a piece of the ultimate system.
and boyd mentioned, then surely the er the price for commodity, low-margin Jack Ring, Gilbert, AZ
answer would be to not develop or use products like groceries is a classic anti-
it to begin with; that is, do no harm. competitive strategy with dubious legal Communications welcomes your opinion. To submit a
Letter to the Editor, please limit yourself to 500 words or
But such an approach also means the or ethical basis. less, and send to letters@cacm.acm.org.
algorithm writer cannot sell the algo- Andrew Oram, Arlington, MA
rithm, an option Barocas and boyd ©2018 ACM 0001-0782/18/1
ignored. They said data scientists try
“to make machines learn something Address the Slacker

COMMUNICATIONS
useful, valuable …” yet did not iden- Before the Hacker
tify who might find it useful or what Esther Shein’s news story “Hacker- The Next Phase in
kind of value might be derived. Selling Proof Coding” (Aug. 2017) deserves a the Digital Revolution:
an algorithm that helps “wrongly in- clarification and a warning about as- Platforms, Automation,
carcerate” people has financial value sumptions. Software developers should Growth, Employment
for the data scientist who wrote it but recognize that the techniques Shein ex-
negative social value for, and does ma- plored will locate code faults but need
jor financial harm to, those it might not be solely manual, expensive, or te- Elements of the Theory
help put in jail. Data scientists must dious and thus error-prone. Contrary to of Dynamic Networks
do what “maximizes the  …  models’ the sources Shein quoted, much of the
performance” but for whom and to process of looking for faults can be au- Titus: Introducing
what end? Often the answer is simply tomated. Automated diagnosis of errors
Containers to
to earn a profit. can be done for approximately 20% of
If one can learn data science, one what it now costs in terms of program- the Netflix Cloud
can should be able to use it ethically. mer time and financial expenditure,
More than once Barocas and boyd yielding immediate and significant ROI. Views from the Top
mentioned how data scientists “strug- Regarding assumptions, software
Coming Next Month in

gle” with their work but expressed no developers should also be aware that The Theory
empathy for those who have been hurt the threat to the world’s software sys-
by algorithms. They did say data scien- tems is not just from hackers but also
of Dynamic Networks
tists choose “an acceptable error rate,” from slackers often within their own
though for some scenarios there is no midst. Too many software developers
acceptable error rate. simply do not put enough effort into
If data scientists do not use data understanding the context in which
science ethically, as Barocas and boyd their code will operate. For example,
wrote and as O’Neil has shown, they consider what Zachary Tatlock of
are indeed doing it improperly. What the University of Washington said to
Plus the latest news about
Barocas and boyd failed to suggest is Shein, “ … as software that verifies the quantum encryption, the value
such data scientists should not be do- beam power has not become too high of data, and the continuing
ing data science at all. … ” because software verifies only that education of software.
Nathaniel Poor, Cambridge, MA some sensor output value is not too


JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 11
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/3157073 http://cacm.acm.org/blogs/blog-cacm

The Big IDEA and Big IDEA as an umbrella for our current
and future initiatives in this area.

the PD Pipeline
IDEA stands for Inclusion, Diver-
sity, Equity, and Access. While not the
first group to utilize this acronym, the
Big IDEA fit well within the needs of
Former Computer Science Teachers Association executive director our community. By focusing almost
Mark R. Nelson discusses his work with the group exclusively in equity, we heard from
to overcome core challenges to computer science education. many teachers that they did not feel
included in the conversation because
they identified themselves as “teachers
Mark R. Nelson portance of an organization like CSTA of CS” rather than “CS teachers.” That
CSTA: Computer to change the world. The work of CSTA realization uncovered the diversity of
Science Education, addresses core challenges for the future: perspectives that exist within our mem-
Equity, and ˲˲ How will we ensure all students bership—which consists of nearly every
the Future Workforce are prepared to be citizens and work- teaching domain in K–12, and teach-
 ttp://bit.ly/2hGMSlt
h ers in a different world than we knew ers who both come from and work with
August 8, 2017 in the past? exceptionally diverse student popula-
In 2015, when considering whether to ˲˲ How do we retrain adult workers, in tions. To achieve CS for All students, we
apply for the position of executive di- this case education workers (teachers), to realized the Big IDEA would be a more
rector for the Computer Science Teach- be ready for a rapidly changing world? effective, holistic approach for focusing
ers Association (CSTA), I read the book By working collaboratively, we can our efforts and building engagement in
Stuck in the Shallow End by Jane Mar- solve these challenges. Over the past our community.
golis (http://bit.ly/2zcEZeP). Computer two years, I saw the pathway to address- There is still much work to do. Take,
science (CS) remains one of the least di- ing these challenges within CSTA come for example, the challenges of acces-
verse of the STEM disciplines, and Mar- together in a pair of initiatives: The Big sibility in the context of disabilities.
golis’ book opened with a compelling IDEA and the PD Pipeline. People with disabilities represent an
comparison between the racial divide in estimated 15% of the world population.
swimming and the divide we see today What Is the Big IDEA? Designing for this group of learners
in CS. Understanding that teachers are Building upon CSTA’s historical inter- can be challenging because disability
critical to access, and how we teach can est in equity in CS, we began to change is not a single construct. It can include
influence what field students might pur- our language around equity. In 2015, physical challenges (related to areas
sue, I saw that within CSTA there was op- our equity work focused mainly on a pro- such as vision, hearing, and mobility)
portunity to make a positive difference gram with declining participation called as well as cognitive impairments (such
in the world. “faces of computing,” where students as challenges related to reading, mem-
Fast-forward to 2017, and thanks to created videos to showcase some of the ory, and attention deficits).
Stephen Ibaraki, I had the opportunity diversity within CS. In evaluating the Accessibility has implications for CS
to participate in the AI for Good Sum- program and looking at other successful in education beyond the important cate-
mit held in Geneva, Switzerland (http:// initiatives, we recognized that focus on gory of children with disabilities. Acces-
bit.ly/2h494Xi). The Summit crystalized equity alone is insufficient to achieve eq- sibility challenges exist by race, gender,
for me the scope, magnitude, and im- uitable outcomes. Thus, we created the geography, community urbanization,

12 COM MUNICATIO NS O F TH E ACM | JA NUA RY 201 8 | VO L . 61 | NO. 1


blog@cacm

socioeconomic status, and many other PD for me based on my current skill The PD Pipeline is designed to pro-
dimensions. For example, in the U.S. level and interests? vide a customized experience for an in-
there are entire states where not a single ˲˲ How do chapters track and com- dividual teacher with a goal to help her
woman, African-American, or Latino municate PD taken or needed most by achieve the level of competence and
takes the CS Advanced Placement (AP) their members? confidence she desires or requires to be
exam each year. The Latino community, ˲˲ How do I collect and share con- a successful teacher of CS in K–12. With
which represents 26% of K–12 students tent and learning resources with other technology changing quickly, and most
in the U.S., has been underserved by CS teachers like me? CS teachers likely to come from the
education largely due to access issues. Working with Degreed, last summer ranks of existing teachers, the PD Pipe-
We see similar challenges emerging for CSTA piloted an initial solution to these line is an effort to address the question:
students in rural communities. challenges via the PD Pipeline. The so- How do we retrain the K–12 education-
Limits to the Big IDEA, such as lution includes several elements. It al workforce (teachers) so they can pre-
those highlighted here around access, begins with what will evolve into a de- pare their students for the future?
become the basis for many forms of in- velopmental self-assessment to help As we look at the future displacement
stitutionalized inequity and can limit teachers assess their knowledge of CS. of jobs due to artificial intelligence,
access to economic prosperity at multi- That will be linked to developmental many individuals across a range of occu-
generational levels. As one speaker put pathways to provide teachers with a pations and industries will need to be re-
it at the AI For Good Summit, the lack roadmap to build their confidence and trained. The CSTA PD Pipeline initiative
of diversity and inclusion in CS leads competence in teaching CS. We will is one approach to solving such a large-
us to “solving mostly white male prob- provide digital badging and microcre- scale workforce development problem.
lems.” Over my two years at CSTA, I saw dentials to demonstrate teacher prog-
firsthand how teachers are critical for ress toward goals and outcomes. There Concluding Thoughts
ensuring the Big IDEA becomes reality is capacity to provide communities of The Big IDEA and the PD Pipeline are
for children and society. practice and opportunities to share two examples of industry-changing ini-
Organizations like CSTA have it with- resources linked to a professional de- tiatives under way at CSTA over the past
in their mission and influence to make velopment (PD) experience, a develop- two years. There is certainly much more
real change around the Big IDEA. Thanks mental pathway, or other factors. The that needs to be done in both these areas
to support and contributions from solution includes a digital portfolio, and others. As with any small non-profit,
Google for Education, NCWIT, the His- enabling a teacher to track all her PD in CSTA is dependent upon the support of
panic Heritage Foundation, and many one place. Finally, nearly all these piec- organizations and individuals to fulfill
volunteers, CSTA’s Big IDEA initiatives es link back to the K–12 CS Standards its mission. While CSTA was founded by
reached more than 3.5 million house- and Framework, or to a given state’s ACM more than a decade ago as part of
holds over the past two years. In 2017, standards for CS, so a teacher can track its ongoing support to K–12 education,
the Big IDEA in CS Education received a progress against local requirements today more than ever, CSTA needs sup-
prestigious Silver Power of A Award rec- for licensure or endorsement. port from a broader range of stakehold-
ognizing CSTA and the contributions of The PD Pipeline recognizes that K–12 ers to successfully meet the challenges
both K–12 teachers and those who sup- teachers of CS come from many differ- and needs of both the K-12 teacher com-
port them for “their extraordinary contri- ent academic backgrounds and differ- munity and the organizations and indus-
butions and efforts to enrich lives, create ent exposure to CS. Our best estimate tries that depend on that community.
a more competitive workforce, drive in- is that 1 in 9 teachers of CS have had a It was a distinct honor to serve as
novation, and make a better world.” college-level course in CS, and fewer CSTA’s executive director for the past
than 7% of our membership identify two years. By working collaboratively
The PD Pipeline themselves as “CS teachers” first. Most with many stakeholders, we made sub-
In 2016, thanks to a grant from the In- are teachers of another subject who also stantive progress on many fronts as
fosys Foundation USA, CSTA began teach CS. Thus, our 26,000 members we began the transition of CSTA from
development of the Professional De- include teachers of math, science, ca- a “mom and pop” organization into a
velopment (PD) Pipeline. The project reer and technical education, English, world-class professional association.
emerged in response to a set of challeng- history, modern languages, art, music, Having accomplished many of the ini-
es from our members, which included: physical education, special education, tial strategic goals set in 2015, it is now
˲˲ How do I know where to go to learn and many other domains. time for the next executive director to
CS from quality providers? We also learned that teachers came continue to build upon the transitional
˲˲ How do I track all of my PD and into CS with different areas of interest. process that we began. I look forward
learning? We have teachers interested in robot- to watching CSTA’s future success and
˲˲ How do I ensure all my PD contrib- ics, cybersecurity, game design, artifi- encourage readers to support CSTA as
utes to certification or endorsement in cial intelligence, data analytics, mobile the voice for K–12 teachers of CS.
my state? applications, and many other domains
˲˲ How do I connect with other teach- of CS. We also recognized that some Mark R. Nelson was executive director of the Computer
Science Teachers Association from June 2015 through
ers who took the same PD or came from teachers want to become CS teach- July 2017.
the same background as me? ers, while others just want to integrate
˲˲ How do I know what PD is the right some CS in their classrooms. © 2018 ACM 0001-0782/18/1 $15.00

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 13
Previous
A.M. Turing Award
Recipients

1966 A.J. Perlis


1967 Maurice Wilkes
1968 R.W. Hamming
1969 Marvin Minsky
1970 J.H. Wilkinson
1971 John McCarthy
1972 E.W. Dijkstra
1973 Charles Bachman
1974 Donald Knuth
1975 Allen Newell
1975 Herbert Simon
1976 Michael Rabin
1976 Dana Scott
1977 John Backus
1978 Robert Floyd
1979 Kenneth Iverson
1980 C.A.R Hoare ACM A.M. TURING AWARD
NOMINATIONS SOLICITED
1981 Edgar Codd
1982 Stephen Cook
1983 Ken Thompson
1983 Dennis Ritchie
1984 Niklaus Wirth Nominations are invited for the 2017 ACM A.M. Turing Award.
1985 Richard Karp
1986 John Hopcroft This is ACM’s oldest and most prestigious award and is given
1986 Robert Tarjan to recognize contributions of a technical nature which are of
1987 John Cocke
1988 Ivan Sutherland lasting and major technical importance to the computing field.
1989 William Kahan The award is accompanied by a prize of $1,000,000.
1990 Fernando Corbató
1991 Robin Milner Financial support for the award is provided by Google Inc.
1992 Butler Lampson
1993 Juris Hartmanis
1993 Richard Stearns
Nomination information and the online submission form
1994 Edward Feigenbaum are available on:
1994 Raj Reddy http://amturing.acm.org/call_for_nominations.cfm
1995 Manuel Blum
1996 Amir Pnueli
1997 Douglas Engelbart Additional information on the Turing Laureates
1998 James Gray is available on:
1999 Frederick Brooks http://amturing.acm.org/byyear.cfm
2000 Andrew Yao
2001 Ole-Johan Dahl
2001 Kristen Nygaard The deadline for nominations/endorsements is
2002 Leonard Adleman
2002 Ronald Rivest
January 15, 2018.
2002 Adi Shamir
2003 Alan Kay For additional information on ACM’s award program
2004 Vinton Cerf
2004 Robert Kahn please visit: www.acm.org/awards/
2005 Peter Naur
2006 Frances E. Allen
2007 Edmund Clarke
2007 E. Allen Emerson
2007 Joseph Sifakis
2008 Barbara Liskov
2009 Charles P. Thacker
2010 Leslie G. Valiant
2011 Judea Pearl
2012 Shafi Goldwasser
2012 Silvio Micali
2013 Leslie Lamport
2014 Michael Stonebraker
2015 Whitfield Diffie
2015 Martin Hellman
2016 Sir Tim Berners-Lee
N
news

Science | DOI:10.1145/3157075 Gregory Mone

Feeling Sounds,
Hearing Sights
A new wave of sensory substitution devices work
to assist people who are blind or deaf.

I
N A 2 0 1 6 video, Saqib Shaikh, a
Microsoft Research software
engineer, walks out of Lon-
don’s Clapham Station Under-
ground stop, turns, and crosses
a street, then stops suddenly when he
hears an unexpected noise. Shaikh,
who lost his sight when he was seven
years old and walks with the aid of the
standard white cane, reaches up and
swipes the earpiece of his glasses.
PHOTO C OPYRIGH T © , PITTSBURGH POST- GA ZET TE, 2 017, A LL RIGH TS RESERVED. REPRINT ED WIT H P ERMI SS I ON .

The video then shifts to the view


from his eyewear, a pair of smart
glasses that capture high-quality still
images and videos. That simple swipe
instructed the glasses, an experimen-
tal prototype designed by a company
called Pivothead, to snap a still photo.
Microsoft software analyzed the pic-
ture, then translated the findings into
auditory feedback. Through the smart
glasses, which include a small speak-
er, Shaikh hears the results from an
automated voice: “I think it’s a man
jumping in the air doing a trick on a
skateboard.”
The Pivothead smart glasses and
Microsoft AI technology belong to a
broader class of what have become
known as sensory substitution tech-
nologies, apps and devices that col- Chieko Asakawa, who is blind, uses the NavCog app, which she helped develop, to find her
lect visual, auditory, and in some cases way on the campus of Carnegie Mellon University.

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 15
news

haptic stimuli, and feed the informa- entist Chieko Asakawa believes there
tion to the user through another sen- is still an unmet need in this space,
sory channel. While the utility of these “What we’re doing and that such technologies have the
devices has long been debated in the is relying on potential to allow people who are
vision- and hearing-impaired com- blind to explore unfamiliar areas such
munities, recent advances suggest the brain’s ability as schools, train stations, airports,
that sensory substitution technologies to take information and more. “It’s not fun if I go to a shop-
are finally starting to deliver on their ping mall by myself, for example,” says
promise. in any sensory format Asakawa, who lost her sight at age 14.
and make sense “If there are many people in the mall,
A Rich History it’s very difficult to move around with
The first sensory substitution devices of it independent the white cane.”
originated long before computing of that format.” Asakawa and her collaborators
machines and smartphone apps. The at IBM Tokyo and Carnegie Mellon
white cane widely used by people who University have developed a new sys-
are blind or have low vision alerts users tem, NavCog, that deploys bluetooth
to the presence of obstacles through beacons throughout interior spaces
tactile feedback. Similarly, Braille is a such as academic buildings and, in
way of converting visual text to felt or one case, a public shopping mall. The
tactile text. But a major technological One algorithm separates the sound beacons connect to a smartphone
shift has resulted from the efforts of into its component frequencies (as app, which guides the user via voice
neuroscientist Paul Bach-y-Rita, who our own ears do) while others cancel assistance. “In the mall,” she ex-
developed a prototype device that con- out unrelated noise, such as the hum plains, “I can find out which shop is
verts video into tactile feedback. of an air conditioner. The app then next to me while I’m walking, such
Today, sensory substitution devices transforms this change in frequencies as a coffee shop on the left or a sushi
come in a variety of forms. The Brain- over time into a pattern of vibrations restaurant on the right. That’s useful
Port, for example, translates visual in- that alters every 20 milliseconds, roll- information.”
formation from a forehead-mounted ing through or pulsing on the Buzz.
camera into tactile feedback, deliver- “With a siren, you feel it going back Siri’s Shortcomings
ing stimuli through 400 electrodes and forth on your wrist because there Devices that help individuals enhance
on a thumbprint-sized pad that us- are different frequencies involved,” their productivity in the workplace are
ers place on their tongue. Other aids Eagleman explains. “A knock on the also critical. Computer scientist Matt
include the vOICe, which translates door is easy. You feel the knock on Huenerfauth of the Linguistic and
camera scans of an environment into your wrist.” Assistive Technologies Laboratory at
audible soundwaves, allowing users to The Buzz and its predecessor, a the Rochester Institute of Technol-
hear obstacles they cannot see. more robust wearable vest, are also de- ogy (RIT) is working with researchers
Although these devices use differ- signed to be affordable: the projected from the National Technical Institute
ent approaches, they are capitalizing price of the wrist-worn version should for the Deaf (NTID) to see if Automatic
on the same general principle. “Most be less than $400. Cost is a major con- Speech Recognition (ASR) technol-
of the hard computing work is being cern because sensory substitution ogy of the sort that powers Siri, Alexa,
done in the brain,” explains experi- devices are not reimbursed through and Cortana could be used to generate
mental psychologist Michael Proulx health insurance in the U.S., and stud- captions in real time during meetings.
of the University of Bath. “What we’re ies have found that people with dis- Often, people who are deaf or hard of
doing is relying on the brain’s ability abilities often have lower rates of em- hearing either skip business meetings
to take information in any sensory for- ployment and income, and may not and wait for summaries from other
mat and make sense of it independent be able to afford technologies like the attendees, or sit through the confer-
of that format.” BrainPort, which retails for $10,000. ences and miss numerous side con-
“For people with sensory disabili- versations. However, ASR technology
Practical Uses ties, none of these technologies are is imperfect, and a real-time caption-
Neuroscientist David Eagleman and covered” by insurance, says Deborah ing system with errors in the text can
his colleagues at Neosensory, a Sili- Cook, Washington Assistive Technol- be confusing. Huenerfauth’s team is
con Valley startup, are developing a ogy Act Program technical advisor and investigating whether highlighting
new device, the Buzz, that translates director of the Older Blind Indepen- words that the ASR is not confident it
ambient sounds such as sirens or dent Living Program at the University recognized correctly—using italicized
smoke alarms into distinct patterns of Washington. “You can get a wheel- fonts—will help users understand
of vibrations that pulse through and chair paid for, but you can’t get a new which fragments of a transcript they
across the device’s eight motors. A visual or auditory device reimbursed.” can trust.
smartphone microphone picks up the Cook also argues that many sensory Computer scientist Raja Kushal-
sound, then passes it through an app substitution devices are too focused nagar of Gallaudet University, along
that mimics the role of the inner ear. on navigation. But IBM computer sci- with colleagues from the University of

16 COMM UNICATIO NS O F THE ACM | JA NUA RY 201 8 | VO L . 61 | NO. 1


news

Rochester, Carnegie Mellon Univer-


sity, and the University of Michigan,
mote human agents deliver now, such
as automatic facial recognition and ACM
has pursued a slightly different ap-
proach to the same problem. Instead
of attempting to build an automated
reading.
While these technical advances are
welcome, experimental psychologist
Member
system, Kushalnagar and his collabo-
rators are developing a crowdsourcing
Proulx, who tests and compares sever-
al sensory substitution devices, includ-
News
technology that transcribes lectures or ing the BrainPort, in his laboratory, be- PURSUING COMBINATORICS
business meetings into reliable cap- lieves the devices will also improve as WITH A MATH ARSENAL
tions with only a five-second delay. researchers learn more about how the Noga Alon,
Professional stenographers can cost brain processes sensory information Baumritter
Professor of
$100 per hour, so they are not a viable flowing in through different channels. Mathematics
option for most users. The group’s sys- “There have been findings showing and Computer
tem recruits multiple untrained, low- that as people learn to use these devic- Science at Tel
Aviv University,
er-paid workers to remotely transcribe es, the brain is starting to use the visual Israel, earned all of his degrees
brief portions of a given meeting or parts of the cortex to process the infor- in mathematics, in Israel. He
lecture in real time. Their technology, mation it’s receiving through sound or completed his undergraduate
Legion Scribe, then applies an algo- touch,” Proulx says. “Over the next 10 studies at Technion–Israel
Institute of Technology in Haifa,
rithm that merges the three fragment- years is probably when we’ll see a nice his master’s degree at Tel Aviv
ed transcriptions into one sensible, feedback loop between improvements University, and he received his
readable text for people who are deaf in the technology and greater findings Ph.D. from the Hebrew
University of Jerusalem.
or hard of hearing. about the human user and how the
An ACM Fellow, Alon says
brain is actually functioning. As that his serious interest in computer
Feedback Loop comes together, I’m really excited to science did not begin until he
The incorporation of remote human see what sort of advances we’re able to started post-doctoral studies at
the Massachusetts Institute of
assistants is not entirely unique in the make.” Technology.
sensory substitution field. The Univer- Lately, Alon notes,
sity of Washington’s Cook touts a new “I have been interested in
Further Reading understanding which types of
service, Aira, which connects blind us-
Lasecki, W. Kushalnagar, R., and Bigham, J. combinatorial proofs lead to
ers with remote human agents through efficient procedures for solving
Legion Scribe: Real-time captioning by
a pair of smart glasses. The agents, corresponding algorithmic
non-experts, Proceedings of the 16th
who act as assistants, see through the problems.” The development
International ACM SIGACCESS of streaming algorithms,
glasses, but they can also tap into GPS Conference on Computers and Accessibility, analyzing huge quantities of
data and other information. If the user ASSETS, 2014. data on the fly to understand
enters a Target store, for example, Maidenbaum, S., Abboud, S., and Amedi, A. their statistical properties, has
Aira software immediately brings up a Sensory Substitution: Closing also received his attention.
the gap between basic research His other research interests
map of that store’s layout to help the are mainly in combinatorics
and widespread practical visual
agent guide the individual. Individu- (a branch of math dealing
rehabilitation, Neuroscience &
als can engage the service for a variety with combinations of objects
Biobehavioral Reviews, 41, 2014. belonging to a finite set in
of tasks; one Aira user tapped into the accordance with certain
S. Daisuke, O. Uran, N. Kakuya, T.
service at a family funeral because he Hironobu, K. Kris, and A. Chieko. constraints) and graph theory,
didn’t want to bother relatives and ask NavCog3: An evaluation of a and their applications in
for their help. smartphone-based blind indoor theoretical computer science.
navigation assistant with semantic While Alon, 61, believes
“Helping people identify objects his best work is still ahead
and texts is good,” says Aira co-found- features in a large-scale environment,
of him, there are a number
Proceedings of the 19th International
er and CEO Suman Kanuganti, “but we of challenges he would like
ACM SIGACCESS Conference on Computers
want to help them gain experiences in to try to address, such as
and Accessibility, ASSETS, 2017. well-known problems in
life, doing things faster and more effi- Sadeghi, S., Minor, L., Cullen, K. mathematics, combinatorics,
ciently.” Neural correlates of sensory substitution and theoretical computer
Kanuganti says there is an addi- in vestibular pathways following science. More specifically,
complete vestibular loss, The Journal of “I would like to develop
tional advantage to keeping human techniques to tackle problems
agents in the loop. Since the service Neuroscience, Vol. 32, Issue 42, October
in understanding the power
17, 2012.
launched in early 2017, roughly 3,600 of proof techniques and
hours’ worth of interactions between How new technology helps blind people computation,” he adds.
explore the world; http://bit.ly/1LRd2UD In 2018, Alon will join the
agents and users have been stored in faculty of Princeton University
the cloud. Aira has begun training ma- as a professor of mathematics
Gregory Mone is a Boston-based science writer and the
chine learning algorithms on all that author, with Bill Nye, of Jack and the Geniuses: At the
and applied and computational
mathematics, while
video, audio, GPS, and other data to Bottom of the World.
maintaining his affiliation to Tel
develop automatic tools that provide Aviv University.
some of the same functionality that re- © 2018 ACM 0001-0782/18/1 $15.00 —John Delaney

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 17
news

Technology | DOI:10.1145/3157079 Alex Wright

Smartphone Science
A new generation of portable scientific instruments
is taking shape, thanks to mobile processors
and innovative data-gathering techniques.

I
N HIS 1998 book The Invisible
Computer, user experience pi-
oneer Don Norman predicted
that general-purpose com-
puters would one day give way
to “information appliances”: com-
pact tools designed for specialized
computational purposes, capable of
communicating across a wide range
of platforms.
Thanks to recent innovations in
mobile processors, sensors, and image
capture tools, Norman’s vision now
looks remarkably prescient—nowhere
more so than in the worlds of science
and medicine, where advances in mo-
bile technology are starting to yield
lightweight, low-cost scientific instru-
ments that promise to democratize ac-
cess to a wide range of powerful diag- Say Ah: An off-site doctor examines the throat of a child via smartphone during a digital
nostic techniques. medical consultation.
Over the past few years, research-
ers have created smartphone-powered man hair. Today, thanks to advances which are typically performed in cen-
tools capable of taking blood samples, in smartphone lenses and processor tralized laboratories at major hospi-
identifying viruses, analyzing water power, Ozcan’s team has been able to tals—within reach of remote doctors’
safety, and even sequencing DNA. develop an Android-based system ca- offices, and eventually consumers.
Many of these instruments are already pable of registering a DNA molecule The microscope could also have a
allowing scientists and medical pro- just two nanometers wide (about 500 wide range of other applications for
fessionals to gather and analyze data times smaller than a red blood cell). biotechnology and nanotechnology
in ways that, until recently, would The device works by taking mul- research in remote environments.
have required bulky and expensive tiple different images of a tissue “This transformation is really
lab-based equipment. sample, which it then feeds into an al- helping us become competitive with
“Over the past decade we’ve seen gorithm that analyzes the images us- things that are normally done in ad-
enormous advances in the capabili- ing fluorescent dyes to sequence the vanced labs and professional set-
ties of smartphones,” says Aydogan DNA bases and look for genetic muta- tings,” says Ozcan. “This is about the
Ozcan, a professor at the University tions inside the tumor. The research- democratization of measurement,
of California, Los Angeles (UCLA) ers claim the device can identify even science, and diagnostics.”
who led an international team that miniscule signs of cancer among a At Washington State University, a
created a smartphone-based mi- large group of cells. team of researchers led by Lei Li has cre-
croscope capable of analyzing DNA The team prototyped the device ated a smartphone-based spectrometer
PHOTO BY SEBASTIEN BOZON/ AF P/GET T Y IM AG ES

sequences in tissue samples with a using a three-dimensional printer, capable of analyzing blood samples for
level of fidelity comparable to that of and estimates the smartphone-based a specific biomarker known as human
a conventional microscope. microscopes could ultimately be pro- interleukin-6, commonly associated
When Ozcan first started explor- duced for less than $500 per unit—a with lung, prostate, liver, and breast
ing the idea of a mobile phone-based fraction of the $10,000 to $50,000 that cancers. The device could also allow
microscope in 2006, his team created a traditional high-end microscope users to conduct spectrophotometric
a specialized camera attachment ca- would typically cost. analysis for a variety of purposes includ-
pable of registering a red blood cell— At that price point, the device ing food safety, water quality, and other
about one-tenth the width of a hu- could bring molecular diagnostics— types of environmental analysis.

18 COMM UNICATIO NS O F THE ACM | JA NUA RY 201 8 | VO L . 61 | NO. 1


news

Spectrometers measure the light Milestones


spectrum to gauge the amount and
type of chemicals present in a given At the University Labarta
sample of material. But even today’s of Washington, a Recognized
powerful smartphone cameras were
never intended for this kind of inten- smartphone-based with ACM-IEEE
sive optical analysis. device allows doctors Kennedy Award
“The camera was never designed for
sampling,” says Li. “It was designed for and new parents ACM and IEEE recently named
taking pictures at a distance.” To com- to identify signs Jesús Labarta of the Barcelona
Supercomputing Center and
pensate for the limitations of tiny lens-
es, Li and his team fashioned a special of jaundice, Universitat Politècnica de
Catalunya as the recipient of
prism array capable of dividing incom- an affliction common the 2017 ACM-IEEE CS Ken
Kennedy Award.
ing light into waves for processing.
Most of the technical challenges came to newborn babies. Labarta was recognized
for his seminal contributions
in trying to fabricate the prism array it- to programming models and
self; the software application was com- performance analysis tools for
high performance computing.
paratively easy to develop using stan- Throughout his career,
dard image processing routines. Labarta has developed tools for
In the past, large hospitals would In the U.K., a company called Ox- scientists and engineers working
in parallel programming. In
have expected to pay up to $500,000 ford Nanopore Technologies builds the programming models
for a top-of-the-line spectrometer; a compact devices known as nanopore area, he made fundamental
more basic model might run as little sequencers for genetic analysis; they contributions to the concept
as $10,000. While Li’s device won’t ful- utilize a highly cost-effective approach of asynchronous task-based
models and intelligent runtime
ly supplant those kinds of machines, that allows a single molecule of DNA or systems. In the performance
it could make spectrometer-based RNA to be analyzed via electrical con- tools area, Labarta’s team
analysis available to smaller hospitals ductivity (as opposed to more resource- develops and distributes
Open Source Barcelona
and clinics in rural areas or developing intensive solid-state methods). The Supercomputer Center
countries, thus bringing the technique method makes genetic sequencing tools designed to analyze an
within reach of patients who might more readily available to researchers application’s behavior and
otherwise never have access to this for a wide range of purposes: identify- identify issues that may impact
performance.
kind of diagnostic capability. ing pathogens in food or water, moni- Labarta is director of
At the University of Washington, a toring environmental conditions for the Computer Science
team of doctors and engineers partnered climate science, or even sequencing Department at the Barcelona
to create a smartphone-based device the human genome. Nanopore se- Supercomputing Center and
a professor of Computer
called BiliCam that allows doctors and quencing also holds promise for a wide Architecture at the Universitat
new parents to identify signs of jaundice, range of other scientific applications Politècnica de Catalunya.
a common affliction of newborn babies. including plant research, population From 1996 to 2004 he served
as director of the European
The system consists of an app that genomics, and microbiology. Center of Parallelism of
invokes a standard smartphone cam- In 2014, the company released Min- Barcelona. He has been
era and flash, along with a printed card ION, a nanopore sequencer that weighs involved in research and
used to calibrate color with a range of under 100 grams and plugs into a PC cooperation with many leading
companies on HPC-related
different lighting conditions and skin or laptop via a USB cable. With prices topics. Currently, he is the
tones. By taking a photo of the baby’s starting at $1,000, the device is making leader of the Performance
skin in proximity to the card, a parent genetic sequencing widely available to Optimization and Productivity
EU Center of Excellence, where
or healthcare provider can then use a range of researchers who might not more than 100 users (both
the app to submit the photo to a cloud- otherwise have access to sequencing academic and SMEs) from a
based system that analyzes the data us- technology. It has already been used for very wide range of application
ing machine-learning algorithms, then surveillance of Zika in Brazil and Ebola sectors receive performance
assessments and suggestions
generates a report on the baby’s biliru- in Guinea, and has even found its way for code refactoring efforts.
bin levels that it can send back almost onto the International Space Station. ACM and IEEE co-sponsor
instantly to a parent’s smartphone. Oxford Nanopore is now taking this the Kennedy Award, which was
Beyond image-processing appli- work a step further with its as-yet-unre- established in 2009 to recognize
substantial contributions
cations, the sheer computing power leased SmidgION, a sequencer attach- to programmability and
of smartphones—the Samsung S7 ment that snaps onto a smartphone productivity in computing
handset now boasts far more pro- running specialized software. and significant community
service or mentoring
cessing power than a supercomputer The proliferation of mobile pro- contributions. The Award
from the mid-1990s—opens the door cessing power will not only make carries a $5,000 honorarium
to a wide range of other pocket-sized high-powered scientific instruments endowed by the SC Conference
scientific instruments. more readily available to researchers, Steering Committee.

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 19
news

but should also eventually yield sim- helped drive the growth of personal-
pler diagnostic tools within reach of ized nutrition.”
everyday consumers. Since 2013, For a health-conscious consumer, a
Dr. David Bello of Florida-based Or- Cornell University tool like VitaScan could form one com-
lando Health has developed a smart- ponent of a self-administered health
phone-based stethoscope that retails researchers have and wellness regimen, with the user’s
for less than $50. Using a small sensor been working on smartphone corralling and synthesizing
device that connects to a smartphone input from multiple sources like a diet
via its headphone jack, the system can a portable tool tracker, fitness monitor, or any number
capture a user’s heartbeat and project that analyzes of other information appliances.
a visualization of it onscreen—poten- With so many of these smartphone-
tially offering consumers an easy-to-use blood samples based scientific instruments coming to
tool for monitoring their cardiac health. for nutritional market, we may be witnessing a matu-
Since 2013, a team of researchers at ration of the underlying technologies,
Cornell University have been develop- deficiencies. like processors, optics, and fabrica-
ing a portable tool that analyzes blood tion methods. As is so often the case
samples for nutritional deficiencies, in computing, last year’s innovations
with results sent to a mobile phone become this year’s infrastructure.
in about 10 minutes. The developers, Looking ahead, the next wave of exper-
who have moved the technology to imentation may have less to do with the
global health startup VitaScan, hope can analyze a blood sample collected via instruments themselves and more to do
the device could one day make this a finger prick. The unit then communi- with finding the right pathways to market.
kind of testing available throughout cates wirelessly over the Internet with a “There are still lots of improve-
the developing world. server-based application that can then ments to come to the core technolo-
“This is a severe, global, and fre- transmit results to a user’s smartphone. gies, but the next wave of real innova-
quently overlooked problem,” explains While in principle such a device could tion will come with applications,” says
Li Jiang, VitaScan’s CEO. Testing for connect directly to a smartphone, FDA Ozcan. “Now it’s time to harness the
vitamins and micronutrients poses far regulations preclude putting smart- power of what we’ve achieved.”
more complex diagnostic challenges phones in close contact with biological
than a simple yes/no result (like a preg- fluids for safety reasons.
Further Reading
nancy test). In developing countries, The company is planning to release
limited access to laboratory testing its product initially to doctors’ offices De Greef, L., Goel, M., Seo, M., Larson, E., Stout,
J., Taylor, J., and Patel, S. BiliCam
means nutritional problems too often and clinics, before expanding into the
Using mobile phones to monitor newborn
go undiagnosed. consumer market, where Li sees an op- jaundice. UBICOMP ‘14 Adjunct, Sept. 13 -
“The high cost and difficulty of as- portunity for VitaScan to take its place 17, 2014.
sessing malnutrition has made it such within the larger ecosystem of personal Kühnemund, M., Wei, Q., Darai, E., Wang, Y.,
that most people are not aware of it un- health and nutrition applications. Hernández-Neuta, I., Yang, Z., Tseng, D.,
til they get sick,” he says. “It’s more than just processing Ahlford, A., Mathot, L., Sjöblom, T., Ozcan, A.,
The VitaScan system relies on a power,” he says. “The ubiquity and per- and Nilsson, M.
Targeted DNA sequencing and in situ
small standalone diagnostic unit that sonalized nature of smartphones have
mutation analysis using mobile phone
microscopy. Nature Communications 8,
Article number: 13913 (2017). doi:10.1038/
ncomms13913
Loose, M.
The potential impact of nanopore
sequencing on human genetics. Human
Molecular Genetics, ddx287, doi:10.1093/
hmg/ddx287
Norman, D.
The Invisible Computer. MIT Press,
IMAGE COURTESY OF WASH ING TON STATE UNIVERSIT Y

Cambridge, MA. 1998.


Wang, L., Chang, Y., Sun, R., and Li, L.
A multichannel smartphone optical
biosensor for high-throughput point-of-care
diagnostics. Biosensors and Bioelectronics,
Volume 87, 15 January 2017, pp. 686-692.
doi:10.1016/j.bios.2016.09.021

Alex Wright is a writer and researcher based in Brooklyn, NY.

Elements of Washington State University’s smartphone-based spectrometer. © 2018 ACM 0001-0782/18/1 $15.00

20 COM MUNICATIO NS O F TH E ACM | JA NUA RY 201 8 | VO L . 61 | NO. 1


news

Society | DOI:10.1145/3157077 Marina Krakovsky

The New Jobs


As automation takes on more and more tasks,
what will human workers do?

R
ARELY DOES A day go by with-
out more news predicting
the end of work. After all,
autonomous vehicles are
all but certain to replace
truckers and taxi drivers in the com-
ing decades, and robots have already
taken over many jobs in factories and
warehouses, and will continue to ex-
pand their reach beyond heavy indus-
try as they become smarter and ever
more affordable.
Perhaps most frighteningly, even
professional services no longer seem
safe from the encroachment of in-
creasingly sophisticated artificial in-
telligence (AI). Law firms, for example,
employ electronic-discovery software,
which uses natural language process-
ing to sift through reams of docu-
ments faster and more cheaply than
the entry-level lawyers who used to do
this tedious work. Deep-learning im-
age recognition tools can flag and clas-
sify worrisome tumors in digital scans
as well as, or better than, experienced
radiologists. Websites like Wealth-
front and Betterment, which algorith-
mically optimize investment portfo-
lios, are giving financial advisors a run displaced workers stay unemployed, to the effects of automation in the
for their money. while others must settle for signifi- past, which have followed a pattern
No one doubts that automation is cantly lower-paying work in the retail of initial disruptions followed by a pe-
replacing many jobs, but will advances and service sectors, society pays the riod of adjustment that culminated in
in technology also create plenty of new price in the form of lower consumer long-term gains.
jobs? If so, what kind(s)? spending, higher crime rates, and a A classic example is the Industrial
These questions have taken on new lower tax base. Revolution, the massively disrup-
urgency in the past year, as the star- “Two-thirds of people in this country tive transformation of the economy
tling rise of populism and the elec- don’t have a four-year degree,” points beginning in the 18th century. Indus-
tion of U.S. President Donald J. Trump out Moshe Vardi, senior editor of Com- trialization created decades of prob-
have awakened previously compla- munications and a professor of compu- lems, from changes in job structure
cent white-collar workers to the plight tational engineering at Rice University and skills demanded to horrendous
of the large numbers of Americans who writes and lectures on the impact working conditions for those who did
left behind by automation and other of automation on work. “We have to get the new factory jobs; eventually,
changes in the U.S. economy over the make sure we have an economy that though, industrialized economies
past several decades. creates jobs for them—and not only adjusted, with enormous increases
For example, according to a widely jobs for the people who have a Ph.D. in in prosperity. A major expansion of
IMAGE BY ANTONIO/ISTOCK

reported recent study by economists computer science.” education and the rise of labor unions
Daron Acemoglu and Pascual Re- What kinds of jobs will the tech- made sure that workers shared in
strepo, industrial robots alone have driven economy create? Although no these gains.
eliminated as many as 670,000 U.S. one can peer into the future, experts Similarly, in the first part of the
jobs between 1990 and 2007. As some make educated guesses by looking 20th century, in what’s been called the

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 21
news

second Industrial Revolution, techno- Those countervailing job gains ful because most jobs don’t consist of
logical improvements increased job come from two sources, according just one task. “It’s a variety of skills
turnover but lowered unemployment, to Salomons, who holds her school’s and responsibilities,” points out
according to a study published last year Chair of Applied Econometrics. computer scientist and entrepreneur
in the Review of Economics and Statistics The first is higher incomes, which Jerry Kaplan, who teaches a Stanford
(http://bit.ly/2wv9Jmj). tend to increase consumption of University course on the social and
The big question these days, products and services. Put simply, economic impact of artificial intel-
though, is whether this time will be dif- “we keep buying new stuff, and that ligence. “So the way to think of it is
ferent. Lacking a crystal ball, scholars keeps producing new jobs,” she says. which tasks to automate.”
are again looking to history—analyz- (In Silicon Valley, for example, the It is relatively easy to automate rou-
ing data from recent years, as the rate tremendous growth in the tech sector tine tasks, since these can be codified
of automation has accelerated. has fueled job growth in real estate, in an algorithm; non-routine tasks, on
That is the approach used by econ- the restaurant industry, and personal the other hand, have been resistant
omists like Anna Salomons of the services like massages.) to even the most sophisticated AI, re-
Utrecht University School of Econom- The other source of new jobs from quiring complex capabilities such as
ics and David Autor of the Massachu- automation is what economists call analytical skills, creativity, and com-
setts Institute of Technology, who inter-industry demand linkages. “As passion. The more of a job’s tasks that
analyzed 35 years’ worth of data for one industry becomes more produc- are non-routine, therefore, the more
19 industrialized countries to study tive,” Salomons explains, “other in- technology can serve as a complement,
the relationship between technology- dustries that use that [industry’s prod- rather than a substitute, for the work-
fueled productivity growth and em- ucts] as an input will also demand er—helping them to be more effective,
ployment. Across the board, the re- more, and as a result you’ll also get instead of threatening their livelihood.
searchers found that although em- more labor demand.” That reasoning gives cause for op-
ployment certainly falls in industries Whereas many of us see job titles— timism about the future of work. This
with rising productivity, overall em- factory worker, doctor, engineer— is especially true if you look at it from
ployment actually goes up somewhat. experts on technology’s economic the perspective of AI developers, for
“Job losses are occurring in some impact find it more helpful to think whom augmenting human capabili-
places,” Salomons says, “but they are in terms of tasks as the basic unit of ties makes economic sense, suggests
overcompensated by gains in others.” work. This more granular view is use- Guruduth Banavar, chief technical

Technology

Sharing Secrets (Without Giving Them Away)


Secure multiparty computation and bandwidth. Improving the so it cannot be broken while still distilling useful results
enables two or more parties to runtime of an algorithm by even (assuming certain limits on workflow.
share sensitive information and 15% can be critical. “This is as to how much the parties Cramer and TNO’s Thijs
process it for a common purpose, programming on a knife’s edge,” involved can eavesdrop and Veugen are working with
without giving up privacy. A fairly says Cramer. collude). For more than three Emiliano Mancini at the
simple example is online secret The simplest textbook parties and more than simply University of Amsterdam
balloting, but now, advanced example of secure multiparty counting, the algorithms get to apply secure multiparty
pilot projects in medicine and computing consists of three much more complex, and can computation to the
genetics are starting up. people who want to vote yes/no require many more rounds of improvement of the treatment
Ronald Cramer, (1 or 0) on some topic, without communication. of HIV patients. Every patient’s
cryptographer at the Dutch revealing their individual votes, The pilot project Cramer is virus has different mutations,
Centrum voor Wiskunde en and without a trusted authority working on with Philips Research with different levels of
Informatica (CWI) research to count the votes. This can be and TNO aims to optimize the resistance to various medicines.
center, has received a €2.50 accomplished by having each workflow in Dutch hospitals. By combining data from
million ($2.95 million) grant voter choose three random In this project, every hospital multiple patient databases,
from the European Research numbers. To every other voter, employee and patient, and even much can be learned about
Council to further develop he then sends the sum (modulo the equipment, gets a locator tag, optimizing the treatment for
(among other things) secure some public number N) of reporting its exact position every individual patients.
multiparty computation. He is his vote, plus two of the three few seconds. Safeguarding the privacy of the
now collaborating on several random numbers (a different Analyzing this tracking data patients using secure multiparty
use-cases with electronics giant pair for each receiver). Every voter can reveal bottlenecks in the computation makes it a lot easier
Philips, technical research then adds the numbers he gets workflow, but obviously there for institutes around the world
hub TNO, and the University of from the others, and makes this is a privacy problem. To avoid to share data for joint research
Amsterdam. number public. The sum of these that, the data is split between projects. Observes Veugen,
In real-world applications, three numbers, modulo N, is the two parties: staff data is only “Without secure multiparty
secure multiparty computation number of yes-votes. accessible to the workers council, computation, you could derive
involves large amounts of This kind of privacy while only the hospital has access who slept with whom.”
data and multiple rounds of protection does not depend to patient data. In this way, —Arnout Jaspers is a
communication, making heavy on encryption, but on general secure multiparty computation freelance science writer based in
demands on computer speed properties of random numbers, can protect everybody’s privacy, Leiden, the Netherlands.

22 COMM UNICATIO NS O F THE AC M | JA NUA RY 201 8 | VO L . 61 | NO. 1


news

officer of Viome, a startup that devel- lows you to do that in a simpler way,”
ops AI for wellness using information he explains. “Frameworks are taking
from people’s microbiomes. “The field “The field of AI the hard work that developers prided
of AI is going to take the route of com- is going to take themselves on out of the equation.”
plementing people much more than In other words, programming itself
replicating people,” says Banavar, who the route of has become more automated, poten-
previously headed research and devel- complementing tially opening up job opportunities for
opment for IBM’s Watson. more people within a widening circle
He points out that although hu- people much of employers.
mans (like machines) have both more than Not all experts are sanguine about
strengths and weaknesses, for now the future of jobs, however. “There’s
“unfortunately we are making people replicating people.” a friction in economic systems that
do things that humans are bad at,” economists aren’t thinking about,”
Banavar says. Think of a radiologist says Vardi, referring to the challenges
sitting in a dimly lit room looking at of matching workers to available jobs.
hundreds of images each day, search- Training hundreds of programmers
ing for anomalies. “It’s a boring job, or plumbers, for example, doesn’t
you can be error-prone, and you can mand for managers, teachers, nurses guarantee that the local economy can
get tired.” Machines doing the same and therapists, and doctors and law- absorb that many workers—nor is it
task make fewer errors—without get- yers. These socially demanding jobs simple for people to move to where the
ting bored or tired. A well-trained AI have also seen wage growth during jobs actually are. Just think of Silicon
system, therefore, enables the radi- this period, Deming adds, noting that Valley, which has created so many jobs
ologist to play to uniquely human jobs that require high levels of both outside the tech sector: the Bay Area
strengths, such as the ability to make cognitive and social skills have fared is also, not coincidentally, one of the
a differential diagnosis. particularly well. most expensive places to live. And just
Differential diagnosis, Banavar ex- “Computer programmer” might well because there’s high demand for nurs-
plains, requires the doctor to mentally be one of those cognitive-and-social es doesn’t mean men who’ve lost their
connect images to the patient’s his- jobs of tomorrow, especially as pro- jobs in manufacturing will even want
tory, as well as to textbook knowledge grammers continue to boost their effi- to become nurses, let alone retrain and
and to the latest scientific findings. ciency by working with others--seeking try to get hired.
“You have to connect all those dots to and giving answers on Stack Overflow, “You can argue that this is culture,
make hypotheses about what is pos- for example. Busting the myth of the this is bias, or whatever, but they’re not
sibly going on, and then you have to lone coder will encourage more people moving to those jobs,” Vardi says.
analyze enough observations to decide prepare for tech jobs, believes Caleb
among those possible hypotheses, and Fristoe, the founder of a Tennessee non-
test some of them, then proceed based profit called CodeTN, which partners Further Reading
on what the outcomes of those experi- with Knoxville-area schools to teach ba- Deming, D.
ments are.” sic software development skills to low- The Growing Importance of
The doctor also has to interpret the income students, such as the children Social Skills in the Labor Market,
results for each patient and explain of laid-off factory workers. These days, working paper, May 24, 2017
https://scholar.harvard.edu/files/ddeming/
the patient’s options. “That’s a social Fristoe says, coding doesn’t require ex- files/deming_socialskills_aug16.pdf
skill, and those social skills are ex- traordinary smarts, or getting a job at
Kaplan, J.
tremely complicated for machines to the likes of Google.
Humans Need Not Apply: A Guide to
learn,” Banavar says. Similarly, jobs in Instead, CodeTN’s goal is to pre- Wealth and Work in the Age of Artificial
management require understanding a pare working-class children for gen- Intelligence
complex mix of human and social fac- eralist coding jobs consisting of Yale University Press, 2015
tors. “I think it’s going to be a very long unglamorous tasks like managing a Autor, D. and Salomons, A.
time before we can get machines to do firm’s login page or setting up a cus- Robocalypse Now—Does Productivity
those things,” Banavar says. “For social tomer database—work that requires Growth Threaten Employment? (ECB Sintra
Forum on Central Banking Conference
skills, I think the demand will increase only modest aptitude and little for-
Paper, June 19, 2017)
over time.” mal education. https://www.ecbforum.eu/uploads/
Recent research by Harvard econo- “New frameworks are lowering the originals/2017/speakers/papers/D_
mist David Deming on the growing barrier to entry,” Fristoe says; that’s Autor_A_Salomons_Does_productivity_
importance of social skills in the la- a far cry from the days when you had growth_threaten_employment_Final_
Draft_20170619.pdf
bor market supports Banavar’s pre- to learn the syntax of several pro-
diction. “Between 1980 and 2012, so- gramming languages to build useful
Based in the San Francisco Bay area, Marina Krakovsky
cial skill-intensive occupations grew software. “Rather than typing these is the author of The Middleman Economy: How Brokers,
by 11.8 percentage points as a share of seven lines of code to get a menu to Agents, Dealers, and Everyday Matchmakers Create Value
and Profit (Palgrave Macmillan).
all jobs in the U.S. economy,” Deming pop down, you just download the
writes, pointing to rapid growth in de- framework from a code base that al- © 2018 ACM 0001-0782/18/1 $15.00

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 23
ACM
ON A MISSION TO SOLVE TOMORROW.

Dear Colleague,

Without computing professionals like you, the world might not know the modern
operating system, digital cryptography, or smartphone technology to name an obvious few.

For over 60 years, ACM has helped computing professionals be their most creative, connect
to peers, and see what’s next, and inspired them to advance the profession and make a
positive impact.

We believe in constantly redefining what computing can and should do.

ACM offers the resources, access and tools to invent the future. No one has a larger
global network of professional peers. No one has more exclusive content. No one
presents more forward-looking events. Or confers more prestigious awards. Or provides
a more comprehensive learning center.

Here are just some of the ways ACM Membership will support your professional growth
and keep you informed of emerging trends and technologies:

• Subscription to ACM’s flagship publication Communications of the ACM


• Online books, courses, and videos through the ACM Learning Center
• Discounts on registration fees to ACM Special Interest Group conferences
• Subscription savings on specialty magazines and research journals
• The opportunity to subscribe to the ACM Digital Library, the world’s
largest and most respected computing resource

Joining ACM means you dare to be the best computing professional you can be. It means
you believe in advancing the computing profession as a force for good. And it means
joining your peers in your commitment to solving tomorrow’s challenges.

Sincerely,

Vicki L. Hanson
President
Association for Computing Machinery

Advancing Computing as a Science & Profession


SHAPE THE FUTURE OF COMPUTING.
JOIN ACM TODAY.
ACM is the world’s largest computing society, offering benefits and resources that can advance your career and
enrich your knowledge. We dare to be the best we can be, believing what we do is a force for good, and in joining
together to shape the future of computing.

SELECT ONE MEMBERSHIP OPTION


ACM PROFESSIONAL MEMBERSHIP: ACM STUDENT MEMBERSHIP:
q Professional Membership: $99 USD q Student Membership: $19 USD
q Professional Membership plus q Student Membership plus ACM Digital Library: $42 USD
ACM Digital Library: $198 USD ($99 dues + $99 DL) q Student Membership plus Print CACM Magazine: $42 USD
q ACM Digital Library: $99 USD q Student Membership with ACM Digital Library plus
(must be an ACM member) Print CACM Magazine: $62 USD

q Join ACM-W: ACM-W supports, celebrates, and advocates internationally for the full engagement of women in
computing. Membership in ACM-W is open to all ACM members and is free of charge.
Priority Code: CAPP
Payment Information
Payment must accompany application. If paying by check
or money order, make payable to ACM, Inc., in U.S. dollars
Name or equivalent in foreign currency.

ACM Member # q AMEX q VISA/MasterCard q Check/money order


Mailing Address
Total Amount Due

Credit Card #
City/State/Province
Exp. Date
ZIP/Postal Code/Country
Signature
Email

Return completed application to:


Purposes of ACM ACM General Post Office
ACM is dedicated to: P.O. Box 30777
1) Advancing the art, science, engineering, and New York, NY 10087-0777
application of information technology
Prices include surface delivery charge. Expedited Air
2) Fostering the open interchange of information Service, which is a partial air freight delivery service, is
to serve both professionals and the public available outside North America. Contact ACM for more
3) Promoting the highest professional and information.
ethics standards Satisfaction Guaranteed!

BE CREATIVE. STAY CONNECTED. KEEP INVENTING.

1-800-342-6626 (US & Canada) Hours: 8:30AM - 4:30PM (US EST) acmhelp@acm.org
1-212-626-0500 (Global) Fax: 212-944-1318 acm.org/join/CAPP
V
viewpoints

DOI:10.1145/3163905 Michael A. Cusumano

Technology Strategy
and Management
The Sharing Economy
Meets Reality
Assessing the uncertainties of the business models
driving the sharing economy.

T
HE SHARING ECONOMY seems rooms, household tools, music files or umbrellas. Prime examples here are
big and growing fast. In 2015, movie videos, their own free time and Zipcar, now owned by Avis, and Car2Go,
PricewaterhouseCoopers es- skills, and even their pets. Prominent owned by Daimler-Benz. Asset sharing
timated that, from $15 bil- examples include Airbnb, HomeStay, that is P2P seems new but B2C (busi-
lion in global revenue in Uber, Lyft, Rover, TrustedHousesitters, ness-to-consumer) sharing is another
2014, car and room sharing, crowd- and Taskrabbit (recently purchased by version of the traditional rental busi-
funding, personal services, and video Ikea). In other cases, companies own and ness, and may be substituting for that
and audio streaming would reach $335 lend out the assets, like automobiles, bi- activity. Even Airbnb may not be totally
billion by 2025.1 These numbers extrap- cycles, scooters, or even basketballs and new economic activity, as it substitutes
olate from the growth rates of Uber and for traditional bed-and-breakfast reve-
Airbnb. Are these growth rates sustain- nue or hotel and vacation home rentals.
able and is the economic activity really The confluence Nonetheless, the confluence of in-
new? It is time to ask these questions. formation technology, entrepreneur-
The sharing economy depends on of information ship, and venture capital has led to the
digital platforms that enable people technology, creation of many new ventures, and
who do not know each other to access that is generally good for any economy.
underutilized assets (see my previous entrepreneurship, Smartphone apps, cloud-based servers,
column “How Established Firms Must and venture capital and GPS technology have made various
Compete in the Sharing Economy,” sharing services easy to launch and use.
Communications, Jan. 2015). We often has led to Many apps incorporate social media
associate these ventures with “peer-to- the creation of functions that allow users and provid-
peer” (P2P) technology, like Napster in ers to rate each other, which seems to
the late 1990s. However, the recent esti- many new ventures. increase trust among strangers. Ven-
mates include two very different busi- ture capitalists have fueled growth by
ness models. Sometimes individuals investing billions of dollars, especially
own and share the assets, like extra in room sharing and ride sharing.

26 COM MUNICATIO NS O F TH E AC M | JA NUA RY 201 8 | VO L . 61 | NO. 1


viewpoints

A cab driver mounted a sign over the cab light as part of a strike to protest against Uber in London in February 2016.

Demand is also there, especially in dals and management turmoil also led global. Adding more drivers in San
the U.S. A Time magazine poll published to the replacement of Uber’s founder Francisco adds some benefit to Uber
in January 2016 estimated that 42% of Travis Kalanik as CEO. How can a plat- users, but only when they travel.
Americans had already used a sharing form as popular as Uber be so valuable Second, are limited economies of
economy service, and that 22% had pro- and lose so much money? Here is where scale, apart from network effects. The
vided one. (By contrast, one observer in the promise of the sharing economy new ventures often have huge expenses
2017 estimated that merely 1% of Japa- meets reality. for sales and marketing, and R&D. Le-
nese had used a sharing economy ser- First, are weak network effects (see gal challenges also add costs and de-
vice.5) Most common among U.S. users “The Evolution of Platform Thinking,” press operations. Uber recently lost its
were ride sharing (22%, led by Uber, Communications, January 2010). These license to operate in London, and it
Lyft, and Sidecar), room sharing (19%, are positive feedback loops whereby barely functions in Japan, where driv-
led by Airbnb, VRBO, and Homeaway), each additional user or complementa- ers must have taxi licenses. Airbnb has
and personal services (17%, led by ry product or service should provide an had to negotiate with several cities to
Handy.com, Care.com, and Taskrab- increasing benefit to other platform pay hotel taxes and avoid being shut
bit).7 Younger (ages 16–34) U.S residents users, resulting in geometric or even down. Hotels are fighting back with
were the most common users and pro- exponential growth in value. In Uber’s new services and pricing schemes.
viders, though all ages participated.4 case, the more drivers there are, the Third, is “multi-homing.” Custom-
On the negative side, most sharing- more convenient Uber becomes. The ers can use traditional services or com-
economy ventures seem to be small, more riders Uber attracts, the more peting platforms (their “homes” for
losing money, and surviving on venture drivers are likely to want to work for the activities). There is not much to
capital. Airbnb is an exception. After Uber. More drivers make the service stop an Uber user from also using Lyft,
raising $3.1 billion in venture capital more convenient and should attract Zipcar, Car2Go, or regular taxis.
PHOTO BY CA RL COURT /GETT Y IM AGES

and reaching a valuation of about $30 more users. Complementors are also Fourth, are subsidies. Platforms
billion, it claimed to turn a profit in moving in with third-party apps that bring together users with providers, but
2016. Uber is yet another story. After integrate Uber with other Web sites one “side” of the market is usually more
raising some $10 billion in venture cap- and enhance the riding experience.6 important to attract the other side. The
ital and achieving a recent valuation of However, Uber’s apps ecosystem is platform company must identify and
nearly $70 billion, it lost $2.8 billion in still nascent. And most of Uber’s net- subsidize that all-important side. Airb-
2016 on revenues of $6.5 billion. Scan- work effects are local, not regional or nb must have rooms to rent in order to

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 27
viewpoints

attract renters. Uber must have drivers


roaming about in order to attract riders.
To list a room on Airbnb is free. When a
customer rents a room, that person
then pays the renter through Airbnb,
which takes 6% to 12% from the guest’s
fee plus 3% to 5% from the property
owner.3 By contrast, to attract and keep
drivers, Uber pays an hourly wage in ad-
dition to a commission.2 At the same
time, Uber keeps prices artificially low to

ACM Transactions on Spatial make the service cheaper than taxis or


competitors. Thus, in contrast to Airb-

Algorithms and Systems nb (which charges its two market sides),


Uber subsidizes both of its market
sides—drivers and riders.
Uber is also investing millions of dol-
ACM Transactions on Spatial Algorithms and Systems (TSAS) lars in autonomous vehicle research in
is a new scholarly journal that publishes high-quality the hope that, someday, it can eliminate
drivers. If and when Uber does go driver-
papers on all aspects of spatial algorithms and systems less, it will then have to own or rent a
and closely related disciplines. It has a multi-disciplinary fleet of cars—yet another enormous ex-
pense. The company may hope to drive
perspective spanning a large number of areas where competitors out of business and then
spatial data is manipulated or visualized (regardless of raise prices, but Uber is likely to run out of
how it is specified - i.e., geometrically or textually), such venture capital long before that happens.
Most other sharing economy ven-
as: geography, geographic information systems (GIS), tures are very small in comparison to
geospatial and spatiotemporal databases, spatial and Uber, but many seem to suffer from the
metric indexing, location-based services, web-based same problem—they must spend more
than their revenues on subsidies and
spatial applications, geographic information retrieval marketing to get users and providers.
(GIR), spatial reasoning and mining, securing and privacy, We will know for sure how viable these
ventures are for the long run as more
as well as the related visual time passes and when more of them
computing areas of computer release detailed financial information
graphics, computer vision, solid or simply run out of venture capital and
shut down. Meanwhile, the bigger Uber
modeling, and visualization gets, the more money it loses. Its busi-
where the spatial, geospatial, ness model does not bode well for the
future of the sharing economy.
and spatiotemporal data
is central. References
1. Hawksworth, J. and Vaughan, R. The Sharing
Economy—Sizing the Revenue Opportunity.
PricewaterhouseCoopers, 2014.
The journal is committed to the 2. Huet, E. Uber’s newest tactic: Pay drivers more than
they earn. Forbes.com (July 2, 2014).
timely dissemination of research 3. Mitra, S. Here are the numbers behind Airbnb’s
staggering growth. Inc.com (Feb. 27, 2017); http://bit.
results in the area of spatial ly/2hwu1uf
4. Quinones, A. and Augustine, A. Technology and trust:
algorithms and systems. How the sharing economy is changing consumer
behavior. U.S. Banking Watch (Nov. 19, 2015).
5. Romero, T. What you don’t know about Japan’s sharing
economy. Disrupting Japan Podcast (Aug. 22, 2017).
6. Russell, J. and Lunden, I. Uber plans to turn its app
into a content marketplace during rides. TechCrunch
(Mar. 3, 2017).
7. Steinmetz, K. See how big the gig economy really is.
Time (Jan. 6, 2016).
For further information or to submit your manuscript,
visit tsas.acm.org Michael A. Cusumano (cusumano@mit.edu) is a
professor at the MIT Sloan School of Management and
founding director of the Tokyo Entrepreneurship and
Subscribe at www.acm.org/subscribe Innovation Center at Tokyo University of Science.

Copyright held by author.

28 COMMUNICATIO NS O F TH E ACM | JA NUA RY 201 8 | VO L . 61 | NO. 1


V
viewpoints

DOI:10.1145/3163907 Chris Marsden

Law and Technology


How Law and Computer Science
Can Work Together to Improve
the Information Society
Seeking to remedy bad legislation with good science.

I
N THIS COLUMN, I explore the
various means by which law-
yers can be helped by com-
puter scientists to stop the
(inevitable) collateral dam-
age to innovation when the unstop-
pable force of legislation hits the
irresistible innovation of the Inter-
net.1 I will explore some current con-
troversies (fake news, Net neutrality,
platform regulation) from an interna-
tional perspective. The conclusion is
familiar: lawyers and computer scien-
tists need each other to prevent a di-
sastrous retrenchment toward splin-
tered national-regional intranets. To
avoid that, we need to be intellectu-
ally pragmatic in pursuing what may
be a mutually disagreeable aim: mini-
mal legislative reform to achieve co-
regulation using the most indepen-
dent expert advice. The alternatives
are to allow libertarian advocates to most egregious overreaching by com- Heroic policy interventions by gov-
so enrage politicians that severe over- panies and users. More negatively, the ernment often fail, especially when
regulation results. worst law can do is overlegislate in the aimed at industry self-regulation.
Regulation should first do no interests of monopolies old and new Governments for the last 20 years
harm. That is easy to state, difficult to prevent technological progress (one have spent a great deal of time real-
to achieve, when legislation is the example: a man carrying a red flag in izing how little governments can do
clumsiest version of the engineering front of the first motor vehicles, which effectively in steering toward better
principle of the ‘Birmingham Screw- protected stagecoaches and railways self-regulation by the industry, as well
driver’: to a legislator, every problem from innovative competition).2,a as the unintended consequences of
looks like a new bill will solve it, and badly constructed legal mechanisms.
IMAGE BY ANTON K HRUPIN

worse, to an international lawyer ev- Experts have to continually advise


ery problem looks like a new Conven- a United Kingdom: Locomotives Act 1865 s.3 in favor of independent scientific
(An Act for farther regulating the use of Lo-
tion or Treaty is needed. Yet in reality, comotives on Turnpike and other roads for
evidence gathering and against cor-
all that law can achieve is to enforce Agricultural and other purposes: 28 & 29 Vic. porate and public safety advocates’
against a few bad actors to prevent the Chapter lxxxiii). claims that the sky is falling. The

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 29
viewpoints

time-limited and dynamic ‘truth’ (or the tools of behavioral insight to ex- Regulators of Electronic Communica-
at least second-best solution) has al- plore how to regulate fake news and tions.
ways lain in the expert opinion that social networking: evolutionary eco- How can legislators discuss com-
was not clamoring for attention, but nomics and behavioral neuroscience plex laws when they do not know the
reaching those experts requires pa- tells us how we become addicted to difference between an Internet access
tience and focus on the part of of- social media, yet legislators are only provider (IAP) and an Internet service
ten distracted policymakers. Twenty beginning to consult the experts to provider (ISP)? In European law, an
years ago, it was pornography/Nap- explore how social networking affects access provider (telco) is an ‘Electron-
ster copytheft; now it is more likely our behavior in fundamental ways.6 ic Communications Service Provider’
‘fake news’/‘Net neutrality’/‘platform Social and economic sciences, as well (ECSP), distinct from an Information
regulation’. I will briefly sketch those as computer scientists, and neurosci- Society Service Provider (ISSP). ‘Infor-
three current controversies, as these entist, can help lawyers convince leg- mation Society’ was Europe’s rhetori-
case studies help us see what goes islators not to be silly. cal counterpoint to Al Gore’s ‘Infor-
wrong in law enforcement and how to mation Superhighway.’ Lawyers often
(partially) remedy that bad lawmak- Net Neutrality fail to master these terms.
ing with good science. Net neutrality is a simple term that Minimal rules made sensibly by
describes the complicated reality of technically proficient people are
Fake News highly complex engineering task: how achieving quietly what millions of
‘Fake news’ is the heartfelt cry of to permit sufficient permission-free email messages to regulators and
politicians who feel wronged by the innovation in the network. The over- legislators cannot: conduct rules to
online media. Ad blocking and filter politicized doomsayers on both sides stop telecoms companies blocking
bubbles have made consumers and fail to mention what is becoming legitimate content while giving them
voters harder to reach. Industrial abundantly clear: policy can only par- the latitude to experiment where not
scale behavioral profiling and viral tially steer traffic management prac- harmful to the public Internet. Note
marketing via Twitter bots are a new tices. Net neutrality can do no more that common carriage was a rather
method to so do. The expansion of than prevent large telecoms compa- successful way of delivering pub-
social networking and smartphones nies continuing blocking Skype and lic (alongside private and business)
means that new methods of commu- WhatsApp or throttling back video communications services in previous
nication are necessary, and consum- traffic their subscribers want to see. technologies.
ers-voters are filtering out content Net neutrality cannot stop innova-
they do not like. tion by telecoms companies (whose Platform Regulation
That is not new—it applied to the own corporate histories show a some- Politicians ask: What is the difference
tabloid newspapers methods of ‘yel- what checkered relationship with In- between platforms and networks?
low’ journalism, radio news and tele- ternet protocol network deployment). Journalists confuse their readers by
graph-supplied newswires 100 years Regulators are simply not that com- referring to all those companies as
ago. Unfortunately, the failure to petent, even if they had the resources ISPs—even though access networks
adopt a universal independent public and will to carry out laws to the letter, perform fundamental and entirely
service model then meant the public which they do not. More scientific ex- different functions than social net-
was inflamed by irresponsible media ploration of the limited effects of Net works or search engines. This is the
into a series of wars for the first time neutrality policies would be rather canard thrown into the Net neutrality
made global by the same communi- useful. An example of regulators try- debate by those telcos. If we are regu-
cations means (telegraphs, railways, ing to do this in a non-confronta- lated, they argue, the same should
radio, long-distance reliable air and tional manner is the extensive work also apply to the giant monopolies of
maritime transport) that enabled the produced by the Body of European Google, Apple, Facebook, and Ama-
mass media. Today, the calls for fake zon (known collectively as ‘GAFA’).
news regulation pay no regard to both The very high public profiles of Twit-
historians of technology and legal Heroic policy ter and Snap cause issues, as they are
historians who can advise on public by no means monopolies.
service media. Twitter and Facebook interventions by Google was fined €2.4billion by the
offer parallels to Hearst newspapers government often European Commission in June 2017
and radio broadcasts. for antitrust violations because of the
It is high time for an interdisciplin- fail, especially when links between its search engine and
ary project exploring how to avoid the aimed at industry shopping platform. Google avoided
same disastrous outcomes. Computer an adverse outcome for eight years, a
technology is a tool for the powerful; self-regulation. delay even longer than Microsoft un-
that insight is not new but politicians der European investigation (a com-
are ignoring the previous generations plaint in 1998 resulted in enforce-
of transformative technology and our ment from 2004: Case T-201/04).
attempts to marshal them. More obvi- E-commerce dominated by the
ously, politicians are not fully using GAFA platforms is becoming a major

30 COMM UNICATIO NS O F THE AC M | JA NUA RY 201 8 | VO L . 61 | NO. 1


viewpoints

political issue especially in Europe,


where mass youth unemployment Calendar
Co-regulation is
and a rapidly ageing workforce means
IT skills are in short supply, especially the compromise of Events
in Parliaments. Google- or Uber-spon-
sored promises of untold riches from computer scientists January
autonomous vehicles fall on politi- must live with. January 7–10
cians’ deaf ears: robots do not vote.
GROUP ‘18:
This is a red flag to those advising gov- 2018 ACM Conference
ernments as well as those legislating.2 on Supporting Groupwork,
If platform regulation signals a de- Sanibel Island, FL,
Sponsored: ACM/SIG,
sire to slow down the pace of innova-
Contact: Michael Prilla,
tion by government, what rational an- threat of terrorism and cyber-crime Email: prilla.michael
swer can be sold to government? The to replace self-regulation with direct @googlemail.com
first essential is to prevent platforms and often draconian control. Co-reg-
January 8–13
becoming liable as publishers, by ulation is the best alternative.
POPL ‘18: The 45th
whatever legitimate means necessary. Areas for cooperation between law Annual ACM SIGPLAN
That may mean fines for failure to take and computer science can flourish in Symposium on Principles
down fake content or revenge porn. It co-regulatory institutions, because of Programming Languages,
Los Angeles, CA,
may mean a user ombudsman as sug- the best of them engineer a delibera- Sponsored: ACM/SIG,
gested in new proposed English legis- tive evidence-driven expert-friendly Contact: Ranjit Jhala,
lation. Recruiting more internal con- process.5 It can curb the worst excess- Email: jhala@cs.ucsd.edu
tent checkers at Facebook and Google es of both corporate and government
January 22–25
to remove content may be overdue. control. ASPDAC ‘18: 23rd Asia and
Global platforms need to conform to If lawyers and computer scien- South Pacific Design
European rules on hate speech (for tists cooperate to make these social Automation Conference
instance Nazi content), a legal battle regulation processes work, it is the Jeju, Republic of Korea,
Contact: Youngsoo Shin,
lost by Yahoo! in the French Tribunal best chance to prevent a much worse Email: youngsoo@ee.kaist.ac.kr
de Grand Instance 17 years ago.b system of direct government control
emerging. February
Co-Regulation as a Hybrid Solution
What more can be done? Europe sets References February 21–24
1. Brown, I. and Marsden, C. Regulating Code: Good SIGCSE ‘18: The 49th ACM
the global standards for regulation of Governance and Better Regulation in the Information
Technical Symposium on
content, notably in data protection Age. MIT Press, Cambridge, MA, 2013.
2. Guadamuz A. and Marsden, C. Blockchains not Bitcoin: Computing Science Education,
and hate speech. The decisive power Distributed Ledger Technology. Computers and Law 2, Baltimore, MD,
relationship in European law has 2016; http://www.scl.org/site.aspx?i=ed46568 Sponsored: ACM/SIG,
3. Marsden, C. Internet Co-regulation: European Law, Contact: Tiffany Barnes,
swung to Germany and France. Regu- Regulatory Governance and Legitimacy in Cyberspace.
Email: tiffany.barnes
Cambridge University Press, Cambridge, U.K., 2011.
lation will increase, and Anglo-Amer- 4. Marsden, C. Technology and the law. International @gmail.com
ican companies increasingly recog- Encyclopedia of Digital Communication & Society
Wiley-Blackwell, 2015; DOI: 10.1002/9781118767771. February 24–28
nize that and are embracing a French wbiedcs138 CGO ‘18: 16th Annual IEEE/
term: co-regulation. What that means 5. Marsden, C. et al. Deliverable 4.3: Final Report
ACM International Symposium
on Regulation, Governance, and Standard, 2015.
is diluting government control of the European Internet Science Consortium; http://www. on Code Generation and
Internet by ensuring a compromise internet-science.eu/groups/governance-regulation- Optimization.
and-standards Vösendorf/Vienna, Austria,
based on industry self-regulation, but 6. Pollett, T.V., Roberts, S., and Dunbar, R.I.M. Use of Contact: Jens Knoop,
with oversight by users and by govern- social network sites and instant messaging does not
Email: knoop
lead to increased offline social network size, or to
ment regulators.3 Examples include emotionally closer relationships with offline network @complang.tuwien.ac.at
global Top Level domain name over- members Cyberpsychology, Behavior and Social
Networking 14 (2011), 253–258. February 24–28
sight. Governments have sponsored
PPoPP ‘18: 23nd ACM SIGPLAN
industry standards not only in Europe Chris Marsden (c.marsden@sussex.ac.uk) is Professor of Symposium on Principles and
but globally via hosting and support- Law at the University of Sussex, Brighton, U.K. Practice of Parallel
ing the World Wide Web Consortium Programming,
Vienna, Austria,
with industry. The argument in this column is further explored in the
Co-Sponsored: ACM/SIG,
final chapters of author’s recent book Network Neutrality:
Co-regulation is the compromise From Policy to Law to Regulation. Manchester University Contact: Andreas Krall,
computer scientists must live with. Press, 2017. Email: andi
Totalitarian regimes want to use the @complang.tuwien.ac.at

b Confirmed in Yahoo! Inc. v. La Ligue Contre Le


Racisme et L’antisemitisme. L’Union Des Etudi-
ants Juifs De France, 433 F.3d 1199 (9th Cir.
2006); http://bit.ly/2f8Oi59 Copyright held by author.

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 31
V
viewpoints

DOI:10.1145/3163909 Thomas Haigh

Historical Reflections
Defining American
Greatness: IBM from
Watson to Trump
Reflections on a firm that encapsulated the American Century.

W
E H AVE BE E Nhearing a
lot lately on the topic
of American greatness,
where it went, and how
to reclaim it. But great-
ness is complicated, and our ideas
of what is great and what is not have
changed over time. In this column,
I ask what the history of one mighty
corporation—IBM—can tell us about
the rise and fall of a particular kind of
American greatness.
Decade after decade, IBM has been
one of the world’s largest, most profit-
able, and most admired companies. Of
all American businesses, only General
Electric, Apple, Microsoft, and Exxon-
Mobile have generated more wealth.a
Despite recent troubles, it has been
ranked in the 2010s as the number
one company for leaders (Fortune),
the greenest company (Newsweek), the
second most valuable global brand (In-
terbrand), the second most respected
company (Barron’s) and the fifth most
admired (Fortune). IBM technical con-
tributions to computing are second to
none. Its researchers won six Turing Thomas J. Watson
awards and, more startling, four Nobel
IMAGE COURTESY OF WATSON FOUNDAT ION

prizes. Its engineers produced the first relational database, the first scientific In ways good and bad, IBM has been at
hard disk drive, the first floppy disk supercomputer, the first RISC designs, the forefront of changes in American
drive, the first architecture implement- and the first DRAM chip. business and in America’s relation-
ed over a range of diverse but compat- As recently as 2014, IBM ranked ships with the world.
ible machines, the first widely used ahead of its old adversary Microsoft
high-level programming language, the on Fortune’s lists of the largest U.S. Chasing Greatness
companies (20th place) and of the firms IBM’s roots go back to the Tabulating
a See http://nyti.ms/2wESvrA most admired by managers (16th place). Machine Company, founded by Her-

32 COMMUNICATIO NS O F TH E AC M | JA NUA RY 201 8 | VO L . 61 | NO. 1


viewpoints

man Hollerith in 1896 to quickly tally gave IBM a chance to rebuild its Euro-
data punched onto cards. The initial pean operations on a new model. The
application was the U.S. Census, but Watson was national subsidiaries came under the
punched card systems were also taken savvy politically. firm control of a new group, the IBM
up for statistical applications in busi- World Trade Organization.
ness. In 1911, Hollerith’s firm was European politicians loved ex-
merged with several other producers ports but hated imports. Their ruined
of specialized business equipment economies were short of foreign cur-
to produce CTR, the Computing- rency. Unfortunately, one is not pos-
Tabulating-Recording Company. The tions could advance into technical or sible without the other. In research
“Computing” part referred to weighing management jobs. with Petri Paju, I explored the novel
scales—an interesting example of how Watson was savvy politically. As arrangement IBM came up with to
language evolves over time. Thomas J. other firms withered during the rebuild international trade at a time
Watson took over as manager in 1914. Great Depression of the 1930s, IBM when wartime devastation, shortages
Ten years later CTR was renamed In- bloomed, doubling its revenues from of currency, rampant import tariffs,
ternational Business Machines—less 1935 to 1940. Much business came and strong political opposition to
specific and more ambitious. It grew from the New Deal’s expansion of trade deficits made free trade impos-
rapidly and consistently. government bureaucracy, including sible. (See “IBM Rebuilds Europe” in
Watson was first and foremost a the establishment of the Social Se- the Further Reading section at the
salesman, having learned his trade at curity Administration, which greatly end of this column.)
National Cash Register, which was fa- increased demand for punched card This plan centered on a humble
mous for its innovative sales practices. equipment. When war followed de- product: the electric typewriter. In
He loved public spectacles, gathering pression, IBM supplied the tools to comparison to punched card systems,
crowds at company rallies and picnics coordinate mobilization and diversi- they were affordable and easy to in-
to listen to his speeches. The firm’s fied its production to create special troduce one at a time into a business.
strict dress code approximated a uni- machines for codebreaking and oth- This made them an ideal product for
form: shirts were white, faces hairless. er military applications. Its revenues IBM’s new European subsidiaries to
Workers sang from the company tripled from 1940 to 1945. sell, building trust and relationships
songbook. Its anthem “Ever Onward: with local businesses who might later
IBM Rally Song” promised “We’re big, International Greatness adopt punched card systems or com-
but bigger we will be, we can’t fail, for As chair of the International Chamber puters. IBM avoided the highest tar-
all can see that to serve humanity has of Commerce Watson promoted “World iffs, on finished goods, by setting up
been our aim.” Watson built a com- Peace Through World Trade” during the typewriter assembly plants in its eight
pany with a sense of manifest destiny turbulent 1930s, preaching the benefits major European markets.
and an obsession with greatness. The of free trade. Watson always had global That was practical, if suboptimal,
word “great” appeared at least 45 times ambitions for his firm. The “I,” after but it could never make the thousands
in the 1935 edition of Songs of the IBM, all, stood for International. Greatness of parts needed for an electric type-
which began with “America” and “The meant engaging with the world to pro- writer in a small country like the Neth-
Star Spangled Banner.” The 86 new mote peace and stability, which were erlands. Neither, for political reasons,
songs that followed celebrated every good for business. One of the firm’s could it import all of them. IBM’s in-
aspect of the company. They included less well-known songs, “To Our Great genious solution was to make sure
such gems as “To Our I.B.M. Girls” and I.B.M.,” celebrated the firm’s staff that some pieces of every typewriter
“To W.F. Titus, Assistant to the Presi- “overseas—in the heat of the tropics were manufactured within each coun-
dent, In Charge at Endicott.” and northern cold,” and praised “I.B.M. try, to be traded internally for the oth-
To Watson, greatness meant invest- all glorious—on which the sun never er parts needed. This let its European
ing in workers inside and outside work does set.” Watson loved arriving in far- subsidiaries exchange goods without
hours, to motivate them and see to the flung places to open new subsidiaries creating trade deficits.
threats of labor unrest and unioniza- and be acclaimed by local dignitaries. IBM and the U.S. both deepened
tion. As IBM grew it copied NCR by in- The song called him “our great presi- their engagement with Europe at
troducing what historians have termed dent—king of the business world.” around the same time, and for similar
“welfare capitalism.” Such firms pro- The largest and best-established reasons. IBM devised its interchange
moted themselves as showpieces of foreign markets were in Europe, plan in the early days of the Cold War,
modern labor practices, providing where IBM had a variety of distribu- as the Soviet Union consolidated
benefits programs such as pensions tion agreements, partnerships, and its control over Eastern Europe and
and profit sharing, worker education ownership stakes. When war came, seemed poised to extend its reach fur-
programs (such as art classes), and Watson lost control over most of ther West. A strong supporter of the
sports leagues. It eventually built its these, as its German subsidiary was U.S. Marshall Plan, Watson believed
own country club, and it also built ca- expropriated by the Nazi regime and that restarting the European econo-
reer ladders so that employees starting given control over operations in con- my would sell capitalism to wavering
out in manufacturing or clerical posi- quered countries. The end of the war populations, bolster the position of

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 33
viewpoints

the U.S., and rebuild trust between ect for IBM’s subsequent domination of
IBM staff in formerly hostile nations. the mainframe computer market.
Its public relations effort promoted Greatness meant Still more important to IBM’s
the program in Reader’s Digest as “a taking risks and electronic transformation was SAGE,
small but perhaps significant step a collection of air defense centers
towards a more unified Europe.” In making long-term hooked up to radar stations to direct
recognition of these efforts French investments in fighters to intercept Soviet bombers.
foreign minister Robert Schuman, I often come across fanciful claims
an architect of what became the Eu- new technologies that early computers such as ENIAC
ropean Union, arranged for Watson and platforms. or Colossus filled an entire building
to receive one of his country’s high- (or even a city block). The AN/FSQ-7
est honors, induction as a Grand Of- computers at the heart of SAGE were
ficer of the Legion of Honor. IBM had the only ones that came close. Two full
a vested interest in the stability, eco- installations, clustered redundantly,
nomic openness, and growth of its together filled one entire floor of each
foreign markets, and suffered when, international meeting of IBM’s 100% of the 23 SAGE control centers. SAGE
as in South America during the 1970s, Club for its best salespeople.c tapped the urgent flow of government
these conditions were not met.b money to defense projects, raised
Watson died in 1956, shortly af- Making America Great through marginal income tax rates
ter passing control of IBM to his son, Back in the U.S., IBM’s rise to greatness of up to 91% on wealthy Americans
Thomas Watson Jr. As trade barriers in the emerging computer business like Watson, to push the vacuum-tube
came down and Europe’s economies was underwritten by a charter mem- technology of the day toward capabili-
recovered, the firm’s international bership in what President Eisenhower ties that would never have been viable
operations expanded further. IBM’s called the “military-industrial-academ- for commercial applications. It pio-
post-War decades, like those of the ic complex” of the early Cold War. Its neered computer networks, real time
U.S. itself, were shaped both by the first commercial computer model, the operation, and graphical displays.
unifying tensions of the Cold War and IBM 701, was branded the “defense cal- Although SAGE itself targeted
the opportunities offered by a world in culator.” Most went to atomic labs and bombers rather than missiles, and so
which major economies were recover- aerospace engineering firms working was strategically outmoded before it
ing from devastation quickly enough on government projects. Government was fully deployed, it remained opera-
to bolster its revenues but not yet to officials managed the delivery queue, tional into the 1980s. Its true legacy
threaten its dominance. ranking customers by their contribu- was technological. While IBM’s main-
IBM found ways to position its na- tion to national security. stream business evolved gradually
tional subsidiaries as contributing In the late 1950s IBM had the same from punched cards to small com-
both to the greatness of their host markets in mind when developing puters, its defense projects jumped
countries and to its own greatness as STRETCH, arguably the first supercom- straight into the future. America’s
an increasingly global business. Many puter. STRETCH introduced new semi- Cold War strategy of containing Sovi-
subsidiaries developed design and re- conductor packaging, new architectural et expansion without fighting a large-
search capabilities as well as manu- features such as pipelining and memory scale war required clear superiority
facturing, sales, and support. They protection, and new capabilities such as in military technology and industrial
were staffed and managed primarily multitasking. A modified STRETCH was productivity. The technologies that
by local employees, giving them dual the core of the government’s HARVEST IBM and its industrial and academic
status as locally rooted firms as well as system for message decryption and key- partners, such as MIT and the System
agents of American economic power. word searching, the ancestor of today’s Development Corporation, developed
Staff interacted at different levels. In NSA data mining efforts. When first test- for SAGE and STRETCH helped to pre-
IBM Finland, where our research has ed in 1961 STRETCH ran 30 times faster serve those advantages.
focused, staff interacted mostly with than IBM’s previous flagship system,
Finnish customers and colleagues. a leap forward that would be unthink- Taking a Great Risk
For training courses they worked with able today. But unfortunately IBM had Greatness meant taking risks and mak-
other Nordic people at the regional promised pre-launch customers that ing massive long-term investments in
training center in Sweden. Senior or STRETCH would be at least 60 times new technologies and platforms. Dur-
fast-tracked staff might travel further, faster, and priced it accordingly. It was ing the 1960s IBM, home of the dark
to attend meetings at IBM’s European immediately pulled from the market, suit and starched collar, made a gam-
headquarters in Paris, for a temporary but in the decades since historians have ble on a scale that would appall today’s
assignment at a research facility in highlighted the importance of the new hoodie-clad, thrill seeking, Silicon Val-
another country, or to attend a lavish technologies developed during the proj- ley executives. While today’s tech com-
panies like to boast about their “moon-
b Medina, E. Big Blue in the bottomless pit: The c Paju, P. and Haigh, T. IBM’s tiny peripheral: Fin-
shot” projects, firms such as Alphabet,
early years of IBM Chile. IEEE Annals of the His- land and the tensions of transnationality. To be Facebook, and Oracle derive the vast
tory of Computing 30, 4 (Apr. 2008), 26–41. published in Business History Review, 2018. majority of their revenues from a hand-

34 COMMUNICATIO NS O F TH E ACM | JA NUA RY 201 8 | VO L . 61 | NO. 1


viewpoints

ful of products and services that domi- of machines. For example, smaller received a unified and stylish indus-
nate their respective niches. Backward machines implemented in micro- trial design language, but also to doc-
compatibility is more important than code instructions that were handled umentation, public exhibits, and ar-
innovation, as Microsoft showed when directly in hardware by the larger chitecture. IBM hired Charles and Ray
turning Windows and Office products ones. From smallest to largest, the Eames, probably best remembered to-
into lucrative monopolies. Most tech first wave of System/360 machines day for their iconic chairs, to produce
firms develop a platform as startups differed by a factor of 500 in memory one of the earliest exhibits on the his-
and grow it steadily over many years, capacity and a factor of approximately tory of computing. Its landmark build-
defending it against threats from up- 20 in processor performance. ings, which hoisted the firm’s logo like
start competitors. The machines were all supposed to a flag in the leading cities of the free
By the 1970s IBM held a similarly run a single operating system, with the world, were designed by star architects
dominant position in the business- bigger ones loading more modules and such as Mies van der Rohe.
oriented mainframe market, but only turning on more features. That part of IBM’s greatness also rested on its
because it launched a massive re- the plan didn’t work out so well. Fred commitment to science. For its re-
search and development effort during Brooks’ classic study of the problems search headquarters, in Yorktown
the early 1960s. In April 1964 when of OS/360, The Mythical Man Month, Heights, IBM turned to industrial ar-
IBM introduced its System/360 range was a founding text of software engi- chitect Eero Saarinen, responsible for
it rendered its entire installed prod- neering and helped win him an ACM such futuristically iconic structures
uct base obsolete. Two years earlier A.M. Turing Award. as the Gateway Arch in St. Louis and
IBM had reportedly budgeted $5 bil- Despite these problems, IBM’s the TWA terminal at JFK airport. The
lion to develop the new range, twice gamble paid off magnificently. IBM’s lab curves in an oval shape, glowing
its entire annual revenue. According core platform evolved through count- in the dark like a flying saucer. Into
to Watson Jr. the actual costs were so less new models over the next 50 years, the 1950s IBM retained a hands-on,
high that in 1965 the firm unexpected- though the 370, 380, and 390 ranges product-centered engineering cul-
ly found itself just “a few weeks” from and on to today’s System z machines. ture, long after Bell Labs and General
needing “emergency loans to meet the These never dropped backward com- Electric hired scientists and built up
payroll.” (See “Father, Son & Co” in the patibility with the 360 range and IBM centralized research and develop-
Further Reading section.) never lost its dominance of the main- ment centers. By the 1960s, however,
Before this IBM offered several frame market. Its most direct competi- its international network of research
incompatible ranges of computers tors of the 1960s, including General facilities set the standard for cor-
for different markets and sizes of Electric, which was still a much larger porate commitment to research. Its
company. Customers increasingly ex- firm, were unwilling to match this in- researchers, envisioned by Saarinen
pected to receive bundled with their vestment. Most exited the computer as “tweedy pipe-smoking men,” en-
machines an extensive collection of business over the next decade. IBM was joyed the enviable conjunction of
systems software packages, such as dominant at home and abroad. university-like research facilities with
programming languages and operat- IBM’s generous pay and benefits and
ing systems. The cost of developing Supporting Great Design freedom from teaching duties. The
these tools across so many different For Watson Jr., greatness included a firm’s Nobel prizes came from basic
platforms was rising. Incompatibil- commitment to elegance in design and research into fields such as supercon-
ity also threatened customer loyalty. the finest in modern architecture. An ductivity and electron microscopy.
Computers became obsolete every IBM System 360 featured prominently IBM’s willingness to fund basic sci-
few years, but successful application in the recent TV show Mad Men, where ence reflected the many possibilities
programs could evolve over decades its stylish complexity symbolized the for payback across the huge range of
of use. Any computer upgrade that rise of analytic approaches to advertis- products it developed and manufac-
required customers to recode their ing. Today the clean, confident design tured, from semiconductors and core
applications was a chance for IBM’s aesthetic of the 1950s and early 1960s memories to disk drives, keyboards,
competitors to steal an account away, is more popular than ever. Period hous- punched cards, printers, and dictat-
particularly as the newly introduced es, furniture, and consumer products ing machines.
COBOL language was intended to sell for a premium. No company did
let users move applications between more to popularize that aesthetic and Threats to Greatness
computers from different vendors. bring it into the American mainstream The most successful computing firms
It was this project that introduced than IBM. of the 1970s and early-1980s targeted
the phrase “computer architecture,” As documented by John Harwood niche markets where IBM’s core ar-
to describe design features at a more in his book The Interface: IBM and the chitecture did not compete well. DEC
abstract level than their implemen- Transformation of Corporate Design, established a huge new market for
tation in a specific computer model. 1945–1976, IBM’s design chief, Eliot minicomputers, SDC and Cray target-
System/360 imposed a common ma- Noyes, assembled one of the most in- ed supercomputers, while Wang built
chine instruction set, word length, fluential teams in history. Their skills a thriving business around word pro-
character set, and peripheral inter- were applied not only to the firm’s cessing and office automation. IBM
face over an industry-spanning range computers and office products, which offered credible projects in most of

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 35
viewpoints

these areas, but it came to them after ing facilities around the world, such ing its organizational structures as
other firms were already established. as a plant in Greenock, Scotland that carefully as its products. IBM tend-
Because it had to cover its heavy over- once employed 13,000 people. Total ed to be a reasonably early and very
heads for things like research and IBM employment has fluctuated in thorough adopter of organizational
management, to procure parts from recent years around 390,000, simi- innovations rather than a pioneer. It
its own factories, and to avoid threat- lar to its 1992 peak, but today many turned to management committees
ening the products of other divisions more of these people are believed and strong divisional structures only
its smaller machines tended to be to work in India than in the U.S.e (In after the death of Watson Sr. As it
less powerful or more expensive than 2010, IBM stopped releasing counts modernized, IBM embraced both cor-
those of competitors. Even new tech- of its employees by country). IBM is porate philanthropy and, following
nologies developed within IBM, such no longer a predominantly American the racial tensions of the late-1960s
as RISC processor architectures and firm, or a clear leader in its central ar- and the women’s liberation move-
floppy disks, were deployed more eas of business. It has retreated from ment, the idea that corporations
aggressively by its competitors. Its its old commitments. If today’s IBM should be committed to gender and
strengths in build quality, sales, and seems less monumental, less public- racial diversity in their hiring and
support could sometimes offset these spirited, less consequential than the promotion practices. Its adoption
disadvantages. “Big Blue” of old, we should look not of benefits programs, research labs,
The booming market for personal so much to the firm itself as to the and industrial design followed a sim-
computers posed a particular chal- evolution of global capitalism since ilar trajectory, as did its more recent
lenge to IBM. These machines were the 1980s. embrace of fashionable green and ur-
much cheaper than traditional com- In 1993, IBM declared what was at ban initiatives. To keep its place as a
puters, had shortened design and that point the largest annual loss of model of modern capitalism IBM has
production cycles, and were often any company in history: $5 billion. Its consistently adopted ideas just as
purchased by individuals or depart- new manager, Louis Gerstner, faced they enter the corporate mainstream.
ments rather than by corporate in- calls to break up the company and sell If anything IBM was a little late to
formation systems departments. In off the parts. Instead, he began a proc- the 1980s shareholder revolution,
1981 IBM startled the world with its ess of strategic reorientation away now associated more than anything
5150 Personal Computer. Like com- from mass-market hardware and to- else with the phrase “greed is good,”
peting models, but unlike other IBM ward software and business services. that stressed the idea that companies
products, it was designed quickly by a Gerstner’s initial cull of 60,000 jobs, exist to maximize shareholder value,
small team using standard parts. The which to this day remains corporate and that this outweighs responsibili-
IBM PC set a standard for personal America’s largest single layoff an- ties to employees, communities, or
computers that quickly dominated nouncement ever made, signaled the social causes. But as with its earlier
the market, and, as I explained in arrival of a new IBM culture in which shifts, IBM embraced the emerging
an earlier column, gradually evolved the firm no longer made a lifetime orthodoxy with a vengeance. This has
into the platform that dominates commitment to its employees. To sur- meant shifting out of lower margin
desktop, laptop, server, and super- vive, IBM was going to have to move businesses. As troubles first mounted,
computer markets today.d on from the legacy of the Watsons and IBM sold off its printer business in
In the longer run, however, IBM find a new definition of greatness. 1991 to create Lexmark. The process
was ill equipped to compete in the new Turning around IBM was seen, with continued even after IBM returned to
market it had defined. IBM’s efforts some justification, as a managerial financial health. In 2003, it sold its
to fight the producers of “clone” ma- triumph. Monumental tech corpora- hard disk drive business to Hitachi,
chines by shifting the market to a new, tions crumble quickly to sand. Few in 2005 the iconic ThinkPad laptop
proprietary, standard, the PS/2 range, have faced a serious crisis and recov- brand went to Lenovo, followed in
failed miserably. In the early 1990s IBM ered. After stumbling, once-dominant 2014 by its low-end server business. Its
still produced solid personal comput- firms such as Wang, Data General, point-of-sale business sold to Toshiba
ers, and enjoyed great success with its Palm, DEC, Digital Research, Novell, in 2012, and its semiconductor manu-
business-oriented ThinkPad laptops, Word Perfect, Lotus, and Compaq were facturing business was acquired by
but faced a fiercely contested market quickly acquired and assimilated by GlobalFoundries in 2015.
in which it had no inherent competi- more successful competitors. Most The new definition of greatness was
tive advantages. recently, the remains of Yahoo were crystalized by CEO Sam Palmisano in
acquired by Verizon, to be combined 2010 when he promised investors that
Redefining Greatness with the wreckage of AOL. Verizon is IBM’s earnings per share would double
IBM’s old factories in Endicott, its for- jettisoning the names, calculating that from 2010 to 2015. IBM attempted to
mer headquarters, now lie in ruins. their brand history has a negative value. maximize this metric by slashing costs,
So do many of its other manufactur- Like newer tech firms such as such as employees and investment in
Google, IBM deliberately fostered a new technology, and by using funds
d Haigh, T. The IBM PC: From beige box to in-
distinctive corporate culture, shap- from selling off chunks of the company
dustry standard. Commun. ACM 55, 1 (Jan. to repurchase shares. These steps hurt
2012), 35–37. e See http://nyti.ms/2xMsmWT IBM’s position in new battlegrounds

36 COMM UNICATIO NS O F THE ACM | JA NUA RY 201 8 | VO L . 61 | NO. 1


viewpoints

such as cloud computing. Despite re- would foster peace and prosperity
cent efforts to change course, IBM’s was vindicated by the expansion of
revenues have now fallen for 22 suc- Turning around the European Union in the 1990s. I
cessive quarters. IBM has attempted to IBM was seen, suspect that Watson shared the opin-
shrink its way back into to greatness. ion expressed to Congress in 1953 by
with some Charles Wilson, another politically
Watson and Trump justification, engaged business leader, that “what
IBM sold its landmark building on the was good for our country was good
Chicago River to a private equity group. as a managerial for General Motors, and vice versa.”
Its giant logo has been taken down, but triumph. Watson was sure that what was good
a massive TRUMP emblem now glows for IBM was good for the U.S., but also
on the skyscraper next door. This seems good for the broader causes of global
somehow appropriate, as if the retreat prosperity and liberal democracy.
of IBM from its mid-century version of That blinkered and self-interested
American greatness opened the door faith in corporate virtue crumbled
to the rise of a rather different sense self. Watson’s early forays abroad were long ago. Recently, I have been feel-
of America’s place in the world. Global as much about the joy of planting his ing more fond of vain, pompous old
capitalism, driven above all by finan- flag in another country as about ratio- Thomas Watson Sr., and the empire
cial metrics, has withdrawn its implicit nal economics, to the extent that dur- he created, than I ever thought pos-
long-term commitments to workers ing the 1930s many subsidiaries were sible. To quote a short poem by Leon-
and nations. The American public has branded as Watson companies rather ard Cohen, who died the day before
lost faith in big business, free trade, than IBM. Trump remade himself as Trump was elected, “oh, and one
and international engagement. Trump an international brand to be licensed more thing/you aren’t going to like/
promised to make America great again to property developers and other busi- what comes after America.”
by building walls, stepping back from nesses after his attempts in the 1980s
its commitment to the defense of NATO to build a more conventional business
Further Reading
allies, and tearing up trade deals. empire collapsed under mountains of
From this viewpoint, Thomas Wat- debt and multiple bankruptcies. Long Watson, T., Jr, and Petre, P.
Father, Son & Co: My Life at IBM and Beyond.
son Sr. and Donald Trump are the before IBM grew into a top-tier cor-
Bantam, NY, 1990. One of a handful of truly
bookends of the “American Century.” poration Watson had made himself a excellent business memoirs, this covers
That phrase was promoted during household name and secured one of Watson Jr.’s impressions of his father as
the war in anticipation of a post-war the country’s biggest compensation well as his own work as leader of IBM.
world in which the U.S. maintained a packages. Trump’s gift for publicity Maney, K.
stable, rules-based international or- and role as a reality television star gave The Maverick and His Machine: Thomas
der wherein its allies and businesses him a public profile incomparably Watson, Sr. and the Making of IBM. Wiley,
NY, 2003. Biography of the elder Watson,
both prospered. higher than those of developers with
focused on his difficult personality and role
The odd thing is that as individuals far larger empires (spot quiz: name as the “first celebrity CEO.”
they have a lot in common. Both ran the heads of Vornado Realty Trust and
Usselman, S.
family businesses shaped in their own The Related Companies.) IBM and its Imitators: Organizational
images. Watson Sr. was remembered, The fact that, despite these shared Capabilities and the Emergence of the
even by his own son, as a difficult, traits, Watson and Trump held such International Computer Industry. Business
changeable, and emotionally distant diverging ideas of how to make History Review 22, 1 (Jan. 1993), 1–35.
man. Like Trump, he fed on the en- An award-winning analysis of IBM’s early
America great points to some much
involvement in computers.
ergy of crowds, and preferred rallies deeper shifts in politics and capital-
to committee meetings. Both worked ism. Watson’s vision of American-led Pugh, E.W.
Memories That Shaped an Industry:
through personal relationships rather global prosperity was always easy to Decision Leading to IBM System/360. MIT
than organizational structures. Both criticize, particularly from those he Press, Cambridge, MA, 1984.
were teetotal workaholics who, as hoped to lead, but compared to the al-
Pugh, E.W.
businessmen, coveted access to poli- ternatives it had a lot to recommend Building IBM: Shaping an Industry and its
ticians from both parties. Trump has it. IBM’s post-War European invest- Technologies. MIT Press, Cambridge, MA,
changed his party registration at least ments served the firm’s interests, and 1994. An insider analysis of the firm.
five times. Watson was driven more by those of the U.S., but they only paid Paju, P., and Haigh, T.
an admiration for power than any ide- off many years later once tariffs and IBM rebuilds Europe: The curious case of
ological convictions as his allegiances capital controls were lifted and cus- the transnational typewriter. Enterprise &
Society 17, 2 (Feb. 2016), 265–300.
shifted smoothly from boosting Roo- tomers were able to afford more ex-
sevelt’s New Deal to launching Eisen- pensive punched card and computer
Thomas Haigh (thaigh@computer.org) is an associate
hower’s political career. Time maga- systems. Watson was firmly commit- professor of history at the University of Wisconsin—
zine remembered Watson, accurately, ted to the dismantling of trade barri- Milwaukee and Comenius Visiting Professor at Siegen
University. Learn more at http://www.tomandmaria.com/tom.
as the greatest salesman of his age, but ers, and his belief that extending sup-
his greatest product was always him- ply chains across national borders Copyright held by author.

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 37
V
viewpoints

DOI:10.1145/3163910 Henry C. Lucas, Jr.

Viewpoint
Technology and
the Failure of
the University
Considering the double-edged sword of learning
technologies in various academic settings.

T
that
H E RE A RE P R E D I CTION S
half of U.S. universities will
fail in the next 15 years.a
Will technology be respon-
sible for some or all of these
failures, or does technology have the
potential to save the American univer-
sity? The purpose of this Viewpoint is
to examine the dual role of technology
in the future of higher education. It ar-
gues that technology-enhanced teach-
ing and learning can dramatically im-
prove the quality and success of higher
education, but learning technologies
alone will not save the university. How-
ever, universities that lack the leader-
ship, motivation and the resources to
innovate with technology are good can-
didates for failure.
Technology is a double-edged
sword. Schools that embrace tech-
nology and use it to improve the edu-
cational process are in a much bet-
ter position than those that do not.
Success requires the commitment of
the administration, faculty, staff and
students and it requires substantial programs. The most vulnerable insti- Technology-Enhanced
resources invested in the technology. tutions are small, private colleges with Teaching and Learning
Schools that lack the will and the re- low enrollments, heavy reliance on tu- The rapid adoption of new teaching
sources are the ones most likely to ition income, and that are well known technologies in universities has hap-
fail. Students are going to expect the only within a 200-hundred-mile radius pened concomitantly with an empha-
IMAGE BY CHA RLES KNOWLES

variety, flexibility, and richness that of their campus. They are unlikely to sis in education circles on active as op-
learning technologies bring to their be able to afford to invest in the peo- posed to passive learning. Fortunately,
ple and skills to infuse their programs the two trends reinforce each other;
a See http://bit.ly/2zVvLE1 and with technology-enhanced teaching new technology-based approaches to
http://bit.ly/P1JuxO and learning. education can be used to encourage

38 COM MUNICATIO NS O F TH E AC M | JA NUA RY 201 8 | VO L . 61 | NO. 1


viewpoints

active learning. Active learning means Figure 1. Traditional versus technology-enhanced courses.
that students are heavily involved in
their own education as opposed to
Production of Asynchronous Materials
passively sitting through a lecture. Instructor using PC Instructional Studio and Professional
Discussing a case study, working on a Designers post production (Hollywood)
simulation, playing a game, breaking a
class into teams to work on a problem
Delivery of Online Instruction
are all examples of active learning.
No live instructor TAs and Synchronous
Learning technology can be divided interaction Discussion Video class
into synchronous and asynchronous Boards
components. Asynchronous refers to
course materials and exercises that Quality
students access at a time and place of Low High
their own choosing while synchronous
interaction means that some num-
Costs
ber of students and an instructor are Low High
interacting at the same time, usually
through video conferencing system of
some kind. Frequently, students ac-
cess asynchronous material like read- Figure 2. Cost-quality trade-offs.
ings, videos, simulations, and games
through a learning management sys- MOOCs
tem like Blackboard or Canvas.
Figure 1 depicts several different
Traditional Blended Online
types of courses; online, blended and
MOOCs all make use of teaching and
learning technologies. The traditional
course before the availability of the
technology described here featured a all of the course occurs asynchronously from a few students to hundreds of
physical classroom with an instructor without direct interaction with an in- thousands with virtually no incremen-
and students. Typically, the instructor structor. MOOCs utilize videos viewed tal costs. In this new world of learning
lectured and encouraged discussion by students at their convenience. The technologies there are schools that are
depending on the size of the class. major MOOC platforms provide the content producers and those that are
Course materials came in the form of ability for students to submit home- content consumers. (Of course, the
textbooks and reading packets in hard work some of which is graded automat- producers also consume content as
copy. The first online courses were ically and some by peers. But MOOCs well.) The content producer in general
mostly asynchronous with interaction really are massive, with thousands of bears the full cost of developing tech-
between the instructor and students “learners” taking the courses, mostly nology-enhanced teaching and learn-
occurring through email and discus- for fun or for an inexpensive certifi- ing materials and systems.
sion boards. With the advent of reliable cate for passing the course. Recently The technology offers different op-
video conferencing software and fast Coursera, the largest MOOC provider, tions for creating content at different
Internet connections, it is possible to has offered specializations by combin- price points. An instructor might make
have synchronous online classes where ing four courses or more in a particular 10–20 videos that replace lectures
the instructor and students interact in area. A small number of colleges are and post them to a learning manage-
real time on a computer or mobile de- using MOOCs to offer courses for cred- ment system. This instructor will also
vice. A blended course features physi- it including Georgia Tech with an MS “curate” material from the Internet,
cal interaction between the instructor in computer science for under $7,000 adding YouTube videos and TED talks
and students with course materials, and the University of Illinois with an for example to her lectures. Some fac-
including lectures, available asynchro- MBA for about $20,000. Students who ulty will create the lectures using a PC
nously for the student to access at her want to take the MOOC-based degree with a touchscreen and pen, a Web
convenience. A blended course stress- programs have to apply to the universi- cam, and video capture and editing
es active learning when the instructor ties and be accepted so that the schools software. Other faculty less comfort-
relegates all lectures to videos and uses can control the input and size of these able with the technology will want to
the physical class meeting for interac- specialized programs. have a script and record the video in
tion among and with students, for ex- a studio; it takes considerable time to
ample, discussing current issues, case How Much Does All of This Cost? create a script and to undertake post-
studies, student presentations on a Some have suggested that the technol- production of the video. The Smith
course topic and similar activities. ogy will make it possible to dramati- School of Business, which has a num-
A massive open online course is a cally reduce the cost of college through ber of blended courses, a MOOC and a
different animal altogether; virtually innovations like MOOCs, which scale completely online MBA program (with

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 39
viewpoints

two residence periods) as of this writ- for MOOCs for programs like these affect their employment status.
ing has seven instructional designers can be fully amortized as the number The second major threat to adopt-
and an audiovisual studio with a staff of students scales up well beyond what ing the technology is the resources
of three; five years ago none of these a physical campus program could ac- required. A colleague at a small, but
positions existed. commodate. Will the MOOC-based de- well-known private college lamented
What about a MOOC? The first gree become the future of higher edu- that his school did not have nearly
MOOCs were prepared with a faculty cation? If so, a large number of schools enough resources to even consider
member using a computer, but as with that do not have the resources to offer becoming a content producer or
other developments, competition has these degrees will surely fail. adopting new teaching and learning
driven the adoption of more costly pro- technology. Large public and well-
duction processes. Udacity, one of the Threats to Technology endowed private schools can afford to
MOOC platforms, supposedly budgets There are four major threats to the experiment with technology and ped-
$200,000 for each of its courses, and adoption of technology to enhance agogy where schools that are on the
EdX, the other of the “big three” plat- teaching and learning. The first of edge financially and highly dependent
forms charges $250,000 to produce a these and the most prominent is uni- on tuition revenue do not have the re-
MOOC.b (It should be noted that many versity faculty, many of whom oppose sources needed to develop content or
MOOCs are created for far less.) changing the system that has been in infrastructure.
Given potentially high investment place for hundreds of years. The re- The third threat to adoption comes
costs, can the technology reduce the ward system in most schools and the from university administration; to
overall cost of college? One cannot inherent conservatism of faculty mem- overcome faculty resistance and to
talk about reducing the cost of educa- bers in my experience create a huge allocate resources to a new venture
tion, and hence the price of education barrier to adopting new technologies requires vision and leadership. Uni-
for students and their families, with for education. versities embrace bureaucracy as the
learning technologies without talking Assistant professors at research uni- natural way to organize and operate.
about quality at the same time. Figure versities are rewarded for publishing Large staffs strive to grow larger still;
2 illustrates the cost and quality trade- scholarly articles and books, which they an AAUP analysis based on the IPEDS
offs in the production and delivery of must do to be granted tenure. Learning database showed that from 1975 to
technology-enhanced courses. Qual- and adopting new technologies takes 2011 professional staff grew at 16 times
ity is a subjective measure of the cov- time and is a huge risk for them. the growth of tenured and tenure track
erage, content, assignments, readings Tenured faculty can largely do faculty. These large staffs treasure the
and student and peer evaluation of a what they want, and they by the time status quo, making change very dif-
course. On the production side the of receiving tenure have fallen into a ficult to bring about in the university.
least cost option is for the instructor rhythm of research and teaching; once Deans, department chairs and other
to create the course using a PC with tenured they are expected to undertake academic administrators are pulled in
limited editing; this approach is also more service to the school. What is the many different directions and it can be
likely to produce the least compelling motivation to adopt a completely new hard to influence highly independent
asynchronous material. At the high approach to teaching? faculty to innovate.
end of the quality spectrum as well as Non-tenure track instructors are Faculty governance is the fourth
the high cost side, the instructor cre- employed because they are good or issue inhibiting progress; it exacer-
ates and edits a script, records a vid- at least adequate teachers. Adopting bates the difficulties for academic
eo in a studio, and a post-production new technology in the classroom is leadership and faculty adoption. The
staff integrates illustrations with the risky and could result in lower stu- Smith School’s very successful on-
video recording. The same trade-off in dent evaluations, which in turn could line MBA program was implemented
cost and quality exists for the delivery without a faculty vote, a fact that still
of courses; an online course can be disturbs many faculty members. A
completely asynchronous with little In this new world of fearless dean decided that the on-
or no interaction between students line program was not a change in the
and an instructor, or the course can learning technologies curriculum, which requires a faculty
feature interactive video classes held there are schools vote, but rather a change in format
frequently during the time the course that does not. It is unlikely the pro-
is running. that are content gram would have survived a faculty
The MOOC-based course for credit producers and those vote. Why is that? When you ask the
has the potential to make dramatic people who are most resistant to
changes in the cost of education as that are content change to vote on change, the out-
the two existing examples of Georgia consumers. come is fairly predictable. As long
Tech and Illinois illustrate. There is no as faculty governance procedures in
question that the development costs universities require resisters to vote
on change, moving ahead with tech-
b See http://bit.ly/2AiXKyx and nology-enhanced teaching and learn-
http://bit.ly/2A2nhco ing is going to take very special lead-

40 COM MUNICATIO NS O F TH E ACM | JA NUA RY 201 8 | VO L . 61 | NO. 1


viewpoints

The biggest threat is to less well- of schools—the private elite and state
known schools with a local reputa- flagship universities, the small region-
The biggest threat tion lacking much of an endowment als private or public school, and the
is to less well and a base of wealthy alumni. These start-up. A number of recommenda-
schools are often private and tend to tions for these three groups may be
known schools with have few resources and few, if any, star found in Lucas1 Exhibit 13-3. Sug-
a local reputation faculty. They do not have the resourc- gested strategies for group 2, the most
es to innovate and will always have to threatened, include:
lacking much of an consume what others produce. With ˲˲ Building a brand in a niche like

endowment and tuition probably higher than the state global study experiences
˲˲ Creating and joining a network of
flagship university and fewer resourc-
a base of wealthy es, what is their value proposition? peer institutions
alumni. They need to develop a niche whether ˲˲ Combining resources on campus
in a particular group of subjects, study and with peers to create technology-
abroad programs, work-study options enhanced courses.
or stress the benefits of a small cam- ˲˲ Purchasing content from others
pus. Even that may not be enough if ˲˲ Developing very high quality in a
their enrollments drop. few programs
ers who can make a compelling case ˲˲ Considering the elimination of
for change. Is Technology the Answer? most research to focus on teaching
Schools that do not overcome these Earlier, technology was presented as a ˲˲ Increasing teaching loads
obstacles to the adoption of learning double-edged sword, and the preced- ˲˲ Reducing staff and overhead
technologies dramatically increase the ing examples show how difficult it is ˲˲ Sharing facilities such as comput-
probability that they will fail in the next for many schools to adopt it success- er centers, labs, athletic facilities, and
15 years. fully, threatening their very existence. so forth
Are universities that become content
Threats from Technology producers and adopt new learning Concluding Thoughts
What schools are threatened the least technologies guaranteed a healthy In 1873 Disraeli said in the English
by technology-enhanced education? future? Unfortunately, the answer to House of Commons that “A university
The selective privates and state flag- this question is “no;” many schools should be a place of light, of liberty, and
ship universities are not going to are caught between declining applica- of learning.” Whether learning technol-
disappear. They could, if they fail to tions and enrollments, declining state ogies enhance that mission or whether
innovate, see declining applications aid for publics, increases in tuition, they threaten the university itself de-
and lower quality students, but such a insufficient endowments, increasing pends on how academic leaders and
change will take a long time to be no- costs, and pressures from parents and faculty members implement technolo-
ticed given how sticky academic repu- the government to do something about gy-enhanced teaching and learning.
tations are. Small colleges with strong constantly rising college costs. Schools
reputations, loyal alumni, and some need to consider many options for re-
Further Reading
endowment are probably all right, but form in addition to the implementa-
they need to be careful. Potential stu- tion of learning technologies. Christensen, C., Horn, M., and Johnson, C.
Disrupting Class: How Disruptive Innovation
dents may lose interest if they perceive The opportunities for reform are
Will Change the Way the World Learns, N.
these schools as too resistant to new many and a number may be found McGraw-Hill, NY, 2008 and 2011.
ways of teaching and learning. in Lucas.1 Areas to consider include
Terwiesch, C. and Ulrich, K.T.
Smaller colleges with low rankings, the tenure system, teaching loads, Will video kill the classroom star? The
low endowments and declining enroll- resources devoted to research, long threat and opportunity of massively open
ments are not in a position to invest in summer vacations, departments with online course for full-time MBA programs.
new technologies and will find them- few students, bloated administrations Mack Institute for Innovation Management
at the Wharton School, University of
selves falling behind other schools. and bureaucracies, staff sizes, faculty
Pennsylvania, 2014.
These schools will have difficulty governance, expenditures on physical
in meeting student expectations for plant, and the distortions from high- Reference
technology-enhanced teaching and cost varsity football and basketball 1. Lucas, H.C., Jr. Technology and the Disruption of Higher
Education. World Scientific Press, Singapore, 2016.
learning. While the colleges may be programs. Universities are complex in-
able to purchase content, they will stitutions with many actors and stake-
Henry C. Lucas, Jr. (hlucas@rhsmith.umd.edu) is the
be at a disadvantage in creating ex- holders. Saving schools that are on Robert H. Smith Professor of Information at the Robert
citing new student experiences like a the edge will require concerted action H. Smith School of Business, the University of Maryland,
College Park, MD.
MOOC-based degree program. They across a number of variables to make
will lack the knowledge, skilled staff, the system work. This article is based on Lucas1 and the author’s
technology infrastructure, and faculty experiences teaching traditional, blended, and online
courses and a MOOC on Coursera.
capabilities to make technology per- Strategies for Survival
vasive in the curriculum. A single strategy does not fit all types Copyright held by author.

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 41
V
viewpoints

DOI:10.1145/3163918 Chitta Baral et al.

Viewpoint
Ask Not What Your
Postdoc Can Do for You …
Seeking more effective strategies for training
and nurturing CS postdocs to ensure their success.

T
HE NUMBER OF postdoctoral
fellows in computer science
(CS) has risen dramatically
in recent years. Studies
show that U.S. and Canadian
Ph.D.’s taking postdoc positions have
tripled since 2000,7 and the total number
of postdocs in the U.S. rose to new, sus-
tained highs over 2009–2014.6 It is now
clear that postdocs are a substantial
constituency in research-focused uni-
versity departments.
The Computing Community Con-
sortium (CCC), whose mission is to
promote the vitality of computer sci-
ence research, observed that postdocs
in CS now play a much enhanced part
in the conduct of research and edu- have not been “first-class citizens.” the City University of New York, and
cation at universities. Postdocs are This situation warrants investigating Cornell University, with 63 postdocs
in training positions yet, anecdotally, the best ways to support the career and participating since the start of the pro-
most departments pay little heed to the contribution of postdocs. Concerns gram) led by Shih-Fu Chang and Julia
training they receive. Certainly, support to address include the quality of train- Hirschberg; a consortium of the three
for postdocs is not on par with the edu- ing the postdoc receives, the quality of research universities in Arizona led by
cation of graduate students. CCC asked: mentoring, the development of new Chitta Baral and Partha Dasgupta at
what are best practices in supporting skills, and the participation of postdocs Arizona State University and including
the computer science postdoc popula- in the community—both in their uni- the University of Arizona and Northern
tion? An early document by Jones and versity department community and in Arizona University (47 postdocs since
Gianchandani3 analyzed such best the research community. the start of the program); and a single
practices and a 2013 Communications To address these concerns and learn CS department program at the Univer-
Viewpoint2 raised issues for the CS more about the postdoc experience, sity of Washington (50 postdocs since
community more broadly. In the broader CCC created a program, with NSF’s start) led by Brian Curless. Each group
context of science and engineering, financial backing, to develop, imple- includes evaluators to conduct surveys
efforts to improve postdoctoral experi- ment, and institutionalize best prac- and focus groups, measuring the effect
IMAGE F RO M SH UTT ERSTOCK.CO M

ence are discussed by Davis.1 tices for supporting postdocs in CS. of the programs implemented. We will
Historically, postdocs have been “in- Competitive awards were made in 2014 refer to the three sites by state name or
visible”: they work closely with their fac- to three groups that by design are quite university in this Viewpoint.
ulty advisers and that adviser’s group, different from one another: a consor- The purpose of this Viewpoint is two-
but have had little standing in the de- tium of New York universities (Colum- fold: to raise awareness right now about
partment or university. In essence they bia University, New York University, the need to serve the often neglected

42 COMM UNICATIO NS O F THE ACM | JA NUA RY 201 8 | VO L . 61 | NO. 1


viewpoints

community of postdocs in CS depart- content should be further customized that fund undergraduates to work on
ments, and to provide insight into what to meet the CS field, a task currently be- the postdoc’s independent research.
the New York (NY), Arizona (AZ), and ing undertaken by the NY team. The award process offers a kind of aca-
Washington (UW) sites are finding to demic, on-the-job training. In this pro-
be the best way to implement best prac- Quality Mentoring gram, postdocs define an independent
tices for their particular situations. The Guidance from experienced mentors is project, write a short NSF-style propos-
implementation and evaluation of these critical to help postdocs stay on track to al to fund an undergraduate to perform
practices is ongoing; in a future article, achieve their goals. Interestingly, each the research, receive critical reviews
we intend to delve into the details of the site has a different, complementary ap- from a committee of faculty and past
implementations and the numerical as- proach to encouraging this mentoring. postdoc awardees, receive funding (if
sessments of their impacts. Though our UW emphasizes getting the most out of accepted) to perform the research, re-
efforts are a work in progress, we believe adviser mentoring using the postdoc’s cruit an undergraduate, and mentor
readers in CS departments will iden- plan to track and ensure that progress the undergraduate through the proj-
tify with elements they can implement and career goals are discussed regu- ect. All of this is done independently of
sooner rather than later. larly with the research adviser. AZ has the postdoc’s faculty adviser.
Here, we describe the challenges the established non-adviser “Champions,”
three awardees decided were highest who are faculty members not directly Effective Networking
priorities to address and the rationales advising a given postdoc, but who are A key part of landing the ideal job and
for choosing these challenges, and com- available to discuss IDPs, postdocs’ being effective in that job is making
ment on aspects of the implementation concerns, career advice, and so forth. oneself known to others in the field—
of best practices they are pursuing. NY provides a mentor pool besides the networking. Postdocs benefit from
postdoc’s advisor, comprised of other attending conferences and talking to
Thoughtful Postdoc CS faculty members in the consortium, other researchers in academia and in-
Evaluation of Career Goals professionals in the local industry eco- dustry. To support this goal, each site
Postdoc positions in CS are typically system, in addition to individual career offers travel awards that supplement
short-term, lasting 1–3 years. The next counseling within their program. any travel (for example, for confer-
step for a postdoc spans a wide range ence presentations) already supported
of options, including a tenure-track, re- Acquiring Skills by advisers. NY additionally offers an
search, or teaching faculty position, an Postdoctoral appointments provide annual community networking event
industrial research lab, a startup. Thus, both an opportunity to improve post- with postdoc presenters and guest
postdocs should use their training time docs’ research portfolios and to devel- speakers; these events rotate among
to carefully evaluate career choices and op skills for their future careers; these the institutions. NY and AZ host well-
to develop skills that will serve to fur- skills will enable them to be more ef- attended industrial networking events.
ther their career. To this end, all sites fective on day one of their next jobs. AZ emphasizes social events among
require postdocs to define and review Each program promotes skill develop- postdocs and industry exposure work-
their personal goals for both their cur- ment for postdocs. Though in most shops to encourage in-person interac-
rent work and future positions. Both cases the skill-development programs tion with industry leaders.
NY and AZ require the use of Individual are aimed at academic careers (a com-
Development Plans (IDPs) in which the mon goal for many postdocs), a num- Belonging
postdoc sets concrete goals for devel- ber of these skills are transferrable to Each site observed that, prior to be-
opment on a schedule. IDPs help frame industry careers. NY has a particularly ginning these projects, a postdoc was
conversations with postdoc advisers. strong program of frequently offered hired by a faculty member and van-
NY requires the postdoc to discuss workshops and panels to develop lead- ished into a lab, interacting with few
goals identified in his/her IDP with his/ ership skills, academic writing, grant others in the department, before quiet-
her advisor but leaves the submitted writing, teaching, public speaking, ly leaving. Now, all three sites sponsor
document confidential to the postdoc. and entrepreneurship. They have also activities to enhance the sense of be-
In contrast, UW has created an online offered an extended teaching course longing with the postdoc community
“Review of Progress” system similar comprised of 10 sessions. Leverag- and the department community. This
to an IDP; the form must be filled out ing the breadth of their consortium, “belonging” is important for postdoc
every six months, followed by required they are able to utilize resources such satisfaction, breaking down barriers
meetings with the postdoc’s adviser as Cornell’s leadership program and to foster out-of-area interactions, and
to discuss goals and progress toward Columbia’s writing programs. In two ultimately for career development. AZ
them. The Review form is tracked elec- years, NY hosted an extraordinary 66 has instituted weekly research presen-
tronically to ensure compliance, and events, many of which are recorded and tations by faculty and invited speak-
to identify problems. NY, AZ and UW available online for review by members ers, and has a social time preceding
have all found the written plans to be of the NY program. AZ offers panels, events; it also holds monthly informal
very effective. NY adopted an existing workshops, and mini-conferences that lunches with postdocs and faculty to
IDP, designed within the natural sci- overlap with NY’s described above, but discuss future events and build a great-
ence discipline,1 and has found it to be also include topics such diversity and er sense of community. UW has estab-
useful but believes that the scope and ethics. UW offers competitive awards lished per postdoc on-boarding orien-

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 43
viewpoints

tations, email announcement of each Conclusion ... However, while some faculty advis-
postdoc arrival, department Web-page Our efforts are a work in progress, ing and postdoc evaluation could be
announcement of any major postdoc and we are continuing to evaluate the interdisciplinary, much of it needs to be
accomplishments, monthly postdoc- impact of our respective implementa- specific to computer science. For exam-
only lunches, an annual lunch with tions of best practices. After complet- ple, computer science departments can
the department chair, inclusion in all ing their efforts, the three sites will col- take advantage of the vibrant research
email pertaining to researchers, and lectively recommend a suite of effective labs in industry to assemble a diverse
encouragement to attend the frequent strategies for training and nurturing mentor pool for CS postdocs, and topics
social activities offered by the depart- CS postdocs, to ensure their success; covered in the IDP can be customized to
ment. UW faculty also discuss each these recommendations will appear in meet the unique needs of the CS field.
postdoc in annual review-of progress a follow-on article that provides greater Creation of a faculty “postdoc commit-
meetings, more broadly increasing depth about the programs, discussion tee” assignment is straightforward, but
faculty awareness of both the postdoc of pros and cons of practices tried, and the faculty member(s) must be proac-
community in the department and the measurements of the impacts of the ef- tive in engaging the postdocs for the
individual postdocs. NY hosts quar- forts. We do not expect a one-size-fits- assignment to be of any value. Daily
terly orientations for new postdocs, all implementation of best practices. interaction with others in the depart-
hosts community building events dur- Each CS department has different ment—students and faculty and post-
ing National Postdoc Appreciation strengths, challenges, and resources docs—is also necessary for the postdoc
Week and community excursions (for that will define the steps that they can to have a quality training experience.
example, a guided museum exhibit fo- realistically take. But it is clear to us that Determining an effective division
cused on computer science history in by taking a few actions, the support for of labor and costs between the depart-
NY), in addition to the annual postdoc postdocs can be enriched greatly. This ment and the larger university organi-
symposium rotated over consortium observation is reinforced by the find- zations will be key to creating sustain-
campuses for postdocs to present their ings of a recent study by the National able programs for supporting a critical
research to other postdocs and faculty. Academies of Sciences, Engineering resource, our CS postdocs.
and Medicine.5 Because postdocs now We urge all universities, depart-
Institutional Support play a major role in the research activ- ments, and faculty to consider: “Ask not
Implementing and sustaining post- ity of many departments, the quality of what your postdoc can do for you, but
doc best practices requires a commit- the work of those postdocs is a mate- what you can do for your postdoc … to
ment from faculty and staff and sup- rial determinant of the quality of the grow and advance toward a success-
port from the university as a whole; research of a department. Postdocs are ful career.”
each of the sites funds personnel to not just another group to train; they are
run their programs. NY has a full-time taking major responsibility in running References
1. Davis, G. Improving the postdoctoral experience:
staff member devoted to the effort, labs, mentoring graduate and under- An empirical approach. Science and Engineering
and AZ and UW each have a half-time graduate students and even teaching. Careers in the United States: An Analysis of Markets
and Employment. R.B. Freeman and D.L. Goroff, Eds.,
staff member. NY’s requirement has University of Chicago Press. 2009.
been greater due to the larger size of ... and a question 2. Jones, A. The explosive growth of postdocs in computer
science. Commun. ACM 56, 2 (Feb. 2013), 37–39.
its multi-institutional effort and the We conclude with an important ques- 3. Jones, A. and Gianchandani. E. Computer Science
Postdocs–Best Practices. 2012; http://bit.ly/2mInIFH
greater organization and coordina- tion: How sustainable are these efforts? 4. myIDP; http://bit.ly/2j0zlCB
tion required by the many workshops At a minimum, what we do to support 5. National Research Council. The Postdoctoral
Experience Revisited. 2014.
and other events it runs. UW and AZ graduate students can often support 6. NSF NCSES data; http://bit.ly/2j0m790
also devote individual faculty time to our postdocs as well. Both are at a some- 7. The Taulbee Survey; http://bit.ly/2ANbDRP
engaging with the postdocs. Having what similar stages in their careers. But
faculty and staff support has been es- such programs require dedicated staff, Chitta Baral (chitta@asu.edu) is a Professor of Computer
Science at Arizona State University.
sential to developing sound programs and such staff are expensive. Research
to nurture postdocs appropriately, awards and travel grants also have costs. Shih-Fu Chang (sfchang@cs.columbia.edu) is Senior
Executive Vice Dean, School of Engineering and Applied
but such support is often difficult NY and AZ began their program Science, and Professor in the Electrical Engineering
to fund outside of the programs de- by teaming with offices that support Department and the Computer Science Department at
Columbia University.
scribed here, which are currently (but postdocs across the university. Indeed,
Brian Curless (curless@cs.washington.edu) is a
not indefinitely) supported by CCC. much of the skill development sup- Professor in the Paul G. Allen School of Computer Science
At AZ, support and participation from port could be shared across postdocs & Engineering at the University of Washington.
the graduate college and the Science in many science and engineering dis- Partha Dasgupta (partha@asu.edu) is an Associate
Foundation of Arizona has helped in ciplines, yet still be of high quality for Professor of Computer Science at Arizona State University.
many events and has shown a path to- computer science postdocs. Individual Julia Hirschberg (julia@cs.columbia.edu) is Percy K.
ward sustainability beyond the grant development plans might likewise and Vida L. W. Hudson Professor of Computer Science
and Chair of the Computer Science Department at
period. At the same time, taking in- be common across “like” disciplines Columbia University.
spiration from their CS program, AZ and their administration—to a great Anita Jones (jones@virginia.edu) is University Professor
State University’s graduate college is extent—supported by a school or the Emerita at the University of Virginia.
developing a general program for all university, rather than by the depart-
its postdocs. ment’s lesser resources. Copyright held by authors.

44 COMM UNICATIO NS O F THE AC M | JA NUA RY 201 8 | VO L . 61 | NO. 1


Introducing ACM Transactions
on Human-Robot Interaction

Now accepting submissions to ACM THRI

In January 2018, the Journal of Human-Robot Interaction (JHRI) will become an ACM
publication and be rebranded as the ACM Transactions on Human-Robot Interaction (THRI).

Founded in 2012, the Journal of HRI has been serving as the


premier peer-reviewed interdisciplinary journal in the field.

Since that time, the human-robot interaction field has


experienced substantial growth. Research findings at the
intersection of robotics, human-computer interaction,
artificial intelligence, haptics, and natural language
processing have been responsible for important discoveries
and breakthrough technologies across many industries.

THRI now joins the ACM portfolio of highly respected


journals. It will continue to be open access, fostering the
widest possible readership of HRI research and information.
All issues will be available on the ACM Digital Library.

Editors-in-Chief Odest Chadwicke Jenkins of the University of Michigan and Selma


Šabanović of Indiana University plan to expand the scope of the publication, adding a new
section on mechanical HRI to the existing sections on computational, social/behavioral,
and design-related scholarship in HRI.

The inaugural issue of the rebranded ACM Transactions on Human-Robot Interaction is


planned for March 2018.

To submit, go to https://mc.manuscriptcentral.com/thri
practice
DOI:10.1145/ 3133319
delete)-based application developed

Article development led by
queue.acm.org
with interactions to illustrate the
point, laying out the challenges and
explaining how such a system will not
The network era requires new models, have algorithms at its center but will
with interactions instead of algorithms. work by using interactions.
Imagine a patient-doctor encoun-
BY ANTONY ALAPPATT ter in the future, where the patient,
who has a personal electronic medical

Network
records (EMR) device, is identified to
the doctor’s office either by an near-
field communication (NFC) wave or a
physical scanning of the EMR device

Applications
into a receptacle. The EMR device
talks to the doctor’s office system, pro-
viding all the necessary information.
Prescriptions could be sent directly to

Are
the pharmacy, with a sync point given
to the EMR. Thus, when the patient
goes to the pharmacy, the medicine is
delivered promptly.

Interactive
This is the network era, requiring
new approaches to software. Host-
centric programming that limits itself
to single system space will not be suffi-
cient for the multisystem-space needs
of this new digital era.

What Is a Network-
Based Application?
Applications are of two types: stand-
alone and networked.2,9 Applications
mobile devices and the
T H E PROLIF ER ATI O N O F such as word processing on PCs,
multiuser programming on a main-
interconnectivity between them has created new frame, or distributed computing using
application opportunities. These new applications Simple Object Access Protocol (SOAP)
are no longer limited to a single system space but or object request broker (ORB) are
stand-alone. Stand-alone applications
are spread across many system spaces. This shift of provide a single machine view9 to the
application from single system-spaced, host-based application programmer by having a
single entry point (that is, the calling
systems to multisystem-spaced solutions is being program hands over control to the ap-
hampered by software toolsets that are stuck in the plication and takes back control after
older sequential computational models. the application is complete). The ap-
IMAGE BY AND RIJ BORYS ASSOCIAT ES/SHUT TERSTOCK

plication accesses data from the en-


This article defines this new requirement as vironment by executing I/O routines
a network application. It argues how current that runs parallel to the main routine.
The program counter in the machine
programming based on computation is not the right controls the program. The stand-alone
model and suggests that application development application runs on top of the machine
has to move from software based on a computational (virtual or real).
In the example EMR application, no-
premise to a communication or interaction premise. It tice how the programmer does not view
closes with a simple CRUD (create, read, update, the application as one hierarchical pro-

46 COMMUNICATIO NS O F TH E AC M | JA NUA RY 201 8 | VO L . 61 | NO. 1


JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 47
practice

gram but as interactions by different damental constructs of the language of multisystem-space computing such
people that take place across a network make programming very sequential. as (a) transferring control; (b) handling
of devices. Unlike a stand-alone appli- Programming in a concurrent world, latency; and (c) dealing with excep-
cation, a network application advanc- with sequential constraints, places a tions? How will one piece of code tell
es when the different agents interact big challenge on the programmer. another piece of code sitting in a differ-
with each other through their actions. Generally, there are two main parts ent system space that it has continued
These actions accept application state that make a program work. One is the successfully or has thrown an excep-
changes from agents on the network control of the program, and the other tion. Nothing in these languages sup-
and also affect application state chang- is what data is transferred when the ports such issues. They assume there is
es on other agents on the network. The control moves forward. The control is one system space and that the control
network-based application runs on top the cursor where the program is op- in the processor will move forward to
of the network infrastructure. erating. In sequential programming, the next step.
the control moves from top to bottom. Digital-era solutions must coordi-
Network Application The only ways to alter program control nate people and devices as peer-to-peer
Is Not Computation are by using go-to statements; excep- collaborating systems. Creating such
The modern digital era requires people tion statements; and iteration/looping collaborating systems from sequential
and devices all acting in unison to cre- statements. Programming consists of programs is a big challenge. Is there a
ate the overall business experience. All preparing the data so the processor better way so that these concurrent sys-
these different computational agents can process the information. The cre- tems can be expressed more directly to
sitting on different system spaces ative part of software is established by make digital solutions easier? Toward
should communicate with each other. manipulating program control. Ma- this end, the basic default sequential
To put it simply, they should ask and nipulating hierarchical programs to control of programs needs to be elimi-
tell each other to create the whole so- represent all sorts of models is difficult nated. The default sequential control
lution. This digital-era choreography to achieve and, hence, leads to bugs. makes expressing concurrent prob-
of events happens simultaneously and, In sequential programs, program lems more difficult, as the program-
hence, is a concurrent problem. control is assumed to move forward. mer has to manipulate the sequential
Programming consists of state- The language itself does not have any control to create concurrency.
ments separated by a sequential opera- facilities to handle processing across One of the biggest issues is shar-
tor (as in Java) or an assignment opera- system spaces. If part of the execution ing state across system spaces. In the
tor. These operators assign the value of is sitting in another system space, then current programming paradigm, state
the expressions into a memory location how is the issue of control handled? is examined using functions and vari-
and also instruct the compiler to move How will the language have enough ables. These are available only within
to the next instruction. These two fun- concepts to handle the different issues the constraints of the language and
are not exposed outside of the operat-
Figure 1. Computation is communication. ing language. To overcome this, the
language itself should have facilities to
Compose { ArithmeticAgent(A=B+C), ArithmeticAgent(Y=X+A) } share state (both program control and
C data) so that the client can examine it.
C
Y output future on C In some situations the application
B agent C
combinator output onC is aware of the location of the data but
X C
input on C
is not sure when all the data arrives.
This makes the current deterministic
nature of programs unsuitable. This
C
A=B+ A nondeterministic nature of data in the
B C
A Y=X+ Y digital era contributes to the inability
X A of current programming to solve digi-
tal-era problems. Although fundamen-
tal programming does not have a way
of dealing with nondeterministic sys-
tems, it is now achieved by following
Figure 2. “Hello, World” application. a new programming paradigm called
reactive programming.3,8
Once state and control of a pro-
#include <stdio.h> include information about standard library
gram are shared, is it possible to
main() define a function named main that receives no argument
values
ensure that only authorized people
{ statements of main are enclosed in braces
have access to both of these crucial
printf(“hello, world\n”); main calls library function printf to print this sequence of elements? Current programming
} characters; \n represents the newline character languages do not have the concept of
hiding information. Ideally, program-
ming languages should have facilities

48 COMMUNICATIO NS O F TH E AC M | JA NUA RY 201 8 | VO L . 61 | NO. 1


practice

to share state and provide controlled Thus, to flow Y to another agent,


access to this selectively. all that has to be done is to combine
A network application that can work AgentCombinator with the arithme-
across system spaces needs a new way tic agent that is going to consume Y.
of looking at the computation prob-
lem. Rather than having computation Digital-era solutions To define this communication, the
control is established by splitting the
ideas (procedure, functions, among
others) as fundamental, it should be
must coordinate communication into two pieces: one

people and devices


representing the giving of informa-
the communication ideas that are fun- tion and the other representing the
damental for a good network applica-
tion programming paradigm.
as peer-to-peer receiving of information.
Making the computation concur-
collaborating rent addresses the speed of the com-
Computation Is Communication
Consider two arithmetic expressions:
systems. Creating putation, eliminates the issue of bugs
when the computation is coded out of
Y=X+A and A=B+C. With the sequential such collaborating order, and makes the computation net-
programs now in use, these are written
sequentially as { A=B+C; Y=X+A }. The systems from worked and nondeterministic. Clearly,
computation is better expressed as
programs operate sequentially to get sequential communication.
the answer. If they are accidently writ-
ten as { Y=X+A; A=B+C }, the program programs is a Network Application
will continue to operate, but the an-
swer will be wrong (i.e., a bug). Is there
big challenge. Is Communication
Unlike a stand-alone application, a
a way to eliminate this anomaly? network application does not have a
Imagine it a bit differently. In the single machine view. The network ap-
same computation, the expressions plication is a swarm of many machines
run concurrently and combine when operating concurrently, also known as
A is shared—that is, the composition agents. These agents, residing in single
consists of two agents, A=B+C and or multiple system spaces, coordinate
Y=X+A, which operate concurrently their work to create an experience.
(Figure 1). The right-hand side of an Each agent could be acting as a client
arithmetic expression is a sink of the in one instance and a server in another.
value and the left-hand side of the ex- Whether stand-alone or networked,
pression is a source of information. So a coherent application has certain sa-
in the case of A=B+C, B and C are sinks lient properties.
and A is the source. A=B+C is resolved Application control. It is the appli-
when B and C arrive and raise A. Mean- cation control that sets the rhythm of
while, Y=X+A is waiting on X and A. As- the program. Once the program is giv-
suming X has arrived, when the first en control from the operating system
computation raises A, it is consumed (through the main() function in C)
automatically by the second computa- or from a Web server in the case of
tion to raise the answer Y. a service, the programmer manages
Notice in this case the agents program control by applying dif-
run concurrently, but because the ferent control statements provided
second agent is waiting on A, that by the employed language. After
is raised by the first agent. The two the program is completed, control is
computations are concurrent. The handed over to the operating system
two agents are combined but they or the service initiator.
expose the combination actions (i.e., The magic of software is accom-
they accept C, B, and X and produce plished by controlling how these in-
Y). This eliminates the propensity of structions are organized according to
bugs caused by the out-of-order cod- the language rules. For the sake of il-
ing in sequential languages. lustration, consider the C language.4
The whole computation is running The only control elements that are given
in parallel and drives itself, depending to the programmer are statements of
on the arrival of the values. The com- functions, assignments, and looping
putation is no longer about algorithms statements. The programmer uses
but is about communicating values be- these constructs to build the applica-
tween two active computation agents. tion flow (Figure 2).
The flow of data is accomplished by Once a stand-alone application in
naming the two variables. C has received control, the program

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 49
practice

Figure 3. “Hello, World” application as functions. the same stand-alone application and
try to achieve the same control flow by
forward control path
delivering it as a network application.
return control path To network the example application,
the three components—caller, main,
and print—operate as three indepen-
dent agents (Figure 4). Connecting
these agents allows them to deliver the
same print function in a networked set-
ting. The caller agent kicks off the com-
putation by sending data on the main
action and waiting on rtnMain action.
The main agent consists of two inde-
pendent agents, one listening on the
main action and the other listening on
rtnPrint. The first component agent
caller main() print()
that receives the main action turns on
print. Meanwhile, the one print agent
listens on print and after printing on
screen, turns on rtnPrint. The other
Figure 4. “Hello, World” application as communication. main agent responds to rtnPrint and
turns on rtnMain. Notice that each
send data
agent operates independently but is
receive data coordinated by the different actions
or sync points. As rtnMain is triggered
only after the print is completed, the
Main print functionality is the same as in the first
C program. The difference is how the
functionality is achieved through co-
ordination of the autonmous agents:
CallerAgent, MainAgent, and
PrintAgent. These agents could also
RtnMain
work across multiple system spaces.
Moving the application control
Rtnprint from computation to communication
caller main print makes applications work coherently
agent agent agent
across multiple system spaces.
Latency. As mentioned earlier, the
simple C program that was a stand-
alone application is now expressed
interacts with the outside world by run- and data are synchronous (that is, the as a network application by moving it
ning functions to do the input/output caller halts until the call control is from a premise of computation to one
(Figure 3). During the I/O statements, handed back to the caller). of communication. The sync points
the program is blocked. This is becom- Now fast forward to the futuristic such as main, rtnMain, print, and
ing a multisystem-spaced world in patient-doctor encounter mentioned rtnPrint coordinate these agents to
which the expectation is that the state at the beginning of this article. In this create a coherent whole. These coor-
can be observed by another program. instance, the different devices, also dination elements could sit either in a
The program and its languages should known as agents, talk to each other single system space or across multiple
have notation and concepts to share to move the process forward. It is not system spaces. If these sync points sit
data dynamically at runtime, with no a single-host system but a collection across address spaces, then this intro-
additional engineering. of distributed devices talking to each duces a new constraint: the latency of
A stand-alone application control other, making a complete, whole self. the network.
has two elements: the forward and In this new world, there are no state- This now identifies the speed of
return movement of control, and the ments or assignments—only a series of the whole application. In a typical
transfer of data during these move- interactions, or sync points. How do you network application, latency is re-
ments. In the current programming express this new world with no single duced when the application does not
model, because of the limitation of the point of control? How do you represent use the network. By introducing cach-
state machine of the processor (with its this new world with no obvious program ing, the network usage is reduced,
current program counter), the forward control in the traditional sense? thereby increasing the speed of the
and the return movements of control To make this possible, let’s explore overall application.

50 COMMUNICATIO NS O F TH E AC M | JA NUA RY 201 8 | VO L . 61 | NO. 1


practice

Scoping. Information hiding is an es, creating controlled information configuring the different agents as the
important property of a computer sys- security over the network. initial starting configuration; (c) rep-
tem. Programming languages should Network applications bring new resenting shared transition between
support this very well. To illustrate, challenges such as multisystem spaces, these agents; and (d) changing the con-
object-oriented programming lets the latency, intermittent network availability, figuration of the agent network as state
programmer define the visibility of in- and security. Thinking of applications transitions happen. The π-calculus
formation to be either private or pub- as communication rather than as agent actions can be observed. An ac-
lic. When private, information is vis- functions overcomes these challenges. tion represented by x is the potential
ible only to the object. If the variable to receive information. The action rep-
is declared as public, the information Mathematics of resented by x– is the potential to be the
is visible to the whole program. These Communication Systems source of information. The reaction of
declarations are instructions to the Network applications should be de- these complementary actions moves
compiler to control information vis- veloped with toolsets and languages the process and the data from source
ibility. The runtime information vis- that have communication as their to destination.
ibility has to be done by the program- foundation. Software based on com- Figure 6 details initial configuration
mer during design and construction. putation has a good theoretical foun- P. This is taken from page 88 of Milner’s
Having these kinds of information hid- dation, such as λ-calculus, on which Communicating and Mobile Systems: the
ing in memory is fine for stand-alone the whole concept of programming Pi-Calculus.6 These terms run concur-
applications, but with network appli- is built. An application based on rently with each other. The parallel op-
cations, the language also should sup- λ-calculus shuts out the world when eration is identified by the operator “|”.
port scoping across the network. How the program executes, whereas a net- The sequence operation is represented
is this accomplished? work application, by its very nature, by “.”. The different actions are x and
In a network application, state has many agents interacting with u. The action x carries through u. The
transitions are exposed as sync each other on a network. This differ- action u transmits through v.
points. In addition, information is ence in the nature of the applications The π-calculus engine does inter-
transferred through the sync points. calls for a new foundation for the tool- actions (that is, it looks at the action
Clients can influence the applica- sets and languages for building net- with the same name and executes
tion by interacting with these sync work applications. the reaction). When the reaction
points. In Figure 5, the server has two π-calculus,6,7 the theory of com- happens, the value is communicat-
sync points: pa1, which is hidden so municating and mobile systems, is ed from one term to the other. In the
it cannot be observed by the clients, the algebraic representation of a Pe- case of the reaction between x and
and pa2, which is open and can be tri net. The focus in π-calculus is to x– , it will send z through x. With the
observed by all clients. In this con- define the communication between reaction, the second term becomes
figuration, only client1 is aware of two agents that are operating on a inert, represented by ∅—a term
pa1 and, hence, the server can be in- network. It also can define how con- with no actions. Then, as shown in
fluenced only by client1. In terms figurations of agents on the network Figure 7, it proceeds to substitute u
of object-oriented principles, pa1 is change as they interact. This property with z to raise the final configuration
private and pa2 is public. This prin- of π-calculus—the ability to model process state P1. Notice how the dif-
ciple is used to control information interactions between many agents op- ferent term nodes collapse to create
visibility across the network. Scope is erating independently—makes it an the final state.
controlled by hiding the action from ideal mathematical foundation for It is possible to move program-
the public and then giving the sync building toolsets and languages for ming from computation to commu-
name selectively to different agents. network applications. nication—network-centric program-
Each of these clients and servers π-calculus achieves this by: (a) rep- ming—by designing a language that
could exist across many address spac- resenting agent behavior as actions; (b) is founded on π-calculus (such as, on
interactions) and running it on a reac-
Figure 5. Scoping as communication. tion engine that executes the language
as reactions.
pa1
private Figure 6. Initial processing configuration.
client1
shared
action
pa1 P = x(u).u– < v > | x < z >
client2 server
public action
pa2 Figure 7. Final process configuration.

P1 = z– < v > | 0
client3

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 51
practice

Figure 8. Interactions trace. on both the +ve and -ve sides, setting
up the situation for a spark. Next the
interaction happens on print open-
Current Interaction - Reaction Active Ask Active Tell
between +ve and -ve Actions (-ve) Actions (+ve)
ing up rtnPrint on the Tell side
initial configuration initial configuration main, rtnPrint, print — (+ve). This leads to interaction with
on interacting with main rtnPrint, print print rtnPrint, leading to the next set of
on interacting with print rtnPrint rtnPrint interactions. The interactions’ trace is
on interacting with rtnPrint — rtnMain shown in Figure 8.
These actions are represented as
REST URIs (uniform resource iden-
tifiers), so they can be interacted
Figure 9. Action definition. fine this action then defines which with over the network. Network
elements flow through it. Once the programming is as simple as bring-
<Actions> action is defined, then the two po- ing agents into configurations
<Action> tentials for this action are set up by with the objective of precipitating
<Element>FirstName</Element>
creating the +ve and -ve. The +ve these interactions.
is the source of information (like x–,
<Element>LastName</Element>
<Element>EmailId</Element>
<ActionName>View</ActionName>
in π-calculus), and the -ve (like x in A Simple CRUD Application
</Action> π-calculus ) is the sink of information. as Interaction
<Action> Tell sets up the +ve source of infor- MasterKube software technology5 is
<Element>FirstName</Element> mation, and Ask sets up the -ve sink built with this network application
<Element>LastName</Element> of information. in mind. The MasterKube software
<Element>MobileNumber</Element> The Hello, World network applica- paradigm is used to build a simple
<Element>EmailId</Element> CRUD application.
tion has two agents that operate con-
<ActionName>Delete</ActionName>
currently to deliver the functionality. Define action. The first step is
</Action>
<Action>
MainAgent is composed of two se- to define all actions that will be ex-
<Element>FirstName</Element> quences of two actions each. When this posed to the outside system. These
<Element>LastName</Element> agent is activated, it activates main and can be observed by any client UI that
<Element>MobileNumber</Element> rtnPrint simultaneously: understands the MasterKube XML re-
<Element>EmailId</Element> sponse. In this case there are actions
<ActionName>Edit</ActionName> MainAgent = Compose [ to Add, Edit, View, and Delete, as
</Action> illustrated in Figure 9.
 Sequence [ Ask(main);
<Action>
Tell(print)]; Sequence [ Define behavior. Agents provide
<Element>FirstName</Element>
Ask(rtnPrint); the dynamic part of the application.
<Element>LastName</Element>
<Element>MobileNumber</Element> Tell(rtnMain)] The agent AddContactAgent in the
<Element>EmailId</Element> ] following code shows the action Add,
<ActionName>Add</ActionName> which, when interacted with, creates
</Action> The second agent is PrintAgent: a new agent. The AddContactA-
</Actions> gent shows the Add UI. On interact-
PrintAgent = Sequence [ ing with the Add action, it creates the
Ask(print); Tell(rtnPrint) ] Contact, and AddContactAgent is
Hello, World Application The Hello, World application con- repeated to show the same action (see
as Interaction sists of these two agents operating con- Figure 10).
Network applications are best addressed currently. It is defined as When there is interactions with
when based on communication. Un- Edit, it shows with all the elements
like the functional model of computa- HelloWorldApplication = that are in the Edit action. These are
tion (which has functions to move data Compose [ MainAgent; expected to be entered. On accepting
from one variable to another) in a net- PrintAgent] these values into the system, EditCon-
work application the movement of tactAgent is repeated. Repeating the
data is done by communication. As in Figure 8 shows the different actions same agent gives the choice of the Edit,
physics, the flow of current is defined that are on when each action is inter- Delete, and View actions again, there-
by the potential. Similarly, network ap- acted with. To begin with, all agents by exhibiting a persistent behavior.
plications are defined by setting up become active and the actions main, In the Delete action the Choice
communication potential and are then rtnPrint, and print are exposed action is empty. As there are no obser-
wired together to create the spark that on the Ask side (-ve). The main ac- vations, interaction with Delete leaves
ensures the flow of information from tion would be exposed, so it can be no further observations and, hence, the
the source to the sink. interacted with from a user interface. contact is considered deleted.
The first step in building a network When main is interacted with, it acti- All these actions are exposed as
application is to define what flows vates print on the Tell side (+ve). REST URLs, which can be interpreted
when this spark happens. To de- The same name, print, is now active by any device.

52 COMM UNICATIO NS O F THE AC M | JA NUA RY 201 8 | VO L . 61 | NO. 1


practice

Figure 10. Agent definition. Conclusion


The miniaturization of devices and
<Agent> the prolific interconnectedness of
<AgentName>AddContactAgent</AgentName> these devices over high-speed wire-
<Sequence> less networks are completely changing
<!--Triggers the contact agent when add action is pressed --> how commerce is conducted. These
<AgentCommand> <AgentName>ContactAgent</AgentName> changes (a.k.a. digital) will profoundly
<Ask><action><actionName>Add</actionName></action></Ask>
change how enterprises operate. Soft-
</AgentCommand>
<!-- Because this agent is in a sequence operation,
ware is at the heart of this digital world,
the same agent is called recursively --> but the software toolsets and languag-
<AgentCommand> <AgentName>AddContactAgent</AgentName> </AgentCommand> es were conceived for the host-based
</Sequence> era. The issues that already plague
</Agent> software practice (such as high defects,
poor software productivity, informa-
The ContactAgent accepts the FirstName, LastName, MobileNumber, and EmailId. It tion vulnerability, and poor software
activates the EditContactAgent. The AvatarName, which is how the agent is identified, is the project success rates) will be more
LastName.
profound with such an approach. It is
<Agent>
time for software to be made simpler,
<AgentName>ContactAgent</AgentName> secure, and reliable.
<ProcessName>Contacts</ProcessName> Moving software from its com-
<AvatarName>LastName</AvatarName> puting foundation to a communi-
<Element>FirstName</Element> <Element>LastName</ cation foundation will ensure the
Element><Element>MobileNumber</Element><Element>EmailId</Element>
promise and benefits of digital are
<Compose>
<!-- Repeatedly show the edit contact agent till the user presses Delete
more widely shared.
-->
<AgentCommand><AgentName>EditContactAgent</AgentName></AgentCommand>
Related articles
</Compose>
on queue.acm.org
</Agent>
A Guided Tour through Datacenter
Networking
The EditContactAgent shows the different actions shown by the contact. The different actions
Dennis Abts and Bob Felderman
that are enabled for each contact are Edit, Delete, and View. These actions are shown in a
http://queue.acm.org/detail.cfm?id=2208919
choice, as only one action can be taken. Upon interacting with one option, the other actions go away.
You Don’t Know Jack about Network
<Agent> Performance
<AgentName>EditContactAgent</AgentName> Kevin Fall and Steve McCanne
<Compose>
http://queue.acm.org/detail.cfm?id=1066069
<!--Two choices are presented. One is to Edit and the other is to De- The Network’s NEW Role
lete--> Taf Anthias and Krishna Sankar
<Choice> <ChoiceOption> http://queue.acm.org/detail.cfm?id=1142069
<Ask><action><actionName>Edit</actionName></action></Ask>
<OptionAction> References
<Compose> 1. Backus, J. Can programming be liberated from the von
Neumann style? A functional style and its algebra of
<!--When edit is interacted with the same agent programs. Commun. ACM 21, 8 (Aug. 1978), 613–641;
is repeated to show persistence --> http://dl.acm.org/citation.cfm?doid=359576.359579.
<AgentCommand> <AgentName>EditContactAgent</AgentName> </AgentCommand> 2. Fielding, R.T. Architectural styles and the design of
network-based software architectures. Ph.D. dissertation,
</Compose> </OptionAction> 2000, University of California, Irvine; https://www.ics.uci.
</ChoiceOption> edu/~fielding/pubs/dissertation/top.htm.
<ChoiceOption> 3. Futures and promises. The Boost C++ Libraries;
http://theboostcpplibraries.com/boost.thread-futures-
<Ask><action><actionName>Delete</actionName></action></Ask> and-promises.
<OptionAction> <!--When delete is interacted with no further 4. Kernighan, B., Ritchie, D.M. The C Programming
observations are exposed so this contact disappears. --> </OptionAc- Language. Prentice Hall, 1978.
5. MasterKube Software Development Manual. 2014
tion> 6. Milner, R. Communicating and Mobile Systems: The
</ChoiceOption> Pi-Calculus. Cambridge University Press, 1999.
<ChoiceOption> 7. Milner, R. Elements of Interaction. Commun. ACM
36 1 (Jan. 1993), 78–89; http://dl.acm.org/citation.
<Tell><action><actionName>View</actionName></action></Tell> cfm?id=1283948.
<OptionAction> 8. ReactiveX; http://reactivex.io/intro.html.
<!--When View is interacted with 9. Tanenbaum, A.S., van Renesse, R. Distributed
operating systems. ACM Computing Surveys 17, 4
the same agent is repeated to show persistence --> (1985), 419–470.
<AgentCommand><AgentName>EditContactAgent</AgentName></AgentCommand></
OptionAction> Antony Alappatt (antony.alappatt@masterkube.com)
<//ChoiceOption></Choice> is the founder of MasterKube, whose goal is to provide
</Compose> path-breaking software technology and services to serve
the new digital era.
</Agent>
Copyright held by author.
Publication rights licensed to ACM. $15.00.

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 53
practice
DOI:10.1145/ 3152483
and Jepsen experts, must study the sys-

Article development led by
queue.acm.org
tems under test, observe system execu-
tions, and then formulate hypotheses
about which faults are most likely to
Ordinary users need tools that automate the expose real system-design flaws. This
selection of custom-tailored faults to inject. approach is fundamentally unscal-
able and unprincipled. It relies on the
BY PETER ALVARO AND SEVERINE TYMON superuser’s ability to interpret how
a distributed system employs redun-

Abstracting
dancy to mask or ameliorate faults
and, moreover, the ability to recognize
the insufficiencies in those redundan-
cies—in other words, human genius.

the Geniuses
This article presents a call to arms
for the distributed systems research
community to improve the state of
the art in fault tolerance testing.

Away from
Ordinary users need tools that au-
tomate the selection of custom-tai-
lored faults to inject. We conjecture
that the process by which superusers

Failure Testing
select experiments—observing execu-
tions, constructing models of system
redundancy, and identifying weak-
nesses in the models—can be effec-
tively modeled in software. The ar-
ticle describes a prototype validating
this conjecture, presents early results
from the lab and the field, and identi-
fies new research directions that can
make this vision a reality.

and scale of cloud


T H E HETEROGEN E I T Y, C O MPLE X I T Y, The Future Is Disorder
Providing an “always-on” experience
applications make verification of their fault tolerance for users and customers means that
properties challenging. Companies are moving away distributed software must be fault tol-
from formal methods and toward large-scale testing erant—that is to say, it must be writ-
ten to anticipate, detect, and either
in which components are deliberately compromised mask or gracefully handle the effects
to identify weaknesses in the software. For example, of fault events such as hardware fail-
ures and network partitions. Writing
techniques such as Jepsen apply fault-injection testing fault-tolerant software—whether for
to distributed data stores, and Chaos Engineering distributed data management systems
performs fault injection experiments on production involving the interaction of a handful
of physical machines, or for Web ap-
systems, often on live traffic. Both approaches have plications involving the cooperation of
captured the attention of industry and academia alike. tens of thousands—remains extremely
difficult. While the state of the art in
Unfortunately, the search space of distinct fault verification and program analysis con-
IMAGE BY VIT EZSL AV VALK A

combinations that an infrastructure can test is tinues to evolve in the academic world,
intractable. Existing failure-testing solutions require the industry is moving very much in
the opposite direction: away from for-
skilled and intelligent users who can supply the faults mal methods (however, with some
to inject. These superusers, known as Chaos Engineers noteworthy exceptions,41) and toward

54 COM MUNICATIO NS O F TH E ACM | JA NUA RY 201 8 | VO L . 61 | NO. 1


JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 55
practice

approaches that combine testing with up the stack and frustrate any attempts
fault injection. at abstraction.
Here, we describe the underlying The Old Guard. The modern myth:
causes of this trend, why it has been Formally verified distributed compo-
successful so far, and why it is doomed
to fail in its current practice. While the state nents. If we cannot rely on geniuses to
hide the specter of partial failure, the
The Old Gods. The ancient myth:
Leave it to the experts. Once upon a
of the art in next best hope is to face it head on,
armed with tools. Until quite recently,
time, distributed systems researchers verification and many of us (academics in particular)
and practitioners were confident that
the responsibility for addressing the
program analysis looked to formal methods such as
model checking16,20,29,39,40,53,54 to assist
problem of fault tolerance could be continues to evolve “mere mortal” programmers in writ-
relegated to a small priesthood of ex-
perts. Protocols for failure detection,
in the academic ing distributed code that upholds its
guarantees despite pervasive uncer-
recovery, reliable communication, world, the industry tainty in distributed executions. It is
consensus, and replication could be
implemented once and hidden away is moving in the not reasonable to exhaustively search
the state space of large-scale systems
in libraries, ready for use by the layfolk. opposite direction: (one cannot, for example, model
This has been a reasonable dream.
After all, abstraction is the best tool away from formal check Netflix), but the hope is that
modularity and composition (the next
for overcoming complexity in com-
puter science, and composing reliable
methods and best tools for conquering complexity)
can be brought to bear. If individual
systems from unreliable components toward approaches distributed components could be
is fundamental to classical system
design.33 Reliability techniques such
that combine formally verified and combined into
systems in a way that preserved their
as process pairs18 and RAID45 dem- testing with fault guarantees, then global fault toler-
onstrate that partial failure can, in
certain cases, be handled at the low- injection. ance could be obtained via composi-
tion of local fault tolerance.
est levels of a system and successfully Unfortunately, this, too, is a pipe
masked from applications. dream. Most model checkers require
Unfortunately, these approaches a formal specification; most real-world
rely on failure detection. Perfect failure systems have none (or have not had one
detectors are impossible to implement since the design phase, many versions
in a distributed system,9,15 in which it ago). Software model checkers and oth-
is impossible to distinguish between er program-analysis tools require the
delay and failure. Attempts to mask source code of the system under study.
the fundamental uncertainty arising The accessibility of source code is also
from partial failure in a distributed an increasingly tenuous assumption.
system—for example, RPC (remote Many of the data stores targeted by
procedure calls8) and NFS (network file tools such as Jepsen are closed source;
system49)—have met (famously) with large-scale architectures, while typical-
difficulties. Despite the broad consen- ly built from open source components,
sus that these attempts are failed ab- are increasingly polyglot (written in a
stractions,28 in the absence of better wide variety of languages).
abstractions, people continue to rely Finally, even if you assume that spec-
on them to the consternation of devel- ifications or source code are available,
opers, operators, and users. techniques such as model checking are
In a distributed system—that is, a not a viable strategy for ensuring that
system of loosely coupled components applications are fault tolerant because,
interacting via messages—the failure as mentioned, in the context of time-
of a component is only ever manifested outs, fault tolerance itself is an end-to-
as the absence of a message. The only end property that does not necessarily
way to detect the absence of a message hold under composition. Even if you
is via a timeout, an ambiguous signal are lucky enough to build a system out
that means either the message will nev- of individually verified components, it
er come or that it merely has not come does not follow the system is fault toler-
yet. Timeouts are an end-to-end con- ant—you may have made a critical error
cern28,48 that must ultimately be man- in the glue that binds them.
aged by the application. Hence, partial The Vanguard. The emerging ethos:
failures in distributed systems bubble YOLO. Modern distributed systems

56 COMM UNICATIO NS O F THE ACM | JA NUA RY 201 8 | VO L . 61 | NO. 1


practice

are simply too large, too heteroge- understanding of the idiosyncrasies We argue the best way to automate the
neous, and too dynamic for these of various components and their in- experts out of the failure-testing loop is
classic approaches to software qual- teractions. The Chaos Engineer then to imitate their best practices in soft-
ity to take root. In reaction, practitio- targets those services and interactions ware and show how the emergence of
ners increasingly rely on resiliency that seem likely to have latent fault tol- sophisticated observability infrastruc-
techniques based on testing and fault erance weaknesses. Not only is this ap- ture makes this possible.
injection.6,14,19,23,27,35 These “black box” proach difficult to scale since it must The order is rapidly fadin.’ For large-
approaches (which perturb and ob- be repeated for every new composition scale distributed systems, the three
serve the complete system, rather of services, but its critical currency— fundamental assumptions of tradi-
than its components) are (arguably) a mental model of the system under tional approaches to software quality
better suited for testing an end-to- study—is hidden away in a person’s are quickly fading in the rearview mir-
end property such as fault tolerance. brain. These points are reminiscent ror. The first to go was the belief that
Instead of deriving guarantees from of a bigger (and more worrying) trend you could rely on experts to solve the
understanding how a system works in industry toward reliability priest- hardest problems in the domain. Sec-
on the inside, testers of the system hoods,7 complete with icons (dash- ond was the assumption that a formal
observe its behavior from the outside, boards) and rituals (playbooks). specification of the system is available.
building confidence that it functions Jepsen is in principle a framework Finally, any program analysis (broadly
correctly under stress. that anyone can use, but to the best of defined) that requires that source code
Two giants have recently emerged our knowledge all of the reported bugs is available must be taken off the ta-
in this space: Chaos Engineering6 and discovered by Jepsen to date were dis- ble. The erosion of these assumptions
Jepsen testing.24 Chaos Engineering, covered by its inventor, Kyle Kingsbury, helps explain the move away from clas-
the practice of actively perturbing pro- who currently operates a “distributed sic academic approaches to resiliency
duction systems to increase overall site systems safety research” consultancy.24 in favor of the black box approaches
resiliency, was pioneered by Netflix,6 Applying Jepsen to a storage system described earlier.
but since then LinkedIn,52 Microsoft,38 requires the superuser carefully read What hope is there of understand-
Uber,47 and PagerDuty5 have developed the system documentation, generate ing the behavior of complex systems
Chaos-based infrastructures. Jepsen workloads, and observe the externally in this new reality? Luckily, the fact
performs black box testing and fault visible behaviors of the system under that it is more difficult than ever to
injection on unmodified distributed test. It is then up to the operator to understand distributed systems from
data management systems, in search choose—from the massive combina- the inside has led to the rapid evolu-
of correctness violations (for example, torial space of “nemeses,” including tion of tools that allow us to under-
counterexamples that show an execu- machine crashes and network parti- stand them from the outside. Call-
tion was not linearizable). tions—those fault schedules that are graph logging was first described by
Both approaches are pragmatic and likely to drive the system into returning Google;51 similar systems are in use
empirical. Each builds an understand- incorrect responses. at Twitter,4 Netflix,1 and Uber,50 and
ing of how a system operates under A human in the loop is the kiss of the technique has since been stan-
faults by running the system and observ- death for systems that need to keep up dardized.43 It is reasonable to assume
ing its behavior. Both approaches offer with software evolution. Human atten- that a modern microservice-based
a pay-as-you-go method to resiliency: tion should always be targeted at tasks Internet enterprise will already have
the initial cost of integration is low, that computers cannot do! Moreover, instrumented its systems to collect
and the more experiments that are the specialists that Chaos and Jepsen call-graph traces. A number of start-
performed, the higher the confidence testing require are expensive and rare. ups that focus on observability have
that the system under test is robust. Here, we show how geniuses can be ab- recently emerged.21,34 Meanwhile,
Because these approaches represent stracted away from the process of fail- provenance collection techniques
a straightforward enrichment of exist- ure testing. for data processing systems11,22,42 are
ing best practices in testing with well- becoming mature, as are operating
understood fault injection techniques, We Don’t Need Another Hero system-level provenance tools.44 Re-
they are easy to adopt. Finally, and Rapidly changing assumptions about cent work12,55 has attempted to infer
perhaps most importantly, both ap- our visibility into distributed system causal and communication structure
proaches have been shown to be effec- internals have made obsolete many of distributed computations from
tive at identifying bugs. if not all of the classic approaches to raw logs, bringing high-level explana-
Unfortunately, both techniques software quality, while emerging “cha- tions of outcomes within reach even
also have a fatal flaw: they are manual os-based” approaches are fragile and for uninstrumented systems.
processes that require an extremely unscalable because of their genius-in-
sophisticated operator. Chaos Engi- the-loop requirement. Regarding testing distributed systems.
neers are a highly specialized subclass We present our vision of automated Chaos Monkey, like they mention, is awe-
of site reliability engineers. To devise failure testing by looking at how the some, and I also highly recommend get-
a custom fault injection strategy, a same changing environments that has- ting Kyle to run Jepsen tests.
Chaos Engineer typically meets with tened the demise of time-tested resil- —Commentator on HackerRumor
different service teams to build an iency techniques can enable new ones.

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 57
practice

Away from the experts. While this services.25 To understand the high- of properties that are either maintained
quote is anecdotal, it is difficult to level interactions among services, the throughout the system’s execution (for
imagine a better example of the fun- engineer will then peruse call-graph example, system invariants or safety
damental unscalability of the current traces in a trace repository.3 properties) or established during execu-
state of the art. A single person can- A Jepsen superuser typically begins tion (for example, liveness properties).
not possibly keep pace with the ex- by reviewing the product documenta- Most distributed systems with which
plosion of distributed system imple- tion, both to determine the guarantees we interact, though their executions
mentations. If we can take the human that the system should uphold and to may be unbounded, nevertheless pro-
out of this critical loop, we must; if we learn something about the mecha- vide finite, bounded interactions that
cannot, we should probably throw in nisms by which it does so. From there, have outcomes. For example, a broad-
the towel. the superuser builds a model of the cast protocol may run “forever” in a re-
The first step to understanding how behavior of the system based on inter- active system, but each broadcast deliv-
to automate any process is to compre- action with the system’s external API. ered to all group members constitutes
hend the human component that we Since the systems under study are typ- a successful execution.
would like to abstract away. How do ically data management and storage, By viewing distributed systems in
Chaos Engineers and Jepsen superus- these interactions involve generating this way, we can revise the definition:
ers apply their unique genius in prac- histories of reads and writes.31 A system is fault tolerant if it provides
tice? Here is the three-step recipe com- The first step to understanding what sufficient mechanisms to achieve its
mon to both approaches. can go wrong in a distributed system is successful outcomes despite the given
Step 1: Observe the system in action. watching things go right: observing the class of faults.
The human element of the Chaos and system in the common case. Step 3: Formulate experiments that
Jepsen processes begins with princi- Step 2. Build a mental model of how target weaknesses in the façade. If we
pled observation, broadly defined. the system tolerates faults. The com- could understand all of the ways in
A Chaos Engineer will, after study- mon next step in both approaches is which a system can obtain its good
ing the external API of services rel- the most subtle and subjective. Once outcomes, we could understand which
evant to a given class of interactions, there is a mental model of how a dis- faults it can tolerate (or which faults it
meet with the engineering teams to tributed system behaves (at least in the could be sensitive to). We assert that
better understand the details of the common case), how is it used to help (whether they realize it or not!) the
implementations of the individual choose the appropriate faults to inject? process by which Chaos Engineers
At this point we are forced to dabble in and Jepsen superusers determine, on
Figure 1. Our vision of automated failure conjecture: bear with us. a system-by-system basis, which faults
testing.
Fault tolerance is redundancy. Giv- to inject uses precisely this kind of rea-
en some fixed set of faults, we say that soning. A target experiment should
a system is “fault tolerant” exactly if it exercise a combination of faults that
models fault
explanations of operates correctly in all executions in knocks out all of the supports for an ex-
injection
redundancy which those faults occur. What does it pected outcome.
mean to “operate correctly”? Correct- Carrying out the experiments turns
ness is a system-specific notion, but, out to be the easy part. Fault injection
broadly speaking, is expressed in terms infrastructure, much like observability
infrastructure, has evolved rapidly in
Figure 2. Fault injection and fault-tolerant code. recent years. In contrast to random,
coarse-grained approaches to distrib-
uted fault injection such as Chaos
API API API API API Monkey,23 approaches such as FIT
(failure injection testing)17 and Grem-
lin32 allow faults to be injected at the
APP1 APP1 APP2 APP2
caller granularity of individual requests with
high precision.
Step 4. Profit! This process can be ef-
fectively automated. The emergence of
sophisticated tracing tools described
earlier makes it easier than ever to
fault build redundancy models even from
the executions of black box systems.
callee
The rapid evolution of fault injection
infrastructure makes it easier than
ever to test fault hypotheses on large-
scale systems. Figure 1 illustrates how
the automation described in this here
fits neatly between existing observ-

58 COMM UNICATIO NS O F THE ACM | JA NUA RY 201 8 | VO L . 61 | NO. 1


practice

ability infrastructure and fault injec- (manually) identified by Kingsbury.30


tion infrastructure, consuming the A later iteration of LDFI is deployed at
former, maintaining a model of system Netflix,1 where (much like the illustra-
redundancy, and using it to param- tion in Figure 1) it was implemented
eterize the latter. Explanations of sys-
tem outcomes and fault injection in- The rapid evolution as a microservice that consumes traces
from a call-graph repository service and
frastructures are already available. In
the current state of the art, the puzzle
of fault injection provides inputs for a fault injection ser-
vice. Since its deployment, LDFI has
piece that fits them together (models of infrastructure identified 11 critical bugs in user-fac-
redundancy) is a manual process. LDFI
(as we will explain) shows that automa-
makes it easier ing applications at Netflix.1

tion of this component is possible. than ever to test Rumors from the Future

A Blast from the Past


fault hypotheses The prior research presented earlier is
only the tip of the iceberg. Much work
In previous work, we introduced a bug- on large-scale still needs to be undertaken to realize
finding tool called LDFI (lineage-driven
fault injection).2 LDFI uses data prove- systems. the vision of fully automated failure
testing for distributed systems. Here,
nance collected during simulations of we highlight nascent research that
distributed executions to build deriva- shows promise and identifies new di-
tion graphs for system outcomes. These rections that will help realize our vision.
graphs function much like the models Don’t overthink fault injection. In the
of system redundancy described ear- context of resiliency testing for distribut-
lier. LDFI then converts the derivation ed systems, attempting to enumerate
graphs into a Boolean formula whose and faithfully simulate every possible
satisfying assignments correspond to kind of fault is a tempting but dis-
combinations of faults that invalidate tracting path. The problem of under-
all derivations of the outcome. An ex- standing all the causes of faults is not
periment targeting those faults will directly relevant to the target, which
then either expose a bug (that is, the ex- is to ensure that code (along with its
pected outcome fails to occur) or reveal configuration) intended to detect and
additional derivations (for example, af- mitigate faults performs as expected.
ter a timeout, the system fails over to a Consider Figure 2: The diagram on
backup) that can be used to enrich the the left shows a microservice-based
model and constrain future solutions. architecture; arrows represent calls
At its heart, LDFI reapplies well- generated by a client request. The
understood techniques from data right-hand side zooms in on a pair of
management systems, treating fault interacting services. The shaded box
tolerance as a materialized view main- in the caller service represents the
tenance problem.2,13 It models a dis- fault tolerance logic that is intended
tributed system as a query, its expect- to detect and handle faults of the cal-
ed outcomes as query outcomes, and lee. Failure testing targets bugs in this
critical facts such as “replica A is up at logic. The fault tolerance logic targeted
time t” and “there is connectivity be- in this bug search is represented as the
tween nodes X and Y during the inter- shaded box in the caller service, while
val i . . . j” as base facts. It can then ask the injected faults affect the callee.
a how-to query:37 What changes to base The common effect of all faults, from
data will cause changes to the derived the perspective of the caller, is explicit
data in the view? The answers to this error returns, corrupted responses,
query are the faults that could, accord- and (possibly infinite) delay. Of these
ing to the current model, invalidate the manifestations, the first two can be ad-
expected outcomes. equately tested with unit tests. The last
The idea seems far-fetched, but the is difficult to test, leading to branches
LDFI approach shows a great deal of of code that are infrequently executed.
promise. The initial prototype demon- If we inject only delay, and only at com-
strated the efficacy of the approach at ponent boundaries, we conjecture that
the level of protocols, identifying bugs we can address the majority of bugs re-
in replication, broadcast, and commit lated to fault tolerance.
protocols.2,46 Notably, LDFI reproduced Explanations everywhere. If we can
a bug in the replication protocol used by provide better explanations of system
the Kafka distributed log26 that was first outcomes, we can build better models

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 59
practice

of redundancy. Unfortunately, a bar- to embrace (rather than abstracting


rier to entry for systems such as LDFI away) this uncertainty.
is the unwillingness of software de- Distributed systems are probabi-
velopers and operators to instrument listic by nature and are arguably bet-
their systems for tracing or provenance
collection. Fortunately, operating sys- The container ter modeled probabilistically. Future
directions of work include the proba-
tem-level provenance-collection tech-
niques are mature and can be applied
revolution makes bilistic representation of system re-
dundancy and an exploration of how
to uninstrumented systems. simulating this representation can be exploited to
Moreover, the container revolution
makes simulating distributed execu-
distributed guide the search of fault experiments.
We encourage the research community
tions of black box software within a executions of to join in exploring alternative internal
single hypervisor easier than ever. We
are actively exploring the collection
black-box software representations of system redundancy.
Turning the explanations inside
of system call-level provenance from within a single out. Most of the classic work on data
unmodified distributed software in
order to select a custom-tailored fault hypervisor easier provenance in database research has
focused on aspects related to human-
injection schedule. Doing so requires than ever. computer interaction. Explanations of
extrapolating application-level causal why a query returned a particular result
structure from low-level traces, iden- can be used to debug both the query
tifying appropriate cut points in an and the initial database—given an un-
observed execution, and finally syn- expected result, what changes could be
chronizing the execution with fault made to the query or the database to fix
injection actions. it? By contrast, in the class of systems
We are also interested in the pos- we envision (and for LDFI concretely),
sibility of inferring high-level explana- explanations are part of the internal
tions from even noisier signals, such as language of the reasoner, used to con-
raw logs. This would allow us to relax struct models of redundancy in order
the assumption that the systems un- to drive the search through faults.
der study have been instrumented to Ideally, explanations should play a
collect execution traces. While this is role in both worlds. After all, when a
a difficult problem, work such as the bug-finding tool such as LDFI identi-
Mystery Machine12 developed at Face- fies a counterexample to a correctness
book shows great promise. property, the job of the programmers
Toward better models. The LDFI has only just begun—now they must un-
system represents system redundancy dertake the onerous job of distributed
using derivation graphs and treats the debugging. Tooling around debugging
task of identifying possible bugs as a has not kept up with the explosive pace
materialized-view maintenance prob- of distributed systems development.
lem. LDFI was hence able to exploit We continue to use tools that were de-
well-understood theory and mecha- signed for a single site, a uniform mem-
nisms from the history of data man- ory, and a single clock. While we are not
agement systems research. But this is certain what an ideal distributed debug-
just one of many ways to represent how ger should look like, we are quite certain
a system provides alternative computa- that it does not look like GDB (GNU Proj-
tions to achieve its expected outcomes. ect debugger).36 The derivation graphs
A shortcoming of the LDFI approach used by LDFI show how provenance can
is its reliance on assumptions of de- also serve a role in debugging by provid-
terminism. In particular, it assumes ing a concise, visual explanation of how
that if it has witnessed a computation the system reached a bad state.
that, under a particular contingency This line of research can be pushed
(that is, given certain inputs and in the further. To understand the root causes
presence of certain faults), produces of a bug in LDFI, a human operator
a successful outcome, then any future must review the provenance graphs of
computation under that contingency the good and bad executions and then
will produce the same outcome. That examine the ways in which they differ.
is to say, it ignores the uncertainty in Intuitively, if you could abstractly
timing that is fundamental to distrib- subtract the (incomplete by assump-
uted systems. A more appropriate way tion) explanations of the bad outcomes
to model system redundancy would be from the explanations of the good out-

60 COMM UNICATIO NS O F THE ACM | JA NUA RY 201 8 | VO L . 61 | NO. 1


practice

comes,10 then the root cause of the dis- 6. Basiri, A. et al. Chaos Engineering. IEEE Software 33, 3 36. Matloff, N., Salzman, P.J. The Art of Debugging with
(2016), 35–41. GDB, DDD, and Eclipse. No Starch Press, 2008.
crepancy would be likely to be near the 7. Beyer, B., Jones, C., Petoff, J., Murphy, N.R. Site 37. Meliou, A., Suciu, D. Tiresias: The database oracle for
“frontier” of the difference. Reliability Engineering. O’Reilly, 2016. how-to queries. Proceedings of the ACM SIGMOD
8. Birrell, A.D., Nelson, B.J. Implementing remote International Conference on the Management of Data
procedure calls. ACM Trans. Computer Systems 2, 1 (2012), 337-348.
Conclusion (1984), 39–59. 38. Microsoft Azure Documentation. Introduction to the
9. Chandra, T.D., Hadzilacos, V., Toueg, S. The weakest fault analysis service, 2016; https://azure.microsoft.
A sea change is occurring in the tech- failure detector for solving consensus. J.ACM 43, 4 com/en-us/documentation/articles/ service-fabric-
niques used to determine whether (1996), 685–722. testability-overview/.
10. Chen, A. et al. The good, the bad, and the differences: 39. Musuvathi, M. et al. CMC: A pragmatic approach to
distributed systems are fault tolerant. better network diagnostics with differential model checking real code. ACM SIGOPS Operating
The emergence of fault injection ap- provenance. In Proceedings of the ACM SIGCOMM Systems Review. In Proceedings of the 5th Symposium
Conference (2016), 115–128. on Operating Systems Design and Implementation 36
proaches such as Chaos Engineering 11. Chothia, Z., Liagouris, J., McSherry, F., Roscoe, T. (2002), 75–88.
and Jepsen is a reaction to the erosion Explaining outputs in modern data analytics. In 40. Musuvathi, M. et al. Finding and reproducing
Proceedings of the VLDB Endowment 9, 12 (2016): Heisenbugs in concurrent programs. In Proceedings
of the availability of expert program- 1137–1148. of the 8th Usenix Conference on Operating Systems
mers, formal specifications, and uni- 12. Chow, M. et al. The Mystery Machine: End-to-end Design and Implementation (2008), 267–280.
performance analysis of large-scale Internet services. 41. Newcombe, C. et al. Use of formal methods at
form source code. For all of their prom- In Proceedings of the 11th Usenix Conference on Amazon Web Services. Technical Report, 2014; http://
Operating Systems Design and Implementation lamport.azurewebsites.net/tla/formal-methods-
ise, these new approaches are crippled amazon.pdf.
(2014), 217–231.
by their reliance on superusers who 13. Cui, Y., Widom, J., Wiener, J.L. Tracing the lineage of 42. Olston, C., Reed, B. Inspector Gadget: A framework
view data in a warehousing environment. ACM Trans. for custom monitoring and debugging of distributed
decide which faults to inject. Database Systems 25, 2 (2000), 179–227. data flows. In Proceedings of the ACM SIGMOD
To address this critical shortcom- 14. Dawson, S., Jahanian, F., Mitton, T. ORCHESTRA: A International Conference on the Management of Data
Fault Injection Environment for Distributed Systems. (2011), 1221–1224.
ing, we propose a way of modeling and In Proceedings of the 26th International Symposium 43. OpenTracing. 2016; http://opentracing.io/.
ultimately automating the process on Fault-tolerant Computing, (1996). 44. Pasquier, T.F. J.-M., Singh, J., Eyers, D.M., Bacon, J.
15. Fischer, M.J., Lynch, N.A., Paterson, M.S. Impossibility CamFlow: Managed data-sharing for cloud services,
carried out by these superusers. The of distributed consensus with one faulty process. 2015; https://arxiv.org/pdf/1506.04391.pdf.
enabling technologies for this vision J. ACM 32, 2 (1985): 374–382; https://groups.csail.mit. 45. Patterson, D.A., Gibson, G., Katz, R.H. A case for
edu/tds/papers/Lynch/jacm85.pdf. redundant arrays of inexpensive disks (RAID). In
are the rapidly improving observabil- 16. Fisman, D., Kupferman, O., Lustig, Y. On verifying Proceedings of the 1988 ACM SIGMOD International
ity and fault injection infrastructures fault tolerance of distributed protocols. In Tools Conference on Management of Data, 109–116;
and Algorithms for the Construction and Analysis of http://web.mit.edu/6.033/2015/wwwdocs/papers/
that are becoming commonplace in Systems, Lecture Notes in Computer Science 4963, Patterson88.pdf.
the industry. While LDFI provides con- Springer Verlag (2008). 315–331. 46. Ramasubramanian, K. et al. Growing a protocol. In
17. Gopalani, N., Andrus, K., Schmaus, B. FIT: Failure Proceedings of the 9th Usenix Workshop on Hot Topics
structive proof that this approach is injection testing. Netflix Technology Blog; http:// in Cloud Computing (2017).
possible and profitable, it is only the techblog.netflix.com/2014/10/fit-failure-injection- 47. Reinhold, E. Rewriting Uber engineering: The
testing.html. opportunities microservices provide. Uber Engineering,
beginning. Much work remains to be 18. Gray, J. Why do computers stop and what can 2016; https: //eng.uber.com/building-tincup/.
48. Saltzer, J. H., Reed, D.P., Clark, D.D. End-to-end
done in targeting faults at a finer grain, be done about it? Tandem Technical Report 85.7
arguments in system design. ACM Trans. Computing
(1985); http://www.hpl.hp.com/techreports/
constructing more accurate models of tandem/TR-85.7.pdf. Systems 2, 4 (1984): 277–288.
49. Sandberg, R. The Sun network file system: design,
system redundancy, and providing bet- 19. Gunawi, H.S. et al. FATE and DESTINI: A framework
implementation and experience. Technical report, Sun
for cloud recovery testing. In Proceedings of the 8th
ter explanations to end users of exactly Usenix Conference on Networked Systems Design Microsystems. In Proceedings of the Summer 1986
and Implementation (2011), 238–252; http://db.cs. Usenix Technical Conference and Exhibition.
what went wrong when bugs are identi- 50. Shkuro, Y. Jaeger: Uber’s distributed tracing system.
berkeley.edu/papers/nsdi11-fate-destini.pdf.
fied. The distributed systems research 20. Holzmann, G. The SPIN Model Checker: Primer and Uber Engineering, 2017; https://uber.github.io/jaeger/.
Reference Manual. Addison-Wesley Professional, 2003. 51. Sigelman, B.H. et al. Dapper, a large-scale distributed
community is invited to join in explor- 21. Honeycomb. 2016; https://honeycomb.io/. systems tracing infrastructure. Technical report.
ing this new and promising domain. 22. Interlandi, M. et al. Titian: Data provenance support in Research at Google, 2010; https://research.google.
Spark. In Proceedings of the VLDB Endowment 9, 33 com/pubs/pub36356.html.
(2015), 216–227. 52. Shenoy, A. A deep dive into Simoorg: Our open source
23. Izrailevsky, Y., Tseitlin, A. The Netflix Simian Army. failure induction framework. Linkedin Engineering,
Related articles Netflix Technology Blog; http: //techblog.netflix. 2016; https://engineering.linkedin.com/blog/2016/03/
on queue.acm.org com/2011/07/ netflix-simian-army.html. deep-dive-Simoorg-open-source-failure-induction-
24. Jepsen. Distributed systems safety research, 2016; framework.
Fault Injection in Production http://jepsen.io/. 53. Yang, J. et al.L., Zhou, L. MODIST: Transparent
25. Jones, N. Personal communication, 2016. model checking of unmodifed distributed systems.
John Allspaw In Proceedings of the 6th Usenix Symposium on
26. Kafka 0.8.0. Apache, 2013; https://kafka.apache.
http://queue.acm.org/detail.cfm?id=2353017 org/08/documentation.html. Networked Systems Design and Implementation
27. Kanawati, G.A., Kanawati, N.A., Abraham, J.A. Ferrari: (2009), 213–228.
The Verification of a Distributed System 54. Yu, Y., Manolios, P., Lamport, L. Model checking TLA+
A flexible software-based fault and error injection
Caitie McCaffrey system. IEEE Trans. Computers 44, 2 (1995): 248–260. specifications. In Proceedings of the 10th IFIP WG
http://queue.acm.org/detail.cfm?id=2889274 28. Kendall, S.C., Waldo, J., Wollrath, A., Wyant, G. A note 10.5 Advanced Research Working Conference on
on distributed computing. Technical Report, 1994. Sun Correct Hardware Design and Verification Methods
Injecting Errors for Fun and Profit Microsystems Laboratories. (1999), 54–66.
Steve Chessin 29. Killian, C.E., Anderson, J.W., Jhala, R., Vahdat, A. Life, 55. Zhao, X. et al. Lprof: A non-intrusive request flow
death, and the critical transition: Finding liveness profiler for distributed systems. In Proceedings of the
http://queue.acm.org/detail.cfm?id=1839574 11th Usenix Conference on Operating Systems Design
bugs in systems code. Networked System Design and
Implementation, (2007); 243–256. and Implementation (2014), 629–644.
References 30. Kingsbury, K. Call me maybe: Kafka, 2013; http://
1. Alvaro, P. et al. Automating failure-testing research aphyr.com/posts/293-call-me-maybe-kafka. Peter Alvaro is an assistant professor of computer
at Internet scale. In Proceedings of the 7th ACM 31. Kingsbury, K. Personal communication, 2016. science at the University of California Santa Cruz,
Symposium on Cloud Computing (2016), 17–28. 32. Lafeldt, M. The discipline of Chaos Engineering. where he leads the Disorderly Labs research group
2. Alvaro, P., Rosen, J., Hellerstein, J.M. Lineage-driven Gremlin Inc., 2017; https://blog.gremlininc.com/the- (disorderlylabs.github.io).
fault injection. In Proceedings of the ACM SIGMOD discipline-of-chaos-engineering-e39d2383c459.
International Conference on Management of Data 33. Lampson, B.W. Atomic transactions. In Distributed Severine Tymon is a technical writer who has written
(2015), 331–346. Systems—Architecture and Implementation, An documentation for both internal and external users
3. Andrus, K. Personal communication, 2016. Advanced Cours: (1980), 246–265; https://link. of enterprise and open source software, including for
4. Aniszczyk, C. Distributed systems tracing with Zipkin. springer.com/chapter/10.1007%2F3-540-10571-9_11. Microsoft, CNET, VMware, and Oracle.
Twitter Engineering; https://blog.twitter.com/2012/ 34. LightStep. 2016; http://lightstep.com/.
distributed-systems-tracing-with-zipkin. 35. Marinescu, P.D., Candea, G. LFI: A practical and
5. Barth, D. Inject failure to make your systems more general library-level fault injector. In IEEE/IFIP
reliable. DevOps.com; http://devops.com/2014/06/03/ International Conference on Dependable Systems and Copyright held by owners/authors.
inject-failure/. Networks (2009). Publication rights licensed to ACM. $15.00.

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 61
practice
DOI:10.1145/ 3132261


Article development led by
queue.acm.org

Building a decentralized
Web-delivery model.
BY JACOB LOVELESS

Cache
Me If
You Can I was stunned and heartbroken. She
looked up and said, “But this is great,
because what you’ve done here is de-
fine the problem more concretely.” She
continued with a simple truth that I
YEARS AGO I squandered most of my summer break have carried with me ever since:
locked inside my apartment, tackling an obscure “Most times, defining the problem
is harder and more valuable than find-
problem in network theory—the bidirectional channel ing the answer. The world needs hard,
capacity problem. I was convinced that I was close to well-defined problems. Generally, only
one or two people work together on an
a breakthrough. (I wasn’t.) Papers were everywhere, answer—but hundreds work on a well-
intermingled with the remnants of far too many 10¢ defined problem.”
Taco Tuesday wrappers. And so, dear reader, this is where I
would like to begin. This article looks
A good friend stopped by to bring better food, lend at the problems inherent in building
a mathematical hand, and put an end to my solitary a more decentralized Internet. Au-
dacious? Yes, but this has become a
madness. She listened carefully while I jumped across renewed focus in recent years, even
the room grabbing papers and incoherently babbling by the father of the Web himself (see
about my “breakthrough.” Tim Berners-Lee’s Solid project4).
Several companies and open source
Then she somberly grabbed a pen and wrote out the projects are now focusing on differ-
flaw that I had missed, obliterating the proof. ent aspects of the “content-delivery”

62 COM MUNICATIO NS O F TH E AC M | JA NUA RY 201 8 | VO L . 61 | NO. 1


problem. Our company Edgemesh lation, no spying. Information would tion: centralized hosting, “big datacen-
(https://edgemesh.com) is working be totally free in every sense of the ter” content-delivery networks (CDNs),
on peer-enhanced client-side content word.” The story line revolves around highly distributed CDNs, and P2P net-
acceleration, alongside other next- the idea that thousands of users would works. Of these, Leighton noted that:
generation content-delivery networks allocate a small portion of their avail- “P2P can be thought of as taking the
such as Peer5 (https://peer5.com) and able storage on their mobile devices, distributed architecture to its logical
Streamroot (https://streamroot.io), and that the Pied Piper software would extreme, theoretically providing nearly
both of which are focused on video de- assemble the storage across these de- infinite scalability. Moreover, P2P of-
livery. Others, such as the open source vices in a distributed storage “cloud.” fers attractive economics under cur-
InterPlanetary File System (IPFS; Then, of course, phones explode and rent network pricing structures.”11
https://ipfs.io) project are looking at hilarity ensues. He then noted what others have
completely new ways of defining and The core idea of a distributed Inter- found in the past, that although the
distributing and defining “the Web.” net does make sense, but how would P2P design is theoretically the most
Indeed, the concept of a better Inter- it be built? As I learned in my self-im- scalable, there are several practical is-
net has crept into popular media. In posed solitary confinement so long sues, specifically throughput, availabil-
season 4 of HBO’s sitcom Silicon Val- ago, before diving into possible solu- ity, and capacity.
ley, the protagonist Richard Hendricks tions, you need to define the problems Throughput. The most commonly
devises a new way to distribute content more clearly. noted issue is the limited uplink capac-
across the Internet in a completely dis- ity of edge devices, as noted by Leigh-
tributed manner using a P2P protocol. Problems of a Distributed Internet ton in his 2008 article:
IMAGE BY OPTIMA RC

“If we could do it, we could build a com- In 2008, Tom Leighton, cofounder of P2P faces some serious limitations;
pletely decentralized version of our cur- Akamai, the largest content-distribution most notably because the total down-
rent Internet,” Hendricks says, “with no network in the world, outlined four ma- load capacity of a P2P network is
firewalls, no tolls, no government regu- jor architectures for content distribu- throttled by its total uplink capacity.

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 63
practice

Figure 1. Bandwidth rates (upload/download, broadband/mobile).

Terrestrial YoY% Mobile YoY%


Download Upload Download Upload
Region (Mbps) (Mbps) Download Upload (Mbps) (Mbps) Download Upload
United States 54.97 18.88 42% 51% 19.61 7.94 794%  28%
United Kingdom 40.12 40.12 18% 23% 24.19 10.03 38% 31%
Singapore 190.9 178.69 18% 20% 45.61 17.93 16% 13%
Hong Kong 153.53 146.69 13% 0% 18.9 8.78 5% 1%
Brazil 16.53 6.08 8% 11% 11.31 4.27 37% 35%

Unfortunately, for consumer broad- SPDY fame, looked at the relationship world’s population is connected10—
band connections, uplink speeds between end-client bandwidth and around 3.7 billion people, many with
tend to be much lower than downlink page-load time, he discovered that multiple devices—so that’s a big
speeds: Comcast’s standard high- “bandwidth doesn’t matter (much).”3 pool of edge devices. Peter Levine of
speed Internet package, for example, Once the client’s available bandwidth the venture capital firm Andressen
offers 6Mbps for download but only reached 5Mbps, the impact on the end Horowitz has taken us out a few years
384Kbps for upload (1/16th of down- user’s page load is negligible. Figure further and predicted we will shortly
load throughput).11 2 shows page-load time as a function be going beyond billions and heading
This limitation is not as acute today of client bandwidth, assuming a fixed toward trillions of devices.12
as it was nearly a decade ago when up- RTT (round-trip time) of 60ms. You can get a sense of scale by look-
load speeds in the U.S. hovered around Availability. The next major hurdle ing at an Edgemesh network for a sin-
.5Mbps. Figure 1 shows the current for the distributed Internet is peer gle e-commerce customer’s website
upload and download as taken from availability. Namely, are there enough with a global client base.
Speedtest.net (http://www.speedtest. peers, and are they online and available It’s probably safe to say there are
net/reports/). These data points show for enough time to provide value? In the enough devices online, but does the
that global “last-mile” throughput past 10 years the edge device count has average user stay online long enough
rates are nearly 30 times their 2008 certainly increased, but has it increased to be available? What is “long enough”
counterparts. Is this enough? Would a enough? Looking at “Internet Trends for a peer to be useful?
peer with an upload rate at the lower 2017,”14 compiled by Mary Meeker of A sensible place to start might be to
quartile of these metrics (~4Mbps) the venture capital firm KPCB, you want peers to be online long enough
suffice? This question has been thor- can see how much the “available peer” for any peer to reach any other peer
oughly explored in regard to actual count has increased over the past ten anywhere on the globe. Given that, we
webpage load time. years from mobile alone (see Figure 3). can set some bounds.
When Mike Belshe, of Google Today, approximately 49% of the The circumference of the Earth is
approximately 40,000km. The rule of
Figure 2. Page load time as a function of client bandwidth. thumb is that light takes 4.9 micro-
seconds to move 1km through fiber
optics. That would mean data could
3500
circumnavigate the globe in about
1/5th of a second (196 milliseconds).
3000 3106 Oh, if wishing only made it so, but as
Stanford Unversity’s Stuart Cheshire
2500
points out in “It’s the Latency, Stu-
Page Load Time (ms)

pid,”6 the Internet operates at least a


2000 factor of two slower than this. This 2x
1950
slowdown would mean it would take
1500 1632 approximately 400 milliseconds to
1496 1443 1406 1388 1379 1368 1360 get around the globe. Unfortunately,
1000 I have spent some time in telecom—
specifically in latency-optimized busi-
500 nesses13 —and I think this time needs
to be doubled again to account for
0 global transit routing; thus, the data
1 2 3 4 5 6 7 8 9 10
can go around the world in some 800
Client Bandwidth (Mbps)
milliseconds. If users are online and
available for sub-800 millisecond in-

64 COMMUNICATIO NS O F TH E AC M | JA NUA RY 201 8 | VO L . 61 | NO. 1


practice

tervals, this may become problem- Figure 3. Mary Meeker’s 2017 smartphone analytics.
atic. Since most decentralized solu-
tions would require the user to visit
global smartphone installed base (MM) Y/Y growth (%)
the content (for example, be on the 3500 70
website), the real question is, what is

Global Smartphone Installed Base (MM)


the average page-view time for users 3000 60
across the globe?
2500 50
Turns out it is 3 minutes 36 sec-

Y/y Growth (%)


onds,24 or 216,000 milliseconds. 2000 40
To double-check this, I took all
peer-session times (the amount of 1500 30
time Edgemesh peers were online and
connected to the mesh) across the 1000 20
Edgemesh user base for the past six
500 10
months (Figure 4). The average was
right in line at 3 minutes 47 seconds. 0 0
In either case, if the node stays 2009 2010 2011 2012 2013 2014 2015 2016
online just long enough to down- Global Smartphone Installed Base = 2.8b...
+12% Y/y Vs. +25% (2015) / +37% (2014)
load a single webpage, that would be
enough time for the data to circum-
navigate the globe 270 times, cer-
tainly long enough to contact a peer
Global Smartphone Unit Shipments (MM)

anywhere on Earth. other Android


Capacity. If enough users are online iOS Y/Y growth (%)
1500 50
for a long enough duration, and they
have an acceptable egress throughput 1200 40
(upload bandwidth), all that remains is

Y/y Growth (%)


the question of whether there is enough 900 30
spare capacity (disk space) available to
600 20
provide a functional network.
If we assume a site has 20% of its 300 10
users on mobile and 80% of its users
on desktops—and further expand this 0 0
2009 2010 2011 2012 2013 2014 2015 2016
to 500MB of available capacity per
Global Smartphone Unit Shipments = Continue To Slow...
desktop user and 50MB per mobile @ +3% Y/y Vs. +10% (2015) / +28% (2014)
user (the lower end of browser-avail-
able storage pools)—we can extract
an estimated required mesh size to
achieve a given cache hit rate if the Figure 4. Histogram of peer duration.
requested content follows a Zipf dis-
tribution.1 Essentially, a website with
500GB of static content, that is, about 7 90
Distribution of Peer Connected Durations
16 million average Web images, would (30 Second Buckets) 80
need an online capacity of two million 6
Cumulative Percent of Samples

distinct nodes to achieve a theoretical 70


Percent of Total Sessions

5
offload of 100% of its traffic to a P2P 60
mesh (approximately an 8:1 ratio of
4 50
images to users).
3 40
Enabling a Distributed Internet
Now that we have better defined the 30
2
problems and established the theo- 20
retical feasibility of a new solution, it’s 1
time to look at the technology avail- 10
able to bring to bear on the problem. 0 0
To start, we can constrain our focus a
:0 0
:0 0
:0 0
:0 0
00 1:20

00 :40

:0 0
00 2:20

00 :40

:0 0
00 3:20

00 :40

:0 0
:0 0
00 :40

:0 0
00 5:20

00 :40

00
00 0:0
00 0:2
00 :4
00 1:0

00 2:0

00 :0

00 4:0
00 4:2

00 5:0

6:
0

5
3

bit. Implementations such as IPFS fo-


:0

:0
:0

:0

:0
:0

:0

:0
:0
:0
00

cus on distributing the entire content Session Duration


base, allowing you to free yourself from
the restrictions of Web servers and

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 65
practice

DNS entirely. This is a fantastic whole- critical mass. At Edgemesh, we want- three restrictions:
sale change, but the tradeoff is that it ed to focus on enhancing existing ˲˲ For users, the solution should be
will require users to dramatically mod- Web-content delivery transparently transparent.
ify how they access content. (for example, in the browser) without ˲˲ For developers, the solution should
Since a P2P design is dependent requiring any changes to the user ex- require zero infrastructure changes.
on the total network size, this model perience. This means ensuring that ˲˲ For operations, the solution should
has difficulty growing until it reaches the technology abides by the following be self-managing.
The next question is where exactly
Figure 5. Flow diagram for WebRTC Enhanced asset delivery. to focus.
Fully enabling peer-enhanced de-
first client GET subsequent client GETs livery of all content is difficult and
signal server dangerous, especially allowing for
provides WebRTC signaling
origin or CDN edge and STUN services origin or CDN edge peer-delivered JavaScript to be execut-
ed. Is there an 80% solution? Trends
0. GET HTML 1. Traditional GET 11. websocket request 8. GET HTML posted by HTTP Archive reveal that
for Page of image: asset locate for page static components (images/video/
img1.jpg img1.jpg and
img1.webp fonts/CSS) make up roughly 81% of the
total page weight.9
Given these details, let’s narrow
client DOM client DOM
the focus to enabling/enhancing edge
2. traditional render 16. traditional render
of image: img1.jpg of image: delivery of these more traditional
img1.webp CDN assets and the associated chal-
lenges of moving and storing data.
service worker service worker Moving data: Building a new net-
3. EM prepare image 9. EM client (web work (overlay). To support P2P distribu-
(web worker) worker) sees img1.jpg tion, an overlay network needs to be de-
calc MD5, prepare is in future GET
to register on mesh request queue veloped to allow the P2P connections
10. request both
to operate within the larger existing
4. image conversion img1.jpg or Internet infrastructure. Luckily, such
(web worker) img1.webp from
create img1.webp a stack is available: WebRTC (Real-
12. websocket mesh (locate asset)
from img1.jpg
response: NOTE: request Time Communications19). Started in
img1.jpg @peer1 includes all assets earnest in 2011 by Google, WebRTC is
img1.webp @peer1 on page
an in-browser networking stack that
5. compress and chunk
image(s) (web worker) 13. request optimal enables peer-to-peer communication.
image (img1.webp)
7. register’s new assets from peer
WebRTC is primarily employed by
includes MD5 for both voice and video applications (Google
6. register new assets assets and format 15. deflate img1.webp,
with mesh (web check MDS, insert in Hangouts/Dua/Allo, Slack, Snapchat,
socket) DOM for render Amazon Chime, WhatsApp, Facebook
14. WebRTC img1.webp Messenger) to facilitate peer-to-peer
(chunked and compressed)
to peer video- and audioconferencing.
WebRTC is a big deal; in June 2016
Google provided several key milestones7
from stats it collected, with some addi-
Figure 6. Performance increased by routing preference. tional updates six months later:25
˲˲ Two billion Chrome browsers with
100 WebRTC.
Cumulative Percent of Samples

intra_as ˲˲ One billion WebRTC audio/video


cross_as
80 minutes per week on Chrome.
180-199,
0.490317052 ˲˲ One petabyte of DataChannel traf-
60 fic per week on Chrome (0.1% of all
Web traffic).
40 ˲˲ 1,200 WebRTC-based companies
380-399,
0.464235869 and projects (it was 950 in June).
20 ˲˲ Five billion mobile app downloads
that include WebRTC.
0
WebRTC support exists in the ma-
39

88 19

94 99

9
–9

15

21

27

33

39

45

51

57

63

68

75

95

jor browsers—Chrome, Firefox, Edge,


8

8
0–
0–

0–

0–

0–
0–

0–
0–
20

0–

0–

0–
0–

0–
0–
80

20
14

26

50

74
56

80
32

38

44

62

68

and now Safari,2 Comparing WebRTC’s


Latency Buckets (Ms)
five-year adoption against other VoIP-
style protocols shows the scale.8

66 COMMUNICATIO NS O F TH E AC M | JA NUA RY 201 8 | VO L . 61 | NO. 1


practice

WebRTC is a user-space network- Figure 7. Effect of P2P enhanced background caching on load time.
ing stack. Unlike HTTP, which is de-
pendent on TCP for transfer, WebRTC
has its roots in a much older proto- accelerated standard

col—Stream Control Transmission


4249 7674
Protocol (SCTP)—and encapsulates page views page views
this in User Datagram Protocol (UDP).
This allows for much lower latency 4248 4235
transfer, removes head-of-line block- visitors visitors
ing, and, as a separate network stack,
2.568 4.838
allows WebRTC to use significantly average load time (seconds) average load time (seconds)
more bandwidth than HTTP alone.
SCTP is a little like the third wheel 55.658 56.775
of the transport layer of the Open Sys- max load time (seconds) max load time (seconds)
tems Interconnection (OSI) model—
we often forget it’s there but it has 0.403 0.852
average net time (seconds) average net time (seconds)
some very powerful features. Originally
introduced to support signaling in IP 9.361 36.465
networks,22 SCTP quickly found adop- max net time (seconds) max net time (seconds)
tion in next-generation networks (IMS
and LTE). 803 3524
views over 4 seconds views over 4 seconds
WebRTC leverages SCTP to provide
a reliable, message-oriented delivery 1779 5912
transport (encapsulated in UDP or views over 2 seconds views over 2 seconds
TCP, depending on the implemen-
tation5). Alongside SCTP, WebRTC
leverages two additional major pro-
tocols: Datagram Transport Layer Se- Figure 8. Page load time components: Accelerated vs. standard.
curity (DTLS) for security (a derivative
of SSL) and Interactive Connectivity
DNS TCP request response DOM DOM DOM
Establishment (ICE) to allow for sup- time time time time loading interactive complete
port in network address translation time time time
(NAT) environments, for example, accelerated
firewall traversal.
The details of the ICE protocol and standard
how it works with signaling servers—
for example, STUN and TURN—are total

beyond the scope of this article, but


suffice it to say that WebRTC has all
the necessary plumbing to enable real 0 1 2 3 4 5 6
Page Load Time (Seconds)
peer-to-peer networking.
A simple example is a WebRTC Gol-
ang implementation by Serene Han.21
Han’s chat demo allows you to pass cd /go/src/github.com/kerose- service worker is a new feature avail-
the SDP (Session Description Proto- rene/go-webrtc && \ able in most browsers that allows for
col) details between two machines go run demo/chat/chat.go a background process to run in the
(copy paste signaling) to enable P2P browser. Like a Web worker, which can
chat. To run this yourself (assuming If you prefer a browser-native be used as a proxy for threads, a service
you have a Docker instance locally), starting point, look at simple-peer worker has restrictions on how it can
simply do the following: module,20 originally from Feross interact and exchange data with the
Aboukhadijeh’s work with WebTor- Document Object Model (DOM).
docker run –it golang bash rent (https://webtorrent.io). The service worker does, however,
Storing data: Browser storage op- have a powerful feature that was origi-
Then in the Docker instance, this one- tions and asset interception. The next nally developed to support offline page
liner will get you set up: step is finding a method both to inter- loads: the Fetch API.16 The Fetch API
cept standard HTTP requests and to allows a service worker to intercept re-
apt-get update && apt-get in- develop a system for storing peer-to- quest and response calls, similar to an
stall libx11-dev -y && \ peer delivered assets. For the request- HTTP proxy.
go get github.com/keroserene/ intercept problem, you have to look no With the service worker online, you
go-webrtc && \ further than the service worker.18 The can now intercept traditional HTTP

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 67
practice

requests and offload these requests es for the next pages, effectively elimi- References
to the P2P network. The last remain- nating the latency altogether. This is a 1. Adamic, L.A., Huberman, B.A. Zipf’s law and the
Internet. Glottometrics 3 (2002), 143–150; http://
ing component will be a browser local current area of research for the team www.hpl.hp.com/research/idl/papers/ranking/
storage model where P2P-accelerated at Edgemesh, but early solutions have adamicglottometrics.pdf.
2. Apple Inc. Safari 11.0; https://developer.apple.com/
content can be stored and distributed. already shown significant promise. library/content/releasenotes/General/
Although no fewer than five different Figure 7 shows the effective render WhatsNewInSafari/Safari_11_0/Safari_11_0.html.
3. Belshe, M. More bandwidth doesn’t matter (much),
storage options exist in the browser, time for Edgemesh-enabled clients 2010; https://docs.google.com/a/chromium.org/
the IndexedDB17 implementation is (accelerated) and non-Edgemesh en- viewer?a=v&pid=sites&srcid=
Y2hyb21pdW0ub3JnfGRldnxneDoxMzcy
the only storage API available within a abled clients (standard) for a single OWI1N2I4YzI3NzE2.
service-worker context and the DOM customer domain. The average page- 4. Berners-Lee, T. Solid; https://solid.mit.edu/.
5. BlogGeek.Me. Why was SCTP selected for WebRTC’s
context, where the WebRTC code can load time has been reduced by almost data channel, 2014; https://bloggeek.me/sctp-data-
execute, which is why Edgemesh chose a factor of two. channel/.
6. Cheshire, S. It’s the latency, stupid, 1996–2001;
it as the storage base. Alternatively, the This is most clearly seen when most http://www.stuartcheshire.org/rants/latency.html.
7. Google Groups. WebRTC, 2016; https://groups.google.
CacheStorage API may also be used of the page content can be effectively com/forum/#!topic/discuss-Webrtc/I0GqzwfKJfQ.
within the service-worker context.15 precached, as shown in the page-load 8. Hart, C. WebRTC: One of 2016’s biggest technologies
no one has heard of. WebRTC World, 2017; http://
time statistics of Figure 8. www.webrtcworld.com/topics/webrtc-world/
Implementing a articles/428444-webrtc-one-2016s-biggest-
technologies-no-one-has.htm.
Distributed Internet Conclusion 9. HTTP Archive; http://httparchive.org/trends.php.
We have a theoretically viable model It had been a few days since I had 10. Internet World Stats. World Internet usage and
population statistics—March 31, 2017; http://www.
to support peer-to-peer content de- been outside, and a few more since I internetworldstats.com/stats.htm.
livery. We have a functional network would make myself presentable. For 11. Leighton, T. Improving performance on the Internet.
acmqueue 6, 6 (2008); http://queue.acm.org/detail.
stack to enable ad-hoc efficient peer- the previous few weeks the team and cfm?id=1466449.
to-peer transfer and access to an in- I had been locked inside the office 12. Levine, P. The end of cloud computing. Andreessen
Horowitz; http://a16z.com/2016/12/16/the-end-of-
browser storage medium. And so, the around the clock, essentially rewrit- cloud-computing/.
game is afoot! ing the software from scratch. We 13. Loveless, J. Barbarians at the gateways. acmqueue
11, 8 (2013); http://queue.acm.org/detail.
Figure 5 is a flowchart of the thought it would take a week, but we cfm?id=2536492.
Edgemesh P2P-accelerated content-de- were now three months in. The grow- 14. Meeker, M. Internet trends 2017—code conference.
KPCB; http://www.kpcb.com/internet-trends.
livery system. The figure shows where ing pile of empty delivery bags resting 15. Mozilla Developer Network. CacheStorage, 2017;
https://developer.mozilla.org/en-US/docs/Web/API/
the service-worker framework will en- atop the ad-hoc whiteboard tables we CacheStorage.
able asset interception, and WebRTC were using was making it difficult to 16. Mozilla Developer Network. FetchAPI, 2017;
https://developer.mozilla.org/en-US/docs/Web/API/
(aided by a signal server) will facilitate make out exactly what the big change Fetch_API.
browser-to-browser asset replication. was. We were convinced this was the 17. Mozilla Developer Network. IndexedDB API, 2017;
https://developer.mozilla.org/en-US/docs/Web/
Returning to Mike Belshe’s re- breakthrough we had been looking API/IndexedDB_API.
search, we can start to dig into some of for (turns out it was), and that this ver- 18. Mozilla Developer Network. Using service workers,
2017; https://developer.mozilla.org/en-US/docs/Web/
the key areas to be optimized. Unlike sion would be the one that cracked the API/Service_Worker_API/Using_Service_Workers.
bandwidth, where adding incremen- problem wide open. I was head down 19. Real-time communication in Web browsers (rtcweb)
Charter for Working Group; http://datatracker.ietf.org/
tally more bandwidth above 5Mbps has trying to get my parts to work, and I wg/rtcweb/charter/.
negligible impact on page-load time, was lost. Then I heard the knock at the 20. Simple WebRTC video/voice and data channels.
Github; https://github.com/edgemesh/simple-peer.
latency (RTT) dramatically increases door. She came in and sat down, pa- 21. WebRTC for Go. Github; https://github.com/
page-load time.3 tiently moving aside the empty pizza keroserene/go-webrtc.
22. Wikipedia. Signalling System No. 7;
WebRTC is already an efficient boxes while I babbled on about our https://en.wikipedia.org/wiki/Signalling_System_No._7.
protocol, but the peer-selection big breakthrough and how I was stuck. 23. Wikipedia. Autonomous system;
https://en.wikipedia.org/wiki/
process presents opportunities for Then, just like she had nearly two de- Autonomous_system_(Internet).
24. Wolfgang Digital. E-commerce KPI benchmarks,
further latency reduction. For exam- cades earlier, she grabbed the marker 2016;
ple, if you are located in New York, and said: https://www.wolfgangdigital.com/uploads/
general/KPI_Infopgrahic_2016.jpg.
providing a peer in Tokyo is likely a “Honey, I think I see the issue. You 25. YouTube. WebRTC, 2016;
nonoptimal choice. haven’t properly defined the problem. https://youtu.be/OUfYFMGtPQ0?t=16504.
A simple optimization might be to Most times, defining the problem is
prefer peers that reside in the same net- harder and more valuable than finding Jacob Loveless is chief executive officer at Edgemesh
Corporation, the edge-network acceleration platform.
work, perhaps identified by the auton- the answer. So, what exactly are you try- Previously, he served as CEO of Lucera Financial
omous system (AS)23 number of each ing to solve?” Infrastructures and was a partner at Cantor Fitzgerald,
responsible for running the firm’s global low-latency
peer. Even this simple optimization The world is more connected than trading operations.
can cut the average latency by a factor it ever has been before, and with our
of two. Figure 6 shows performance in- pocket supercomputers and Internet
crease by intra-AS routing preference. of Things’ future, the next generation
Another optimization is choosing of the Web might just be delivered in
which assets to replicate into a peer. a peer-to-peer model. It’s a giant prob-
For example, if a user is currently lem space, but the necessary tools and
browsing the landing page of a site, we technology are here today. We just need Copyright held by owner/author.
can essentially precache all the imag- to define the problem a little better. Publication rights licensed to ACM. $15.00.

68 COMMUNICATIO NS O F TH E AC M | JA NUA RY 201 8 | VO L . 61 | NO. 1


ACM Books.
In-depth.
Innovative.
Insightful.
ACM and Morgan & Claypool Publishers present ACM Books: an all-new series
of educational , research and reference works for the computing
community. Inspired by the need for high-quality computer
science publishing at the graduate, faculty and
professional levels, ACM Books is affordable,
current, and comprehensive in scope.
ACM Books collections are available
under an ownership model with
archival rights included. We
invite you to learn more about
this exciting new program.
For more info please visit
http://books.acm.org
or contact ACM at
ACMbooks-Info@acm.org

M
Association for
Computing Machinery

&C
2 Penn Plaza, Suite 701
New York, NY 10121-0701, USA
Phone: +1-212-626-0658
Email: acmbooks-info@acm.org

M
Morgan & Claypool
Publishers

&C
1210 Fifth Avenue, Suite 250
San Rafael, CA 94901, USA
Phone: +1-415-462-0004
Email: info@morganclaypool.com
contributed articles
DOI:10.1145/ 3158227
as when, say, the “ALS Bucket Chal-
Once a meme gets popular, it will lenge” meme caused a cascade of hu-
manitarian donations,a and for the
have to evolve to keep being popular. worse, as when researchers proved
obesity7 and smoking8 are socially
BY MICHELE COSCIA transmittable diseases. A better theory
of meme spreading could help prevent

Popularity
an outbreak of bad behaviors and favor
positive ones.
Studying memes in general is diffi-
cult because detecting and measuring

Spikes
them objectively is difficult. The incep-
tion of the web 30 years ago made it
easier to focus on a subtype of meme—
the one shared through social media.

Hurt Future
Researchers have since focused on the
effect of timing, social networks, and
limited user attention rather than on
meme content.6,15,23 Being timely and

Chances
shared by actors in key positions of a so-
cial network explains a large portion of
a meme’s virality. While these factors
can help explain the meme ecosystem

for Viral
at large, both are exogenous to the
meme itself. Even if endogenous meme
characteristics have less compelling
predictive power over meme populari-

Propagation of
ty, it is still important to understand
their relationship with virality, as such
understanding can be applied case by
case to specific memes, rather than

Protomemes
produce only a description of the gen-
eral mechanics of the overall system.
For example, we11 showed that success
eschews similarity; successful memes
are generally found at the periphery of
meme-similarity research. The more a

a http://www.alsa.org/fight-als/ice-bucket-
challenge.html

key insights
A MEM E IS a concept introduced by Dawkins12 as an
˽˽ We test the hypothesis that protomemes
equivalent in cultural studies of a gene in biology. A in social media are less likely to be
popular when they are too similar to other
meme is a cultural unit, perhaps a joke, musical tune, protomemes in a large, variegated dataset.
or behavior, that can replicate in people’s minds, ˽˽ We calculate the canonicity of each
spreading from person to person. During the specific use of a protomeme, or how
typical or common is its use.
replication process, memes can mutate and compete ˽˽ We show that canonicity has a non-linear
with each other for attention, because people’s relationship with protomeme popularity,
increasing the similarity between
consciousness has finite capacity. Meme viral protomemes and genes, in that not
all mutations are beneficial for
spreading causes behavioral change, for the better, propagating protomemes.

70 COMMUNICATIO NS O F TH E ACM | JA NUA RY 201 8 | VO L . 61 | NO. 1


OH, YOU’RE A
NEW MEME?

I’M SURE YOU’LL BE


POPULAR FOREVER.
JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 71
contributed articles

meme is imitated, the less the original meme propagation. This is why other complex form of contagion, rather
meme (and all its imitations) will be research did not find content to be a than a simple epidemic.20 Beyond com-
successful in going viral in the future. powerful predictor of success; while puter science, social science research-
Here, we focus on protomemes, or true that success eschews similarity, it ers have found links between a meme’s
all catchphrases used frequently on so- is not true that with dissimilarity content and its virality. Emotionally
cial media that may or may not end up comes success. One explanation might positive content is more viral than neg-
being adopted as memes. We aim to be that protomemes follow the same ative content, although valence alone
extend our earlier work11 by expanding dynamics as genes. Not all mutations is just one of many factors driving
the scope of the dissimilarity-driven are beneficial; some are irrelevant and propagation.3 All such studies inevita-
success theory; providing new evidence some harmful. Future research will bly face the challenges of complex
of the effects of the theory in a dynamic test this theory. spread dynamics, as content that even-
environment; and introducing canon- tually becomes popular might be over-
icity to evaluate protomeme content. Related Approaches looked when it first appears.14
First, we test the dissimilarity-driv- Here, we follow the rich literature Our research perspective focuses on
en success theory on a larger data studying memes as they spread the role of mutation and innovation in
source and on shifting scholarly at- through the web. In our previous meme usage and their relationship
tention from memes to protomemes. work,11 we observed traditional meme with success spikes;21 for example,
The original work11 focused on a small dynamics (such as competition and Adamic et al.1 explored an example
site and very specific subtype of Inter- collaboration in the context of the showing the dynamics of meme muta-
net meme. Here, we focus on Reddit web10) and provided evidence for the tion. Some results in the literature sup-
and Hacker News, two online social me- theory that similarity with existing con- port the role of novelty in content diffu-
dia websites, and consider any kind of tent penalizes a meme’s odds of viral sion,5 while others questioned this
protomeme in the form of frequent success.11 The origin of this line of re- result,16 though in neither case was
and regularly used n-grams that can be search is due to questions raised in the “novelty” strictly defined. Here, we
shared on these websites, rather than broad distribution of meme popularity build on the evidence of a negative rela-
limit ourselves to the image-macro observed multiple times in different tionship between title similarity and
meme subtype studied previously.11 contexts,15,23 consistent with the dy- success on Reddit.17 The difference is
Second, we test the effect of popu- namics of fads.2 that Lakkaraju et al.17 considered how
larity spikes on the future popularity of Many research projects have sought similar an instance of a meme is to the
a protomeme, following Weng et al.,21 to model and predict meme success, past submission history of the themat-
as we did not study spikes in the earlier and we are unable to mention them all ic community in which it was shared.
work.11 When a protomeme suddenly here. The most successful research track By introducing the measure of canon-
becomes very popular, or when it plac- focuses on the relationship between icity, we focus here instead on the simi-
es highly in a ranking of user apprecia- memes and the social media through larity of the meme instantiation with
tion, many participants in social media which they spread. For example, social the meme’s own submission history,
use it in their own posts. The increased media researchers can predict how regardless of the context in which it
number of posts that include the pro- wide the cascade spread of a meme will was previously observed. Canonicity is
tomeme will make it more similar to be by observing its temporal and struc- closely related to the Newsjunkie
the average post of the day. As a conse- tural features; for example, a cascade’s framework,13 which is based on an in-
quence, as reported by Lakkaraju et initial breadth, rather than its depth, is formation-theoretic background. How-
al.,17 its expected popularity will de- a better predictor of larger cascades.6 ever, Newsjunkie was developed with a
crease. The new posts that include the The community structure of a social different application—ranking novelty
popular protomeme are then poorly network, or its tendency to form dense- of full-text news articles significantly
ranked, as they are stealing each oth- ly connected groups, influences the dy- longer than Reddit and Hacker News
er’s chance for success. namics of news and meme spread.19,24 post titles. For this reason, Newsjunkie
Lastly, we introduce a measure of The general conclusion of other is not applicable to this research sce-
“canonicity,” or capturing the amount work is that content is a secondary ex- nario concerning novelty.
of change introduced by a post com- planatory factor for meme propaga-
pared to previous posts with the same tion. However, none of them has effec- Protomemes
protomeme, showing that the more tively ruled out meme characteristics We now reflect on data collected by
different a post is from the canonical as partial explanation for their success. Weninger et al.25 from Reddit, a social-
usage of a popular protomeme, the Further, it is interested in using net- bookmarking website where users are
greater its odds of going viral. Howev- works to explain the shape of populari- encouraged to post interesting con-
er, the effect of canonicity is not linear. ty distributions, not what makes indi- tent. Every post can be upvoted (or
High canonicity lowers the overall suc- vidual memes more or less fit to go downvoted) if the user likes (or dis-
cess of viral posts at the same time it viral, which was the focus of our earlier likes) it. The upvote/downvote ratio is
helps non-viral posts be appreciated; work,11 as well as of this article. Differ- used to highlight high-quality content.
that is, we correct the earlier work,11 ar- ent hashtags in Twitter reflect different In addition, there is a time discount;
guing here that there is a non-linear re- degrees of persistence, showing evi- that is, no matter how many upvotes a
lationship between canonicity and dence that meme propagation is a post manages to attract, it cannot be

72 COMM UNICATIO NS O F THE ACM | JA NUA RY 201 8 | VO L . 61 | NO. 1


contributed articles

highly visible forever. The most popular We used the frequent-itemset-mining


(highest upvote/downvote ratio) posts ap- algorithm Eclat4 to extract the frequent
pear on Reddit’s “front page,” giving n-grams and discard an n-gram if it has
them a further boost in visibility. By not been used for a certain number of
default, the front page hosts 25 posts.
Each entry in the dataset we studied The more a meme days. We also discarded all n-grams that
are proper subsets of another n-gram.
consisted of a post, its title, and its
number of upvotes/downvotes that
is imitated, the We performed the analysis using dif-
ferent thresholds to ensure indepen-
were combined in a post score by Red- less the original dence between parameter choice and
dit’s sorting algorithm. Note our re-
search can observe only the final score
meme (and all its results. From most- to least-restrictive
threshold choices, we obtained 2,731 to
of a post, not its full upvote timeline. imitations) will be 5,585 protomemes on Reddit and 817
This might introduce bias when look-
ing to establish whether or not the post
successful in going to 2,538 protomemes on Hacker News;
the preprocessed data we used is avail-
hit the front page. We assume the final viral in the future. able for result replication.b
post score is highly correlated with the
post score on its first day of life. We Results
base this assumption on the fact that We now first show how popularity
the vast majority of upvotes come with- spikes result in reduced future popu-
in 24 hours following post submission. larity for a meme, then introduce the
Note the terms “score” and “popu- concept of “canonicity” and how it can
larity” are not interchangeable, as they shed light on this phenomenon.
refer to related but different concepts. Popularity curse. Common sense
Score is the one-off measurement of a tells us that popular ideas are likely to
single instance of a protomeme in a be imitated; a protomeme used in a
day, and popularity is the overall suc- very popular post today will be used in
cess of all instances of all memes over a many posts tomorrow. Such intuition
longer period of time. about the demand-supply relation on
All 22,329,506 posts added to Reddit the web is corroborated by several stud-
from April 5, 2012 to April 26, 2013 ies, including Ciampaglia et al.9 How-
were part of the dataset. To cross-test ever, dissimilarity-driven success theo-
our results, we also used a similar ry would predict that flooding a system
dataset from Hacker News, which uses with imitations of a protomeme will
the same dynamics as Reddit though cause the imitations to be less popular.
focuses on a more specialized techni- At first glance, such a prediction might
cal audience and has a much smaller seem to find support in two observa-
user base. The Hacker News dataset in- tions: the average score of the posts
cluded 1,194,436 posts from January 7, containing a protomeme is less than
2010 to May 29, 2014. expected the day after it experiences a
Here, we consider protomemes, or a popularity spike (see Figure 1a and Fig-
catchphrase with the potential for going ure 1c), and the number of posts con-
viral. Note there are more possible types taining that protomeme increases (see
of memes (such as pictures and videos), Figure 1b and Figure 1d).
but given the nature of the data we limit These observations support our
ourselves here to catchphrases. Catch- theory about viral connections but do
phrases were also used as meme proxy not prove it. First, the total score
in Memetracker18 and Nifty.22 We ex- awarded and the average score per
tracted them using information taken post are not constant over time (see
exclusively from the post title. the online appendix, dl.acm.org/cita-
We apply our definition by borrow- tion.cfm?doid=3158227&picked=for
ing the bag-of-words methodology mats). The lower score might be just
from the text-mining literature, mean- a relative change; if, for example,
ing a protomeme is seen as a set of at there are fewer upvotes awarded on
least two “tokens” (also called an “n- that particular day, a lower absolute
gram” with n ≥ 2). A token is a word that number could still represent an in-
is stemmed whereby “stop words” are crease in upvote share for the day.
filtered out and are not tokens. To be Second, each protomeme is charac-
classified as a protomeme, an n-gram terized by its own expected populari-
must have been used frequently and
constantly over the observation period. b http://www.michelecoscia.com/?page_id=870

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 73
contributed articles

Figure 1. Distributions of score and number of posts per day of the observed memes, overall, and focusing on only those created the day
after the meme was among the 25 top-scoring posts; included is the average and 95% confidence intervals.

52 5.2
Avg. Daily Score 51 5.1
50 5

Posts Per Day


4.9
49
4.8
48
4.7
47 4.6
46 4.5
45 4.4
44 4.3
Overall After FP Overall After FP
Status Status
(a) (b)

14 1.22
13 1.2
Avg. Daily Score

1.18

Posts Per Day


12
1.16
11
1.14
10
1.12
9 1.1
8 1.08
7 1.06
Overall After FP Overall After FP
Status Status
(c) (d)

ty; scores cluster around each pro- Ewm,i (pm,i) = FPlm,i − 1 registers if protomeme m
tomeme’s average. Third, a α + β1 F P l
m,i−1+ β2 E(pm,i−1) + um + εm,i. was on the front page on day i − 1. The
protomeme’s recent history might parameter l is the number of posts hit-
explain this variation. If, for exam- An observation (Ewm,i (pm,i)) is the ting the front page each day. The de-
ple, a protomeme was getting de- median popularity (pm,i) of the posts fault front page in Reddit includes 25
clining scores, we might expect it to containing protomeme m on day i, or posts (30 for Hacker News). So, every
get even lower scores after a ran- the score of the post. Since post day, at least 25 (30) posts hit the front
dom popularity spike. Finally, there scores are count data and distributed page. However, users can increase the
is a fat tail in score distributions, so over a skewed distribution, we used physical length of the front page. More-
the average alone is not meaningful. a Poisson mixed model. Each obser- over, as the day passes, front-page posts
To give more solid evidence for vation has weight wm,i, or the num- get replaced by other posts. As a result,
the theory about viral connections, ber of posts containing m on day i, there is no way to know how many posts
we tested the median popularity of a thus giving less weight to the (pre- hit any particular user’s front page on
protomeme on a particular day us- sumably noisy) information on pro- any given day (see the online appendix).
ing the following mixed model, or tomemes m that were not used very For this reason, we ran the regression
“MED Model” much on day i. multiple times for different l values to
test the robustness of our results for
Figure 2. Evolution of β1 coefficients for increasing l in the model and in its associated null different front-page sizes.
model; thin lines represent 95% confidence intervals.
E(pm,i−1) denotes the protomeme’s
popularity on the day before i, control-
ling for existing trends; um is a random
0.02
Observation Null Model Observation Null Model effect of protomeme we used to control
0.1
0 0.05 for the fact that different observations
0
-0.02 -0.05 can refer to the same protomeme; and
-0.04 -0.1 εm,i is the error term.
-0.15
β

-0.06 -0.2 Figure 2 outlines our estimates of β1


-0.08 -0.25
-0.3 for different values of l. The effect of
-0.1
-0.35 being on the front page is negative; the
-0.12 -0.4
20 30 40 50 60 70 80 90 100 30 40 50 60 70 80 90 100 protomeme is expected to have a lower
l l median score than on a business-as-
(a) (b) usual day. This expectation confirms
the theory of dissimilarity-driven suc-

74 COM MUNICATIO NS O F TH E AC M | JA NUA RY 201 8 | VO L . 61 | NO. 1


contributed articles

cess theory. Higher l values decrease subsequent protomeme posts, why are able to overcome the popularity
the estimated effect, because we in- does common sense tell us the oppo- curse predicted by the theory.
cluded lower-ranked posts that might site? We propose that a protomeme ap-
not actually have hit the front page (all pearing on the front page two days in The Canon Effect
p-values are significant, with p < 0.001). a row is very noticeable, and we just Following the argument that success is
Focusing on Reddit (see Figure 2a) do not realize that, on average, the associated with dissimilarity, we now
values fall within the ] −0.1 : −0.02[ in- protomeme is doing poorly. We run hypothesize that a post including a
terval. A value of −0.1 implies a score- the same regression, changing the widely used protomeme m the day af-
reduction factor equal to e−0.1, which target variable to the maximum ter m hit the front page can still be suc-
is close to 10%. This means that rank- score (MAX Model) instead of the cessful if it is dissimilar from all other
ing in the top 25 posts on a particular median. In this model, for Reddit, posts using m. In this way, the post is
day reduces the next day’s median the sign β1 is the opposite of the β1 able to attract most of the attention
score of a protomeme by almost 10%. sign for the MED Model (see the on- network users are directing toward
The effect in Hacker News appears to be line appendix). If protomeme m hits protomeme m.
even stronger. the front page on day i − 1, the top- To test this claim we first need a
We obtained these results with scoring post containing protomeme measure for the uniqueness of a post.
fixed frequency thresholds, using Ta- m on day i improves. This does not In Coscia,11 we proposed a meme
ble 1 and Table 2 to show the robust- happen for Hacker News, and our hy- similarity measure that cannot be
ness of the results with different pothesis is that Hacker News is more used here because it calculates
threshold choices. In them, we fix l = resilient to fads, as it is used mostly for meme-meme similarity, while here
25 for Reddit and l = 30 for Hacker professional purposes, rather than hu- we consider only post-post similarity
News. For all threshold choices in Red- mor, as with Reddit. within the same protomeme. More-
dit and for most threshold choices in Hitting the front page is thus asso- over, our earlier11 measure applies
Hacker News, the results were consis- ciated with a larger number of subse- only to a subtype of the memes shared
tently negative and significant with our quent posts including protomeme on Reddit. We cannot use the mea-
main result: hitting the front page re- m, which by itself is associated with sure developed by Lakkaraju et al.17
sults in lower expected popularity on less expected popularity for the because it measures the similarity of
the following day. same posts. However, in some sce- a post to the subcommunity it is
One could object to these results us- narios, the best-ranked posts con- shared in, ignoring the meme it im-
ing the regression-toward-the-mean ar- taining protomeme m can still hit the plements. Here, we focus on Reddit
gument; that is, once the very visible front page more easily than usual. We and expect a null result for Hacker
front-page protomeme instance is copied now turn our attention to this subset News, as we showed it to be less prone
many times, each copy tends to score of special posts, explaining why they to the fad effect.
approximately the protomeme’s average,
which is lower than the spike. But the Table 1. Effect on β1 of different threshold options for the Reddit dataset. Each row is a different
frequency threshold, or minimum share of posts that must include the protomeme, or
regression already corrects for this using 0.004 = 0.4% of posts. Each column is the minimum share of days in which at least one post
the protomeme random effects. If the including the protomeme appeared, or 0.91 = 91% of days. Significant values with p < 0.01
argument would be true, β1 would equal 0. are in bold. The threshold values included in Figure 2a are in italic.
In fact, the average is 0 calculated over 50
null models, where protomeme scores
sup-end 0.91 0.92 0.93 0.94 0.95
are generated randomly, preserving
each protomeme’s average score and 0.0045 –0.095 –0.087 –0.101 –0.075 –0.039

standard deviation (see Figure 2a and 0.0045 –0.095 –0.087 –0.100 –0.075 –0.039

Figure 2b), disproving the regression- 0.005 –0.109 –0.098 –0.104 –0.080 –0.046

toward-the-mean argument. 0.0055 –0.093 –0.087 –0.079 –0.071 –0.038

To summarize, after hitting the 0.006 –0.064 –0.056 –0.055 –0.061 –0.043

front page, a protomeme will likely be


used more frequently—15% more in
Reddit, 8% more in Hacker News, as re- Table 2. Effect on β1 of different threshold choices for the Hacker News dataset. Rows and
columns are interpreted, as in Table 1, and significant values with p < 0.01 are highlighted in
ported in Figure 1b, and Figure 1d. β1 bold. The threshold values in Figure 2b are in italic. We chose the different threshold values to
values in the model suggest that posts accommodate the significant difference in size between the two datasets.
including this protomeme will likely
have a lower score (10% lower in Reddit, sup-end 0.02 0.03 0.04 0.0433 0.0466
23% lower in Hacker News), confirming -0.125 -0.099 -0.271 -0.138 -0.294
0.0055
the expectation. The effect is signifi- 0.006 -0.173 -0.152 -0.284 -0.138 -0.294
cant and independent of the recent
0.0065 -0.214 -0.199 -0.284 -0.135 -0.294
overall history of the protomeme,
0.007 -0.129 -0.109 -0.129 -0.101 -0.239
changes in average post score, and
0.0075 0.007 0.019 0.007 0.009 -0.132
front page size.
So, if hitting the front page is bad for

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 75
contributed articles

We introduce the concept of canon- always appear in posts containing the different l values the set of posts in-
icity of a post, measuring how much a protomeme itself, their πm,μ always cluded is different, because, for in-
post containing a protomeme m differs equals 1. Finally, a low canonicity creasing front page size, more pro-
from the usual usage of m. A post is said score is obtained when there are many tomemes hit the front page, and more
to be canonic if it uses m as expected, words in the post and they have low πm,μ. posts on the day after will thus be con-
without introducing elements not If a post includes only one unusual sidered in the model.
strongly associated with m itself. Con- word, its canonicity score is still high, Figure 3 reports φ Model’s βs for in-
sider, for example, a post M as a bag of because it is still composed mostly of creasing l. For Reddit (see Figure 3a),
words. Each word μ in the bag of words the protomeme itself. β never takes values greater than −0.7,
co-occurs with protomeme m with a giv- How canonicity is distributed in suggesting a noticeable and notable
en probability πm,μ. If m appears in 100 Reddit is reported in the online appen- effect: high canonicity halves the
posts, and in 30 of them the post title dix. To test the connection between odds of being a high-scoring post; for
also includes μ, then πm,μ = 0.3. The can- canonicity and popularity for posts us- a deeper discussion see the online ap-
onicity of M is calculated like this ing protomemes appearing on the pendix. As we increase l, the canonic-
front page the previous day, we create a ity effect gets weaker and weaker. This
Γ(M,m) = Σ∀/∈Μ πm,μ / |M|. rank binary variable φM that records is expected, as we are considering the
whether or not the post was among the regression posts that might have not
The formula means the canonicity 5% best-scoring posts of the day. This is hit the front page. All β values in Fig-
of a post M is the average probability of the target variable of the following lo- ure 3a are significant (p < 0.0001). We
its words to appear with the meme it gistic regression thus expect a null result in Hacker
contains. Note some posts contain no News, given the result of the MAX
other word than the words of the pro- φMl = α +β Γ(Ml,m) + um + εm. Model covered earlier. Indeed, Figure
tomeme m itself. For this reason, the 3b reports the effect of canonicity in
formula includes the m words in M. This is the φ Model. Given a post M Hacker News is zero, as no p-value re-
Otherwise, such posts will have containing protomeme m, the φ Model ported for any l is less than 0.01.
Γ(M,m) = 0/0, which is unaccept- estimates its probability of experienc- We also run two Poisson mixed
able. Moreover, posts including only ing a popularity spike on day i, after m models with the same form of the φ
a protomeme’s words must have hit the front page on day i − 1. Note the Model, with the only difference being
Γ(M,m) = 1 because they use m in its set of posts we include in the model is the dependent variable (in this case the
purest form. Since the protomeme’s μs still dependent on the l parameter. For post score) and the data included in
them. In the Zero Model, we consider
Figure 3. Distribution of the φ Model’s β for varying l; thin lines represent the 95% confidence only the posts for which φMl = 0, while
intervals.
in the One Model we focus on the posts
for which φMl = 1. In practice, the φ
Model tells us the effect of canonicity
-0.6 0.4
-0.7 0.3 on the odds of experiencing two popu-
-0.8 0.2 larity spikes in a row, while the One
-0.9 0.1
-1 0 and Zero models reveal the score effect
-1.1
β

-1.2 -0.1 of canonicity on the posts that did and


-1.3 -0.2
-0.3 did not experience two popularity
-1.4
-1.5 -0.4 spikes in a row.
-1.6 -0.5
20 30 40 50 60 70 80 90 100 30 40 50 60 70 80 90 100 In the One Model, β has a negative
l l sign (see Figure 4a); all βs are signifi-
(a) (b) cant with p < 0.0001. If the φ Model told
us that canonicity lowers the odds of
experiencing two popularity spikes in a
Figure 4. Distribution of the One Model’s and Zero Model’s β for varying l; thin lines represent row, the One Model would tell us that if
the 95% confidence intervals.
a post can nevertheless overcome those
odds, it is additionally penalized with a
worse score. In the Zero Model (see Fig-
0 0.25
ure 4b), β is positive and significant.
-0.1 0.2 For the unsuccessful posts in the Zero
-0.2
0.15 Model, canonicity has a positive effect.
-0.3
β

0.1 For robustness, we also ran a negative


-0.4
0.05
binomial model, resulting in similar
-0.5
estimates as the Poisson model (see
-0.6 0
20 30 40 50 60 70 80 90 100 20 30 40 50 60 70 80 90 100 the online appendix).
l l The discordance of β signs in the
(a) (b) Zero and One models can be interpreted
as a similarity between protomeme

76 COMM UNICATIO NS O F THE AC M | JA NUA RY 201 8 | VO L . 61 | NO. 1


contributed articles

and gene dynamics. Most mutations theory of meme popularity—the one Providing personalized newsfeeds via analysis of
information novelty. In Proceedings of the 13th
are harmful or irrelevant, while also giving factors other than meme content International World Wide Web Conference (New York,
lowering an organism’s fitness. In pro- greater weight in predicting its success. May 17–22). ACM Press, New York, 2004, 482–490.
14. Gilbert, E. Widespread underprovision on Reddit. In
tomemes, if the change is not judged In Cheng et al.,6 Gleeson et al.,15 and Proceedings of the 2013 Conference on Computer
“suitable” for the protomeme by the Weng et al.,23 meme content and struc- Supported Cooperative Work (San Antonio, TX, Feb.
23–27). ACM Press, New York, 2013, 803–808.
user community, it will be selected ture were found to be a weaker explana- 15. Gleeson, J.P., O’Sullivan, K.P., Baños, R.A., and
against and gradually lose relevance. tory factor for meme popularity. Better Moreno, Y. Determinants of meme popularity.
arXiv, 2015; http://cosnet.bifi.es/wp-content/
This is one of many possibilities and predictors are meme timing and the uploads/2015/02/1501.05956v1.pdf
must be properly tested before it can social network position of the meme 16. Harrigan, N., Achananuparp, P., and Lim, E.-P.
Influentials, novelty, and social contagion: The viral
be considered suitable. We leave such a creators. We thus recommend reunit- power of average friends, close communities, and old
news. Social Networks 34, 4 (Oct. 2012), 470–480.
test for future work. However, this re- ing the two theories in a unified meme- 17. Lakkaraju, H., McAuley, J.J., and Leskovec, J. What’s
sult could explain why meme content analysis framework. in a name? Understanding the interplay between
titles, content, and communities in social media. In
is not a promising predictor of meme Finally, computational social scien- Proceedings of the Seventh International Conference
popularity.6 Since changing meme con- tists could extend the investigation of on Weblogs and Social Media (Boston, MA, July
8–11). Association for the Advancement of Artificial
tent can go both ways, increasing or de- memes by studying the effect of nega- Intelligence, Palo Alto, CA, 2013.
creasing meme fitness, the effects tive votes: we expect it will show non- 18. Leskovec, J., Backstrom, L., and Kleinberg, J. Meme-
tracking and the dynamics of the news cycle. In
might cancel out. trivial dynamics; a vote, even if nega- Proceedings of the 15th ACM SIGKDD International
tive, still comes from a person paying Conference on Knowledge Discovery and Data Mining
(Paris, France, June 28–July 1). ACM Press, New York,
Conclusion attention to the concept, though its ef- 2009, 497–506.
We have tested some of the predictions fect is to prevent other people from see- 19. Nematzadeh, A., Ferrara, E., Flammini, A., and Ahn,
Y.-Y. Optimal network modularity for information
of a theory that claims that meme suc- ing it. This information was not avail- diffusion. Physical Review Letters 113, 8 (Aug. 2014).
cess eschews similarity, because simi- able at the time of our study, but Reddit 20. Romero, D.M., Meeder, B., and Kleinberg, J. Differences
in the mechanics of information diffusion across
lar memes interfere with one another started to provide it in 2017. topics: Idioms, political hashtags, and complex
and get less attention.11 We tested the contagion on Twitter. In Proceedings of the 20th
International Conference on World Wide Web
theory on Reddit and Hacker News, References (Hyderabad, India, Mar. 28–Apr. 1). ACM Press, New
1. Adamic, L., Lento, T., Adar, E., and Ng, P. Information York, 2011, 695–704.
two popular social-bookmarking Evolution in Social Networks. In Proceedings of the 21. Sanlı, C. and Lambiotte, R. Local variation of hashtag
websites. Successful posts can hit Ninth ACM International Conference on Web Search spike trains and popularity in Twitter. arXiv, 2015;
and Data Mining (San Francisco, CA, Feb. 22–25). ACM https://arxiv.org/abs/1503.03349
each site’s highly visible front page Press, New York, 2016. 22. Suen, C., Huang, S., Eksombatchai, C., Sosic, R.,
2. Bauckhage, C., Kersting, K., and Hadiji, F. Mathematical
and then be copied many times over models of fads explain the temporal dynamics of
and Leskovec, J. Nifty: A system for large-scale
information flow tracking and clustering. In
by people who want to use them to Internet memes. In Proceedings of the Seventh AAAI Proceedings of the 22nd International Conference on
International Conference on Weblogs and Social
be able to get their own posts to ap- Media (Cambridge, MA, July 8–11). Association for
World Wide Web (Rio de Janeiro, Brazil, May 13–17).
ACM Press, New York, 2013, 1237–1248.
pear on the front page. The expected the Advancement of Artificial Intelligence, Palo Alto, 23. Weng, L., Flammini, A., Vespignani, A., and Menczer,
CA, 2013.
popularity of these posts should thus 3. Berger, J. and Milkman, K.L. What makes online
F. Competition among memes in a world with limited
attention. Scientific Reports 2, 2012; https://www.
decrease. We showed that this is the content viral? Journal of Marketing Research 49, 2 nature.com/articles/srep00335
(Apr. 2012), 192–205.
case, though on Reddit some posts 4. Borgelt, C. Efficient implementations of Apriori and
24. Weng, L., Menczer, F., and Ahn, Y.-Y. Predicting
successful memes using network and community
might still experience subsequent Eclat. In Proceedings of the International Conference structure. In Proceedings of the Eighth International
on Data Mining (Melbourne, FL, Nov. 19–22). IEEE AAAI Conference on Weblogs and Social Media (Ann
popularity spikes; Hacker News ap- Computer Society, New York, 2003. Arbor, MI, June 2–4). AAAI Press, Palo Alto, CA, 2014.
pears to be resilient to this phenome- 5. Cha, M., Haddadi, H., Benevenuto, F., and Gummadi, 25. Weninger, T., Zhu, X.A., and Han, J. An exploration
P.K. Measuring user influence in Twitter: The of discussion threads in social news sites: A case
non. We explain this apparent contra- million-follower fallacy. In Proceedings of the AAAI study of the Reddit community. In Proceedings of
diction by showing these posts (with International Conference on Weblogs and Social the International Conference on Advances in Social
Media (Washington, D.C., May 23–26). Association for Network Analysis and Mining (Niagara Falls, ON,
persistent popularity spikes on Red- the Advancement of Artificial Intelligence, Palo Alto, Canada, Aug. 25–28). IEEE Computer Society, New
dit) have low canonicity; that is, they CA, 2010, 30–38. York, 2013, 579–583.
6. Cheng, J., Adamic, L.A., Dow, P.A., Kleinberg, J.M.,
are usually dissimilar from the aver- and Leskovec, J. Can cascades be predicted? In
Proceedings of the World Wide Web Conference Michele Coscia (michele_coscia@hks.harvard.edu)
age post containing their protomeme. (Seoul, Korea, Apr. 7–11). ACM Press, New York, 2014, is a research fellow in the Center for International
We showed that canonicity has a non- 925–936. Development at Harvard University, Cambridge, MA.
7. Christakis, N.A. and Fowler, J.H. The spread of obesity in
linear effect. a large social network over 32 years. The New England
These results open the way to future Journal of Medicine 357, 4 (July 2007), 370–379. The author thanks Clara Vandeweerdt, Frank Neffke,
8. Christakis, N.A. and Fowler, J.H. The collective and Andres Gomez for useful discussions on
work. First, computational social scien- dynamics of smoking in a large social network. The the statistical methodology. This research is partly
tists can now move the theory closer to New England Journal of Medicine 358, 21 (May 2008), supported by the Walloon National Fund for Scientific
2249–2258. Research (FNRS), grant #24927961.
practice, performing, say, a controlled 9. Ciampaglia, G.L., Flammini, A., and Menczer, F. The
experiment where they select front-page production of information in the attention economy.
Scientific Reports 5, 2015; https://www.nature.com/
memes from Reddit and semiautomati- articles/srep09452
cally generate imitating posts with vary- 10. Coscia, M. Competition and success in the meme pool:
A case study on quickmeme.com. In Proceedings
ing degrees of canonicity. By releasing of the Seventh AAAI International Conference
the posts on Reddit, they should ob- on Weblogs and Social Media (Boston, MA, July
8–10). Association for the Advancement of Artificial
serve in which cases low-canonicity Intelligence, Palo Alto, CA, 2013.
posts tend to garner more upvotes and 11. Coscia, M. Average is boring: How similarity kills a
meme’s success. In Scientific Reports 4, 2014; https://
in which cases high canonicity is help- www.nature.com/articles/srep06477
12. Dawkins, R. The Selfish Gene. Oxford University Press,
ful. And second, the theory makes Oxford, U.K., 1976.
claims that are not in line with another 13. Gabrilovich, E., Dumais, S., and Horvitz, E. Newsjunkie: © 2018 ACM 0001-0782/18/1 $15.00

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 77
contributed articles
DOI:10.1145/ 3158333

In a decentralized marketplace, buyers


and sellers transact directly, without
manipulation by intermediary platforms.
BY HEMANG SUBRAMANIAN

Decentralized
Blockchain-
Based
Electronic
Marketplaces
business-to-
E-CO M M ERC E M ARK E T PLAC E S — WH E T H E R
consumer (B2C) or business-to-business (B2B)—are
examples of a two-sided market.6,19 Each side involves
networks of participants. Network effects—the
incremental value added by each new participant—
play the dominating technological role in such key insights
markets. Over time, network effects inevitably yield a ˽˽ Decentralization alters the paradigms
of firm-controlled marketplaces
monopoly in which a single e-commerce firm manages by providing security, trust, privacy,
lower transaction costs, and
the entire marketplace.24 transaction integrity.

In line with the “theory of the firm”—or a set of ˽˽ Blockchain-based marketplaces improve
matching, transaction facilitation, and
economic theories that explains and predicts the nature support for institutional infrastructure.

of the firm, company, or corporation, including its ˽˽ Blockchain-based e-marketplaces open


new frontiers in prediction markets,
existence, behavior, and structure—most e-commerce financial engineering, automated
reasoning systems, and, smart-contracts-
firms today aim to maximize profit for shareholders based systems.

78 COMM UNICATIO NS O F THE AC M | JA NUA RY 201 8 | VO L . 61 | NO. 1


by growing the corresponding network nisms, and simplification of transac- action by preventing problems (such
of participants using the platform, in- tions. Here, I describe an alternative as “double spend,” whereby a given
cluding sellers, buyers, developers, re- to the firm-controlled marketplace—a amount of coins is spent more than
sellers, intermediary service providers decentralized marketplace based on once in the same transaction). Once
ILLUSTRATION BY SPOOKY POOKA AT DEBUT ART

(such as logistics providers), payment- the blockchain. the transaction is confirmed, its details
gateway services, and institutional in- The blockchain is a shared, distrib- are stored on a public ledger generated
termediaries, including legal advisors. uted transaction ledger that records through an algorithmic process called
Strategies deployed by electronic all transactions and operates through “mining.” A network of nodes, each
marketplaces (e-marketplaces) to in- the Bitcoin protocol.3,14 Each transac- with a local copy of the blockchain,
crease network effects include person- tion is validated by a network of nodes, provides an alternative to a centralized
alization of service offerings on the each hosting the blockchain and corre- platform in which each node can main-
platform; recommendation systems sponding validation software. The vali- tain functions of the larger platform,
for goods and services, trust mecha- dation algorithms confirm the trans- partly or fully.

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 79
contributed articles

The blockchain supports several key clicks the checkout button, multiple resellers or franchisees to further in-
functions: systems (such as payment and cred- crease a platform’s reach.
Distributed storage and listings. A it-card networks) each charge a fee. Matching characteristics of markets
network of nodes lists items offered Despite such payment, fraudulent is not performed efficiently in today’s
through the marketplace by individual transactions are not necessarily al- B2B/B2C marketplaces; for example,
businesses, eliminating single-point- ways eliminated. In a decentralized price changes facilitated by algorithms
of-failure scenarios and preventing a e-marketplace, traders transact with can make certain goods pricier online
single controller firm from manipulat- each other securely and directly, and compared to similar offerings sold
ing the shared central database; the network of nodes validates and re- through conventional brick-and-mor-
Transactional validity. Fraudulent cords each transaction.3 tar stores. Likewise, price matching
and duplicate transactions are prevent- Decentralized marketplaces us- offered by brick-and-mortar retailers
ed through timestamp-based validation; ing the blockchain as a foundational negate the price-based advantages of e-
Transactional persistence. All trans- block are a viable alternative to firm- marketplaces. The behaviors of sellers
actions concerning an asset or service controlled marketplaces, yielding and buyers affect an individual firm’s
traded in the marketplace are stored on a advantages from how decentraliza- decisions with respect to the market-
publicly accessible and verifiable ledger; tion supports marketplace functions, place and vice versa; for example, if
Transactional anonymity. The true matching transaction support and in- firms controlling a marketplace de-
identity of marketplace participants stitutional infrastructure.1 cide to stop accepting certain payment
is hidden from other participants and methods, market participants would
the network by allowing users to create Limitations of Firm-Controlled have to either alter their payment be-
multiple wallets to be used on the net- E-Marketplaces haviors policies or stop transacting on
work for transactions;18 Firms controlling e-commerce platforms the platform. If firms controlling the
Transactional privacy. Transaction support multiple networks, includ- platform decide to provide differential
details are hidden from the network ing customers, resellers, application pricing for similar products across cus-
(though the ledger is public) by the developers, advertising partners, and tomer segments based on profit-max-
blockchain automatically encrypting financial intermediaries. Here, I ad- imization algorithms, traders would
transactions; dress limitations with respect to firm- gain (or lose) the ability to buy (sell)
Transactional traceability. Each controlled marketplaces and the main from (in) markets where price is low
transaction can be traced back to the marketplace functions.1 (high). Consider how the taxi-ride-hail-
sender’s and the receiver’s true iden- Matching sellers and buyers. E- ing service Uber uses proprietary algo-
tities through a combination of tech- marketplaces thrive due to the network rithms to determine ridesharing prices
niques (such as IP tracing and block- effects they facilitate when buyers, sell- that may not account for an individual
chain graph analysis).18 Traceability is ers, and third parties (such as resellers) driver’s actual profit margin. This has
used by government regulators (or ana- trade with one another. Either a seller- led to protests in cities with traditional
lysts) to detect theft, money laundering, driven (or marketplace-driven) promo- taxi services drivers have found to not
and other illegal activity on the network, tion or customer-initiated search will be profitable.5 When network effects
and can be both computationally and facilitate matching. Buyers benefit be- are disruptive to the market, a monop-
economically expensive, depending on cause the marketplace reduces search olistic firm that aims to maximize its
blockchain implementation; and costs. Sellers benefit because the mar- own profit can try to alter participant
Transactional immediacy. A mecha- ketplace offers product listings at no behavior, without necessarily improv-
nism built into the network consum- marginal cost and because of shared ing the efficiencies that might other-
mates each transaction in the shortest inventory and logistics costs. E-mar- wise be realized in an e-marketplace.
possible time, with many implementa- ketplaces facilitate reach (buyers can With Uber, though the rider (customer)
tions of the blockchain achieving instant be located anywhere) and transaction benefits due to lower prices compared
validation through “proof of service,”4 immediacy (buyers/sellers can trade at to a conventional taxi service, the driv-
“consensus,”21 and “proof of stake.”2 any time).22 ers (service providers) would be worse
Most important, the blockchain E-marketplaces reduce search costs off due to discounted pricing as deter-
eliminates the central authority need- for buyers by efficiently listing and re- mined by the platform.
ed to validate transactions, thus real- trieving goods and services in databas- Facilitating transactions. Facilitat-
izing many computational efficien- es. In addition to reducing such costs, ing transactions is what a marketplace
cies; for example, transaction costs marketplaces increase revenue by en- does to enable the exchange of value
due to contract enforcement (such couraging consumption by altering between buyers and sellers. The buyer
as following a sale) can be eliminated users’ purchase preferences through pays the seller and the seller transfers
when the network validates the trans- product recommendations, bundling, the physical good (or service) to the
action. Likewise, the payment (good) and other product (or service) machi- buyer on the platform. A variable trans-
transfer between buyer (seller) and sell- nations. Likewise, B2B/B2C market- action cost is associated with each
er (buyer) is recorded in a common, places facilitate customer credit to transaction due to banks, credit insti-
secure ledger. 7 To illustrate such increase consumption. By providing tutions, logistics providers, and other
efficiency, consider a conventional APIs, marketplace platforms facilitate intermediaries. In most transactions, a
e-commerce store. When a buyer ease of integration with third-party legal entity ensures transaction valida-

80 COMM UNICATIO NS O F THE ACM | JA NUA RY 201 8 | VO L . 61 | NO. 1


contributed articles

tion by enforcing a legal contract.7 (such as sites unable to handle large


Trust plays a major role in any kind volumes of transactions). Although
of transaction between a buyer and a e-marketplaces are geared for trade
seller on any marketplace platform.9 across geographies or national bor-
Seller reputation displayed on the
platform influences the buyer and vice In a decentralized ders, B2B trade is limited due to fric-
tion related to currency-transfer laws
versa. Either third-party services (such
as Yelp.com and the Better Business
e-marketplace, and complex logistics. For example, if
a buyer in the Middle East wants to buy
Bureau) or marketplace-controlled traders transact music from the iTunes store and the
“ratings and reviews” systems inform
users about the reputation(s) of sell-
with each other payment gateway does not support in-
ternational credit cards, the sale would
ers. However, no reputation system is securely and be suspended, even though technology
foolproof, possibly being influenced by
spam, tampered ratings and reviews,
directly, and the willingly supports the trade.
Facilitating institutional infra-
and paid reviews. Reputation systems network of nodes structure. E-marketplaces tradition-
themselves can thus be a major source
of concern undermining trust. validates and ally enable contracts that are honored
by participants through such mecha-
Modern e-marketplaces are serious records each nisms as click-wrap, shrink-wrap, and
about privacy. Enforcing “privacy with
security,” a feature all users want, is transaction. web-wrap enforcement. E-marketplac-
es validate transactions and enable
difficult on a centrally controlled plat- automatic enforcement of contracts
form. The seller’s and the buyer’s full through exchange of payment and
identities, in addition to the transac- goods (or services). Likewise, e-market-
tion details, are disclosed to each other places protect participants’ intellectu-
and possibly to others on the platform. al property by ensuring copyright laws
Such disclosure has multiple uses, en- are followed and counterfeit goods are
abling, say, personalization algorithms prohibited, thus protecting brand val-
to infer a user’s purchase behavior ue of the goods being traded.
or a seller’s online behavior and tar- Contracts in e-marketplaces for out-
get future promotions. Because such sourced labor often involve significant
information can be misused, use of transaction costs because contracts
transaction information and personal between vendors and customers are
information has been subject to much based on time and money or labor re-
debate in Internet policy and law. More- quirements. Renegotiating contracts
over, other marketplace participants increases transaction costs, preclud-
(such as credit-validation services) use ing contractual support for agile proj-
it to validate payment mechanisms or ect management (such as software de-
credit limits accessed by customers. velopment and architectural design)
In a conventional marketplace, needed in the marketplace.
transactions are validated and con-
firmed through third-party agencies like Blockchain-Based
credit-card companies using open-loop Decentralized Marketplaces
or closed-loop networks.12 Personal in- I now explore examples of such mar-
formation, including addresses, Social ketplaces, along with their architec-
Security information, and credit-card tures and potential business advan-
details, has proven to be the most vul- tages. The Bitcoin cryptocurrency is
nerable source for security attacks. A the most widely used application of de-
single cyberattack on the database host- centralization and can be viewed as a
ing personal information leads to dis- bearer bond in which each transaction
proportionate losses, including of trust accounts for value transfer between
by customers in the platform.17 Every the two parties. Network participants,
marketplace (such as Amazon, eBay, or “miners,” validate transactions
Sony, and Target) in recent years has through a process known as “min-
been targeted by at least one attack in- ing.” Likewise, other participants host
volving loss of information. nodes that run the blockchain and
Other disadvantages can include “validate” transactions.
scenarios in which transaction costs Ethereum is another blockchain-
are greater than the actual sale price, based protocol, enabling program-
limitations to payment modes, and mable contracts through distributed
network infrastructure challenges validation on the blockchain.25 Once

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 81
contributed articles

transaction rules are agreed upon pseudo-anonymity of transactions, di- parties or directly by the platform. Fig-
by a participating buyer and seller, rect payment for goods and services ure 2 outlines transactions in a decen-
those rules can be programmed into via Bitcoin, and search that is unal- tralized marketplace.
a contract to then reside on the block- tered by the marketplace. The mar-
chain. Nodes on the network are in- ketplace’s quality of service is assured Advantages of a
centivized by “ether” rewards for vali- by independent third-party brokerage Decentralized Marketplace
dating and securing transactions on services. Likewise, reputation brokers In a decentralized marketplace, the
the blockchain. Such incentives have maintain user reputations throughout firm responsible for ensuring the mar-
spawned e-marketplaces for contract- the network.13 ketplace functions properly by match-
specific transactions (such as predic- Multilayered platform. Figure 1 ing buyers and sellers, facilitating
tion markets and initial coin offers outlines the architecture of a decen- transactions, and/or enabling institu-
like the “decentralized autonomous tralized e-marketplace architecture tional infrastructure is replaced by a
organization”). in which Layer 1 is the network infra- network of nodes, each independently
The Lazooz distributed ride-shar- structure consisting of hardware nodes and concurrently accomplishing the
ing network is another example of a and client software. The client software same functionality as that of a cen-
decentralized marketplace in which provides listings of goods in which tralized marketplace. As in Figure 1,
customers sharing rides use a mobile each node runs a local copy of the net- blockchain-based programs validate
application to order the ride. On the work’s blockchain that also includes each transaction transparently and
Lazooz network, individual partici- its own product listings. Layer 2 is the securely.14,25 Decentralized platforms
pants produce a “Zooz” token used to mining software used to create new ensure privacy and security for trans-
compensate drivers. Each transaction, blocks of data consisting of network actions while facilitating trust among
or ride, is recorded on the blockchain’s transactions; newer tokens of value are platform participants.
network of nodes.16 issued into the network based on min- Matching buyers and sellers. De-
OpenBazaar is a decentralized mar- ing algorithms. Layer 3 is the software centralized marketplaces can provide
ketplace in which software is installed responsible for validating transactions unmodified “access” to information
on each seller’s node where listings are on the network and for storing vali- (such as listings) as desired by the sell-
created. The marketplace accepts Bit- dated transaction records. In layer 4, er, since each node is able to list prices,
coin as its mode of payment and helps distributed applications might include goods, and reviews pertaining to goods.
users trade with one another by reduc- a peer-to-peer marketplace or a seller- The individual sellers are themselves
ing transaction costs compared to a logistics marketplace (such as the elec- responsible for creating the product
conventional marketplace. The main tronic data interchange interface and listings that are then redundantly dis-
advantage is that it offers participants reputation models). And Layer 5, or tributed throughout the network. Infor-
the quality-of-services layer, is where a mation transfers are completed much
Figure 1. Multilayered architecture of a marketplace’s customer relationship more reliably when search results per-
decentralized e-marketplace.
management functionality is imple- taining to goods listed by the seller are
mented. Reputation models, designed unchanged. Likewise, listing errors are
Layer 5 Quality of Service
to increase trust between buyers and minimized by design, since price-alter-
Layer 4 Decentralized Applications
sellers, are implemented through user ing and preference-altering algorithms
Layer 3 Blockchain
feedback, ratings, and reviews. Like- can be disabled or managed by indi-
Layer 2 Mining Software
wise, dispute resolution is facilitated vidual sellers. And matching function-
Layer 1 Network Infrastructure
through third-party brokers. Search ality through search engines can exist
is also facilitated in this layer by third independent of the marketplace; for

Figure 2. Transactions flows in a decentralized marketplace.

A purchases Transaction is saved, Block is broadcast All other nodes on Block is added to Payment is
good G from B along with other to all nodes on the network validate the current chain transferred
and pays X. similar transactions the network. this transaction. of blocks in from A to B.
on a block.a the blockchain.

B ships Once shipped, shipping Block is broadcast All other nodes on Block is added to Feedback request
good G to A details are saved, to all nodes on the network validate the current chain is sent to buyer A.
following along with other the network. this transaction. of blocks in
confirmation transactions on a block. the blockchain.
of payment.

a
The transaction here could piggyback on the Bitcoin network14 or follow a different blockchain implementation (such as Ethereum).

82 COMMUNICATIO NS O F TH E ACM | JA NUA RY 201 8 | VO L . 61 | NO. 1


contributed articles

example, market platforms Duo Search marketplaces would be better off de- provide a viable alternative with more
and Bazaar Bay provide search listings centralized. For example, transaction functionality.20 Smart contracts could
for OpenBazaar. facilitation on many centralized plat- be used to set up complex financial in-
Transactions. Transaction costs forms (such as Amazon and Overstock) struments with preset rules for paying
are minimized because intermediar- accept cryptocurrencies as an payment dividends to investors. Table 2 outlines
ies (such as payment gateways) are option. However, in certain market- caveats concerning decentralization
excluded. Buyers pay sellers directly, places (such as crowdfunding and ven- for a variety of e-marketplaces.
and the current network or other cryp- ture-finance IPOs), initial coin offers Decentralization is used to cre-
tocurrency networks validate payment can replace existing mechanisms to ate a social network (such as Steem)
transactions. Transactions are more
secure, owing to the fact they can- Table 1. Decentralized e-marketplaces vs. traditional marketplaces.
not be manipulated by anyone in the
marketplace. Transactional anonym- Marketplace Blockchain-Based Decentralized
Feature Marketplace Traditional E-Marketplace
ity and transactional privacy reduce
incentives for cyberattacks on both Trust through Distributed validation, including proof-of-work Third parties (such as a bank,
contract mechanisms or proof-of-stake mechanisms. certifying authority, promissory
individual accounts and transactions. enforcement The network enforces the contract between note, transfer systems, or other
Micro-transactions (such as tipping seller and buyer. forms of contractual mechanisms).
and micropayments) are also facili- The network validates reputation ratings, Usually controlled by the firm.
including reviews and feedback mechanisms. Potential for significant alteration.
tated. Disputes involving transactions
Transaction time Can be instantaneous due to fast network Promissory note, letter of credit, or
are handled by third-party conflict bro-
validation. acceptance of credits that
kers. The reputations of both sellers Delays can be mitigated using proof-of-stake/ can take a long time.
and buyers are thus managed indepen- proof-by-consensus algorithms.3,19
dent of the marketplace. And return- Value The network can reward participants with Banking systems (such as
ing goods and payments is handled in tokens or by accepting third-party tokens. national exchanges, currency, and
underwriters).
accordance with the mediation facili-
Privacy and Identity is not disclosed on the network. Identity fully disclosed in
tated by brokers through such mecha- security Tracking transactions can be facilitated, the marketplace.
nisms as multi-signature contracts, though with difficulty. As secure as the network’s
notarization, and arbitration. Transaction details can be hidden behind components.
layers of encryption.
Institutional infrastructure. Pro-
Cost of tampering with the network’s
grammable contracts facilitated validation mechanism is high.a
through the network of nodes en-
sure buyers and sellers adhere to
a
To break the network’s validation, an attacker would have to be able to
control >50% of the network’s hash power, involving a huge economic
the rules and norms of a contract. cost in case of proof-of-work validation mechanisms.
Fully automated enforcement, partial For proof-of-stake or proof-by-consensus mechanisms, tampering with
automation, and manual enforcement the network’s validation represents an economic disincentive.
modes for contracts thus ensure all
participants in a transaction adhere to
the negotiated, agreed-upon terms. Ta- Table 2. Decentralization in different e-marketplaces.
ble 1 compares various features of de-
centralized e-marketplaces with those Decentralization Cryptocurrency
of their counterparts in traditional e- E-Marketplace Possibility Reasons Support
marketplaces. Physical products Partly decentralized Many components to Bitcoin, Dash, Ethereum,
decntralize, including Monero
B2B support, accounting,
Conclusion
payment gateway, and
Decentralized marketplaces provide reputation
many advantages to all market partici- Digital products (such Very likely Fully online payment and Bitcoin, Dash, Ethereum
pants, including security, trust, priva- as e-books, music, delivery of goods
cy, lower transaction costs, and trans- video, and domains)

action integrity. Decentralization User-generated Very likely Online content, including Bitcoin, Ethereum,
content marketplace blogs, reviews, and online Steem
alters the paradigms of today’s con- reputation
ventional marketplaces in which a large Prediction markets Very likely Blockchain-based Augur, Bitcoin, Ethereum,
intermediary firm that controls the validation to enforce Truthcoin
platform is able to control every aspect contracts
of a trade, from product listings to Crowdfunding, Very likely Simpler validation; Bitcoind, Dash,
price discovery, product search, logis- sharing marketplaces functionality supported by Ethereum, Zooz
blockchain
tics, and the customer experience.
Currency exchanges, Very likely Easy-to-create complex Bitcoin, Dash, Ethereum,
While I have proposed an alterna- remittances, complex contracts and low Ripple
tive to the existing firm-controlled financial contracts transaction costs
marketplace, it is likely only certain
functions within existing centralized

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 83
contributed articles

in which content creators are iden- 8. Hodson, H. Bitcoin moves beyond money. New
Scientist 220, 2945 (Nov. 20, 2013), 24.
tified, recognized, and rewarded.11 9. Hoffman, D.L., Novak, T.P., and Peralta, M. Building
Blockchain-based prediction mar- consumer trust online. Commun. ACM 42, 4 (Apr.
1999), 80–85.
kets include applications in basic sci- 10. Hull, R., Batra, V.S., Chen, Y.-M., Deutsch, A., Heath
ences, where, say, drug discovery or
Decentralization
III, F.F.T., and Vianu, V. Towards a shared ledger
business collaboration language based on data-aware
patient outcomes might be predicted processes. In Proceedings of the 14th International
accurately through the wisdom of the
crowd.15 Likewise, blockchain-based
is used to create Conference on Service-Oriented Computing (Banff,
Alberta, Canada, Oct. 10–13), Springer International

software is being deployed in the fi- a social network Publishing, 2016, 18–36.
11. Larimer, D., Scott, N., Zavgorodnev, V., Johnson, B.,
Calfee, J., and Vandeberg, M. Steem: An Incentivized,
nancial industry for implementing au-
tomated reasoning for executing the
(such as Steem) Blockchain-Based Social Media Platform. White
Paper. Steem, New York, Mar. 2016; https://steem.io/

complex rules in financial contracts.10 in which SteemWhitePaper.pdf


12. ter Maat, M. The economics of e-cash. IEEE Spectrum

content creators
34, 2 (Feb. 1997), 68–73.
Given the blockchain’s special char- 13. Migliardi, M., Merlo, A., and Passaglia, A. On the
acteristics, successful execution and feasibility of moderating a peer-to-peer CDN system:
validation of rules by a network of are identified, A proof-of-concept implementation. In Proceedings
of the 10th International Conference on P2P, Parallel,
nodes extends its blockhain-based
applications to artificial intelligence recognized, Grid, Cloud, and Internet Computing (Krakow, Poland,
Nov 4–6). IEEE Press, 2015, 689–694.
14. Nakamoto, S. Bitcoin: A Peer-to-Peer Electronic Cash
applications in complex rule-based and rewarded. System. 2008; https://bitcoin.org/bitcoin.pdf
15. Peterson, J. and Krug, J. Augur: A decentralized, open-
systems.23 In financial markets, for source platform for prediction markets. arXiv (Jan. 5,
example, the blockchain enables in- 2015); https://arxiv.org/abs/1501.01042
16. Pick, F. and Dreher, J. Sustaining hierarchy—Uber
ternational remittance opportunities isn’t sharing. Kings Review (May 12, 2015); http://
with instantaneous currency trans- magazine.ouishare.net/2015/05/sustaining-
hierarchy-uber-isnt-sharing/
fers and “de-risks” international cur- 17. Ratnasingham, P. Trust in web-based electronic
rency exchange; for example, BITT commerce security. Information Management &
Computer Security 6, 4 (1998), 162–166.
is a Bitcoin-based platform for inter- 18. Reid, F. and Harrigan, M. An analysis of anonymity
in the bitcoin system. In Proceedings of the Third
bank money transfer among 16 Carib- IEEE International Conference on Social Computing
bean nations, some running the risk (Boston, MA, Oct. 9–11). IEEE Press, 2011,
1318–1326.
of currency de-recognition. Similarly, 19. Rochet, J.C. and Tirole, J. Two-sided markets: A
the blockchain plays an important progress report. The RAND Journal of Economics 37, 3
(2006), 645–667.
role mitigating problems in business 20. Rosov, S. Beyond Bitcoin. CFA Institute Magazine 26, 1
environments where market friction (Jan./Feb. 2015), 37–37.
21. Schwartz, D., Youngs, N., and Britto, A. The Ripple
due to weak legal institutions is a Protocol Consensus Algorithm. White Paper. Ripple
challenge, as in the real estate market Labs Inc., San Francisco, CA, 2014; http://www.
the-blockchain.com/docs/Ripple%20Consensus%20
where property records on the block- Whitepaper.pdf
chain are being sought as a solution.8 22. Subramanian, H. and Overby, E. Electronic commerce,
spatial arbitrage, and market efficiency. Information
Systems Research 28, 1 (Mar. 2017), 97–116.
Conclusion 23. Swan, M. Blockchain thinking: The brain as a
decentralized autonomous corporation [commentary].
By facilitating key marketplace func- IEEE Technology and Society Magazine 34, 4 (Dec.
tions, decentralization will, if success- 2015), 41–52.
24. Weyl, E.G. A price theory of multi-sided platforms.
ful, complement and rival traditional The American Economic Review 100, 4 (Jan. 2009),
1642–1672.
conventional e-marketplaces. 25. Wood, G. Ethereum: A Secure Decentralised
Generalised Transaction Ledger. Yellow Paper.
Ethereum Project; http://gavwood.com/paper.pdf
References
1. Bakos, Y. The emerging role of electronic
marketplaces on the Internet. Commun. ACM 41, 8
(Aug. 1998), 35–42. Hemang Subramanian (hsubrama@fiu.edu) is an
2. Buterin, V. What proof of stake is and why it assistant professor in the Department of Information
matters. Bitcoin Magazine (Aug. 26, 2013); https:// Systems and Business Analytics in the College of Business
bitcoinmagazine.com/articles/what-proof-of-stake-is- at Florida International University, Miami, FL.
and-why-it-matters-1377531463/
3. Cusumano, M.A. The Bitcoin ecosystem. Commun.
ACM 57, 10 (Oct. 2014), 22–24. © 2018 ACM 0001-0782/18/1 $15.00
4. Duffield, E. and Diaz, D. Dash: A privacy-centric crypto-
currency. White Paper. Dash, Sept. 2014; https://
www.dash.org/wp-content/uploads/2015/04/Dash-
WhitepaperV1.pdf
5. The Economist. Workers on tap: The on-demand
economy. The Economist (Dec. 2014); https://www.
economist.com/news/leaders/21637393-rise-
demand-economy-poses-difficult-questions-workers-
companies-and
6. Eisenmann, T., Parker, G., and Van Alstyne, M.W.
Strategies for two-sided markets. Harvard Business
Review 84, 10 (Oct. 2006), 92. Watch the author discuss
7. Hart, O. and Holmström, B. The Theory of Contracts. his work in this exclusive
Department of Economics, Massachusetts Institute Communications video.
of Technology, Cambridge, MA, 1986; https:// https://cacm.acm.org/videos/
dspace.mit.edu/bitstream/handle/1721.1/64265/ decentralized-blockchain-based-
theoryofcontract00hart.pdf?sequence=1 e-marketplaces

84 COMMUNICATIO NS O F TH E AC M | JA NUA RY 201 8 | VO L . 61 | NO. 1


review articles
DOI:10.1145/ 3158416
˲˲ thearrest of one of al Qaeda’s
The practice of hiding ill-gotten data members in Berlin with video files
containing hidden information on
in digital objects is rising among ongoing and future terrorists’ opera-
cyber thieves. New initiatives serve to tions (2012),a
educate, train, and thwart these activities. ˲˲ the exfiltration of confidential data
from the U.S. to Moscow by Russian
spies (2010),b
BY WOJCIECH MAZURCZYK AND STEFFEN WENDZEL ˲˲ the transfer of child pornographic
material by a group of pedophiles called

Information
“Shadowz Brotherhood” (2002),c and
˲˲ the planning of a terrorist attack
after the September 11, 2001 attacks. A
number of articles suggested that al

Hiding:
Qaeda members used steganography
to coordinate their actions (2001).d
In these cases, information-hid-
ing techniques were used to hide the

Challenges
confidential or illegal data into inno-
cent-looking material, for example,
digital pictures.
Steganography is a well-known

for Forensic
subfield of information hiding that
aims is to cloak secret data in a suit-
able carrier. Since the time of An-
cient Greece, over the Medieval

Experts
Ages, to today’s world, information
hiding has been often used to con-
ceal messages on their way to a de-
sired recipient. 38 For instance, mu-
sic notes were utilized to embed
secret information that was only rec-
ognizable by the person that knows
where to look for it. Another example
for steganography is the writing with
invisible ink.26 The use of covert tech-
niques grew significantly during the
two World Wars, in which the mili-

a http://edition.cnn.com/2012/04/30/world/al-
qaeda-documents-future/
a research domain that covers
I N FOR M ATION H I D I NG I S b http://www.bbc.com/news/10442869
a wide spectrum of methods that are used to make c http://news.bbc.co.uk/2/hi/science/nature/
2082657.stm
(secret) data difficult to notice. Due to improvements
IMAGE BY AND RIJ BORYS ASSOCIAT ES/SHUT TERSTOCK

d http://usatoday30.usatoday.com/tech/news/
2001-02-05-binladen-side.htm
in network defenses such techniques are recently
gaining an increasing attention from actors like key insights
cybercriminals, terrorist and state-sponsored groups ˽˽ This article provides an introduction to
the current state of information hiding.
as they allow to store data or to cloak communication
˽˽ Steganography-utilization in cybercrime
in a way that is not easily discoverble.22 There are is explored.

several real-world cases that reached the attention of ˽˽ The objectives of the Criminal Use
of Information Hiding (CUIng) initiative
the public media, including the following:23,38 are examined.

86 COMMUNICATIO NS O F TH E AC M | JA NUA RY 201 8 | VO L . 61 | NO. 1


JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 87
review articles

Figure 1. Modern information hiding classification based on the techniques’ application and, in principle, a third-party observ-
and exemplary groups of methods. er would be unaware of it. The most
important classes belonging to this
group include out-of-band covert
channels, network steganography
Modern
Information Hiding (also known as network covert chan-
nels), as well as local covert channels
(that are limited in communication
range to the single device).
Covert data Covert data Here, we will briefly describe an evo-
storage communication
lution of the classes of techniques
mentioned.
Digital media
steganography Network Modern Information Hiding: An
steganography/ Evolution of Techniques
covert channels
It must be also noted that in the years
File/file system/ Local and
mass storage/ out-of-band between the early 1990s and about
information hiding channels 2001, mostly academics considered in-
formation hiding as a relevant re-
search discipline. This research do-
main was, however, shifted back into
the focus of applied researchers, secu-
Comparison of two types of carriers for data hiding. rity professionals and law enforce-
ment agencies (LEAs) after new cases
Feature/Type
became known in which information
of the carrier Digital media Network traffic
hiding was successfully applied for
Method’s capacity/ Limited by the type of the digital media Limited by the type
bandwidth and the size of a file of the traffic and the length malicious purposes. Obviously, the
of a transmission biggest concern in LEAs is that covert
Hidden data embedding Cannot exceed file capacity Can be slow but continuous techniques are being used to ensure
over longer period of time stealth communication among terror-
Data hiding application Covert storage Covert communication ist/criminals and cybercriminals.
Nature Permanent Ephemeral Below we briefly summarize the evo-
Clues for forensic analysis Can be available for Often not available when lution of the data-hiding groups pre-
forensic experts after transmission ends
transmission
sented in Figure 1.
Digital media steganography incor-
Method’s detectability Easy only if an original file is available Hard due to different forms of
acceptable traffic and varying porates techniques to hide informa-
network conditions tion within digital images, audio files,
Cost of applying data hiding Decrease in digital media quality Increased delays, raised packet and digital videos.8 Johnson and Kat-
loss level, reduced feature set zenbeisser group such steganographic
of protocols and/or affected
user transmission quality
methods into six categories:15 stegano-
Robustness (secret data Typically cannot survive conversion to Typically vulnerable
graphic methods can either substitute
resistance to modifications) another format to dynamically changing redundant data in cover objects, em-
network conditions bed data in a signal’s transform space,
utilize spread spectrum techniques,
change statistical properties of a cover
tary developed several methods to formation in such a way that no one object, or represent secret information
hide information in innocent-look- besides the involved persons will know by introducing a distortion into a sig-
ing objects. So-called microdots, for where the information is stored or how nal. A sixth category differs from the
example, hide text by shrinking it to to extract it. Digital media steganogra- first five and contains steganographic
the size of a punctuation mark that phy and file/file system/mass storage methods that create cover objects only
can be hidden on a sheet of paper. steganography are the most promi- for carrying secret information (in-
Today’s form of information hiding nent classes belonging to this group. stead of modifying existing cover ob-
follows the same origins as the digital On the other hand, covert data com- jects). For a survey of this type of meth-
era. Modern information-hiding tech- munication methods focus on hiding ods please refer to Cheddad.6
niques can be divided based on their the fact that any communication proc- Another branch of modern infor-
application into two broad groups: co- ess took place and were initially de- mation hiding is related to stegano-
vert data storage and covert data com- scribed as channels that were not fore- graphic file systems. The first such ap-
munication (Figure 1). Covert data seen for communication.18 This proach was proposed by Anderson et
storage allows the application of data- means that involved parties can par- al.1 The main idea relied on the fact
hiding techniques to conceal secret in- ticipate in a covert communication that encrypted data resembles random

88 COM MUNICATIO NS O F TH E ACM | JA NUA RY 201 8 | VO L . 61 | NO. 1


review articles

bits naturally present on the disk. not necessarily break a mandatory secu-
Therefore, only the ability to extract rity policy but rather allow the stealthy
the vectors marking the file boundar- transfer of secret information. By using
ies permitted the location process. physical mediums, out-of-band covert
Later, another approach for a hidden
file system was proposed in Pang.25 Au- The biggest concern channels overcome air-gaps between
systems, for example, using non-audi-
thors implemented a Linux-based
steganographic file system that could
in law enforcement ble acoustic channels,11 light, or vibra-
tion.12 Several other out-of-band covert
preserve the integrity of the stored files agencies is that channels are described in Carrara.4
and employ a hiding scheme in the
disk space by camouflaging with the
covert techniques It must be noted that recently secret-
concealing techniques have spanned
aid of dummy hidden files and aban- are being used considerably to enable data hiding in
doned blocks. Recently, the concept of
a steganographic system has been pro-
to ensure stealth many other areas, especially in network
traffic: the so-called network informa-
posed in Neuner,24 which utilizes sys- communication tion hiding (and in particular its sub-
tem timestamps as a covert data stor-
age. An alternative approach of secret among terrorist/ field called network steganography) con-
stitutes a growing branch of modern
data storage is to utilize chosen loca- criminals and information hiding.
tions (such as Master File Table en-
tries) or unorganized storage space on cybercriminals. Network steganography deals with
the concealment of information within
mass storage media.30 network transmissions.23 This means
Single-host (local) covert channels that network data that appears to be in-
have been studied for several decades.18 nocent is actually carrying hidden data.
These covert channels allow the leak- Network information hiding can be
age of information between isolated used, for example, by malware to con-
processes by utilizing shared resourc- ceal its command and control commu-
es, for example, local files or disk nication (instead of only encrypting it)
arms.10 Their major goal is to break a while it is also suitable for a long-term
mandatory security policy. Also, the stealthy data leakage, for example, af-
applications and operating systems ter an organization was attacked using
were analyzed to detect and analyze an advanced persistent threat.22 In-
such possible covert channels and to deed, since the Linux Fokirtor mal-
prevent and limit them, for example, waree (2013), which hides data in SSH
within the VAX security kernel.14 Re- traffic, and Reginf (2014), which utiliz-
cently, the most common case in es several network protocols to signal
which local covert channels were in- hidden information through these,
vestigated involves the colluding ap- more malware with more sophisticat-
plications scenario 29 (proposed first ed features arose. Malware also in-
in 2011). This scheme assumes the creasingly exploits functions of online
device is infected with a malware social networks to transfer hidden in-
composed of two processes running formation, for example, embedded
in the separate sandboxes so they into exchanged messages or posted im-
are unable to directly communicate. ages. Fisk et al. reported in 2002 that a
They use data-hiding techniques to typical Web server could leak up to sev-
establish a local covert channel to by- eral gigabytes of data per year via net-
pass the security framework of the in- work information-hiding methods.7
fected device. Typically malicious pro- Now, 15 years later, Internet-based in-
cesses are modulating common formation leakage is considered to be
resources like shared notifications much more powerful, resulting in ex-
and file-system locks, or they alter the ponentially increasing amounts of
idle state of the CPU or the system load leaked data per time.
(for more information see methods In comparison to digital media
surveyed in Mazurczyk21). steganography, network steganogra-
During last few years there is also an phy can be used for a constant data
increased interest in so-called out-of- leakage.23 Therefore, network infor-
band covert channels quite similar to
single-host covert channels but utilize a e http://www.theregister.co.uk/2013/11/15/
stealthy_linux_backdoor/
shared physical medium that can be ac- f http://www.symantec.com/connect/blogs/
cessed by both the sending and receiv- regin-top-tier-espionage-tool-enables-
ing process.4 Out-of-band channels do stealthy-surveillance

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 89
review articles

mation hiding methods modify either work traffic can permanently carry involves specialized software exploit-
the timing or the content of network little amounts of data, at day and at ing this carrier.
traffic, for example, by modifying un- night. A comparison of the two digital Moreover, a covert sender and re-
used bits, the structure of protocol carrier types, such as digital media ceiver will often utilize an encryption
headers, the rate in which traffic is (the most well-researched and most scheme (and a password/key) that will
sent or the order of packets.36 First popular cover for information hiding allow for securing the content even if
methods were introduced already in methods) and network traffic is the hidden communication is discov-
the 1980s and 1990s,9,28 but most hid- shown in the accompanying table. ered. It must be also noted that in
ing methods for networks were pub- From this perspective, it must be practice there is a plethora of various
lished after 2000 and were focused on emphasized that information-hiding types of information-hiding tech-
newer protocols such as IPv620 and technique utilization on a suspect’s niques in which carriers can be modi-
LTE advanced,27 cyber-physical sys- computer will not be discovered by a fied and a great number of carriers
tems (such as smart homes/build- forensic analysis if it is not being di- that can be used for this purpose,
ings),32 industrial communication rectly sought. In general, all that which adds another dimension to the
protocols such as Modbus,19 and criminals or terrorists need to enable challenges for the forensic experts.
cloud computing.5 Extensive surveys a covert communication is to agree
discussing more than hundred meth- upon the carrier in which the secret Current State of Information
ods can be found in Zander,36 Wend- data will be embedded. The carrier Hiding in Cybercrime and
zel,35 and Mazurczyk.23 While a digital can be a digital image, audio, video, Forensics Challenges
image allows to carry a rather limited text file, network traffic, or any other In general, it is impossible to precisely
number of bytes per single file, net- digital medium. Obviously, this also evaluate how widespread the use
of information-hiding techniques
Figure 2. Percentage of the identified information hiding-capable malware between 2011 is among criminals/terrorists, cy-
and 2016 (historical data collected by members of the CUIng initiative).
bercriminals, or state-sponsored
groups. However, there are signs that
30 information-hiding utilization can
24 be heavily underestimated as secu-
25 24
rity experts do not always correctly
20 recognize and classify techniques
20
used. For instance, by observing how
16
15 malware developers increasingly ap-
12 ply information-hiding techniques
10 we can be certain this trend is most
likely going to increase. Figure 2
5 4 presents data that can support this
claim. It illustrates the percentage of
0
information hiding-capable malware
2011 2012 2013 2014 2015 2016
identified (with respect to the total
number of discovered malware) be-
tween 2011 and 2016 (historical data
collected by members of the Criminal
Figure 3. Use-cases for the criminal application of information hiding methods. Use of Information Hiding—CUIng—
initiative, to be discussed later). We
treated malicious software as an infor-
mation hiding-capable malware when
Criminal Use-cases for
Information Hiding it has been used at least once for data-
hiding techniques defined in Figure 1.
To collect this information, we relied
on reports from security companies,
our own continuous malware land-
scape analysis and data from LEAs.
Covert Data Stealthy Malware
Storage Command and Control
Nevertheless, the trend observed in
Figure 1 may still be only a “tip of an
iceberg.” As a result, discovery of data-
hiding tools will become a great chal-
Covert Communication Covert Data lenge for LEAs, counterterrorism orga-
Tool Exfiltration nizations, and forensic experts.
It is also worth noting that informa-
tion-hiding techniques were initially
only found in highly sophisticated mal-

90 COMMUNICATIO NS O F TH E ACM | JA NUA RY 201 8 | VO L . 61 | NO. 1


review articles

ware like Regin, Duqu,g or Hammertoss,h


which by security experts are thought to
be created by nation-states to infiltrate a
wide range of international targets and
Challenges for
eventually launch attacks if necessary.
However, currently it can be ob-
Forensic Examiners
served that not only APTs, but even ˲˲ Due to the large number of information hiding techniques and a diversity of poten-
the typical malware is turning toward tial carriers, no general and effective off-the-shelf detection solutions exist. As covert
increased utilization of data hiding. data exchange is typically tightly coupled with the adopted carrier it makes detection
poorly generalizable and a challenging task. Some tools exist to help forensic experts
This is somehow expected as typically (the majority is for digital media steganography) but they are typically crafted for a par-
sophisticated malicious software is ticular technique or a small group of them (for example, one type of carrier).
supported by an actor that is not ˲˲ Typically, investigators do not focus on recovering hidden data but on discovering
strongly resource-constrained (in mon- whether any known information hiding program has been installed and used which does
ey, human resources or in time). There- not lead toward revealing what message has been hidden especially if a proprietary tool
is utilized.
fore, takeover of advanced information ˲˲ There are no guidelines provided for investigators that will allow for the systematic
hiding techniques by cybercriminals can search for a hidden content.
be the result of a “trickle down” effect ˲˲ Some carriers are of a more ephemeral nature, for example, network traffic. If the
from “milware” (that is, state-sponsored traffic it is not captured while being sent, then it is very unlikely that it can be recovered
malicious software) to “malware” (creat- later. This makes network information hiding and forms of out-of-band covert chan-
nels even a greater challenge for forensics examiners than typical “classical” data
ed by non-state groups) as described in hiding methods. Moreover, there are practically no tools for detection of information
Zielińska.38 It is also worth noting that, hiding in especially network traffic and in the physical medium.
typically, cybercriminals will mostly focus ˲˲ If the inspected computer is infected with information hiding-capable malware,
on hiding as much information as neces- then for an investigator it could be difficult to discover such a fact.
˲˲ Forensics examiners often rely solely on hash sets of the known data-hiding tools
sary, whereas nation-state actors will try
or the tools they know, thus they may not recognize a steganographic tool even if they
to conceal as much data as possible. found it, for example, proprietary.
Based on the aim to be achieved, in- ˲˲ The existing software for information hiding is becoming increasingly difficult to
formation-hiding techniques can be discover; it can be placed on a removable media and executed directly, without ad-
used by criminals/terrorists and other ditional installation. In this case, no remnants of the program would be found on the
suspect’s hard drive. However, it turns out not always to be true as recently a tool called
malicious actors for the following pur-
RSAS (Removed Steganography Application Scanner) has been introduced that allows
poses (Figure 3): to discover artifacts of the known steganographic programs even if they were previously
˲˲ As a mean for covert storage: To hide uninstalled or run from a portable memory storage.
secret data in such a way that no one ˲˲ With the ever-increasing amount of network traffic, hard drive storage capacity and
besides the owner is authorized to dis- the number of diverse files (images, videos, audio, text files) that a typical user stores,
a complete search for carries with embedded secret data becomes a tremendously time-
cover its location and retrieve it. In other consuming task.
words, the aim is to not reveal the stored ˲˲ Given the fact that also passive signaling of hidden information can be applied,
secret to any unauthorized party. This forensics cannot solely focus on active signaling methods during their analysis. For in-
way criminals/terrorists can store their stance, research demonstrates that the timing behavior of server-side applications can
be enough to deduce information about the existence of users on a system. This can be
secret data in a hidden manner (such in done by measuring and comparing the response time for requests with different user-
the case of pedophiles group “Shadowz names of a web application.3,29 A recent vulnerability in the popular OpenSSH daemon
Brotherhood” mentioned earlier). falls into this category.a
˲˲ As a covert communication tool:
To communicate messages with the a http://seclists.org/fulldisclosure/2016/Jul/51
aim of keeping some aspect of their
exchange secret. Criminals/terrorists
can use information hiding to covertly ˲˲ As a mean for covert malware ing or impossible (for example, because
exchange their confidential data (for communication: Finally, malware can they were designed for the design phase
example, as in case of the Russian spy be equipped with information hid- of a system, not for a forensic analysis).
ring discovered in U.S.). ing techniques to become stealthier Developing new data-hiding methods
˲˲ As a data exfiltration technique: while residing on the infected host is usually much easier than the effort
Cybercriminals/insiders can use it to and/or while communicating with needed to detect them.
steal/exfiltrate confidential data (this Command & Control (C&C) servers Additionally, if the carrier is select-
is the case for a Zeus/Zbot trojani). (for example, a Hammertoss APT). ed properly (that is, if the carrier is
From the forensic challenges per- popular enough so it is not an anoma-
g http://resources.infosecinstitute.com/ spective first it must be noted that ly itself) even trivial techniques can
duqu-2-0-the-most-sophisticated-malware- there is a huge asymmetry when it remain hidden for long periods of
ever-seen/#gref comes to devising new information hid- time. What is worse from a cybercrime
h https://www2.fireeye.com/rs/848-DID-242/im- ing techniques and its detection/elimi- perspective: there are many informa-
ages/rpt-apt29-hammertoss.pdf
i https://blog.malwarebytes.com/threat-analysis/
nation. Although research on counter- tion-hiding tools that are easy to ac-
2014/02/hiding-in-plain-sight-a-story-about-a- measures started early (Zander37), their cess and use, even for an unexperi-
sneaky-banking-trojan/ application in practice can be challeng- enced user. In April 2014, the

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 91
review articles

Steganography Analysis and Research have become significantly more so-


Center (SARC) claimed their latest ver- phisticated in recent years. For exam-
sion of the Steganography Application ple, an arising challenge for forensic
Fingerprint Database contained over experts are solutions like SonicVortex
1,250 steganography applications.
It must be also noted that many of Many of the Transactions (http://www.sonic-coin.
com/) that can be treated as a next-gen-
the commercial tools for information-
hiding detection do not exactly focus
commercial tools eration crypto currency platform. It en-
ables hiding encrypted bitcoin transac-
on revealing the embedded secret data for information- tions in innocent pictures and offers a
but rather try to find artifacts left be-
hind by the hiding tools. This appears
hiding detection do stealthy address and built-in TOR sup-
port. This can potentially provide tre-
to be a good approach; however, it is not exactly focus mendous difficulties for investigating
only successful for the list of well-
known data hiding tools or under as-
on revealing the financial crimes.
In addition, there have been press
sumption that it was the legitimate embedded secret releases stating that criminals/ter-
user of the device who installed this
type of software. In practice, if a propri- data but rather try rorists are exploiting different as-
pects of online games/gaming con-
etary data-hiding tool is utilized or the to find the artifacts soles to enable covert
device is infected with information
hiding-capable malware, revealing its left behind by the communicationj as they offer many
aspects including digital images, vid-
artifacts will be not possible or the true
intention of the attacker will be still
hiding tools. eo, network traffic, and even ele-
ments within the virtual world that
difficult to establish. can be modified in order to conceal
In contrast, the detection of hidden messages. It must be noted this op-
data, which is typically done by the foren- tion was recognized in the academia
sics examiner for LEAs or anti-terrorism community almost a decade ago.30
units, is far more challenging and the ex- A few academic publications al-
traction/recovery of the secrets is even ready deal with the transfer and stor-
harder (for example, due to utilized en- age of hidden data in the Internet of
cryption of covert data). Things (IoT).23,32 It is likely it will only
Another point is that still many fo- be a matter of time before IoT services,
rensics examiners do not routinely such as smart homes and wearables,
check a suspect’s computer for infor- will be subjected to information hid-
mation-hiding software and, even if ing-based cybercrime. IoT devices pro-
they do, several issues arise (see the ac- vide entirely new ways to store hidden
companying sidebar). data in their actuators and in the mem-
When discussing forensic challeng- ory of embedded components—places
es for information hiding, the two most where no current methods will search
important aspects that should be con- for hidden data and for which no tai-
sidered are technical capabilities of the lored tools are available.
suspect and type of the crime.17 Also, other popular and innocent-
The technical capabilities of the looking online services like Skype, IP
suspect may map to the resources that telephony, BitTorrent, or cloud storage
he has on his computer (installed soft- systems can be exploited to enable co-
ware, hardware) or which he accessed vert communication.23 Therefore, net-
(for example, visited webpages or work traffic and data exchanged during
downloaded e-books). such transmissions can be utilized for
The type of a suspected crime can information hiding purposes often
also point to a utilization of data hid- without overt sender and overt receiver
ing. For example, terrorists or child knowledge or consent.
pornographers tend to hide their se- Moreover, hiding tools became in-
crets in images and then send it creasingly adaptive. In this context,
through email or by posting it on a adaptiveness refers to a malware
website. A similar case is with crimes function that can automatically ad-
that involve the transfer of business- just to a changing environment. For
type records. Obviously, if a cybercrime instance, imagine an administrator
is investigated then information hid-
ing usage is always a viable option. j http://cjel.law.columbia.edu/preliminary-
As mentioned, methods as well as reference/2016/communicating-terror-the-
applications of information hiding role-of-gaming-consoles-and-backdoors/

92 COMM UNICATIO NS O F THE ACM | JA NUA RY 201 8 | VO L . 61 | NO. 1


review articles

discovered a malware using network on the professional and academic level. (both academic and industry confer-
information hiding and he decides to Although the CUIng initiative start- ences). For instance, CUIng was a pro-
block its communication channel. In ed only recently, its circle of involved gram partner for several industry
such a case, the administrator could organizations and individuals has eCRIME conferences and it will orga-
introduce new filter rules for fire- managed to collect and categorize a nize a dedicated event CUING 2017
walls or traffic normalizers. However, vast amount of relevant information, workshop (with ARES 2017) and a spe-
adaptive malware would detect the be it about discovered malware piec- cial session (with IWDW 2017) on
blocked channel and would most- es, information about incidents or these topics.
likely find a way to route around this research output. Currently it con- CUIng helped Europol’s EC3 to cre-
barrier. Therefore, it uses one of the sists of more than 100 experts from ate a CyberBit (intelligence notifica-
several different hiding methods over 30 countries worldwide who are tion on cyber-related topics that aim to
available, eventually building a co- presenting different backgrounds. raise awareness and to trigger discus-
vert overlay network with dynamic The initiative gathers and shares the sions or further actions), that is, a brief
routing capabilities. These tech- following information: backgrounder for the Trends Series en-
niques were already discovered sev- ˲˲ General background on informa- titled “Steganography for Increased
eral years ago in academia.2,33 tion hiding: it provides a general over- Malware Stealth.” In January 2016, a
view of recent trends and techniques. dedicated training course for EC3 enti-
A New Initiative to Fight Information ˲˲ Scientific publications: relevant tled “Training on Information Hiding
Hiding-Based Cybercrime papers, which present the state-of-the- Techniques and its Utilization in Mod-
In the context of the forensic challenges art in academic research in this area. ern Malware” was organized.
mentioned previously, policymakers, ˲˲ Information hiding-capable mal- CUIng members are also involved in
governmental organizations, and law- ware reports: analyses of real-life ma- creating new tools, projects, and con-
enforcement, security industry and licious software that uses data hiding cepts for digital forensic purposes. The
academia should work jointly to build techniques. most notable examples include:
novel products and methods to protect ˲˲ Relevant tools: applications which ˲˲ Network Information Hiding Pat-
companies and citizens. allow to conceal data as well as differ- terns projectk that allows the reduc-
Criminal Use of Information Hiding ent approaches for countermeasure/ tion of a large number of available
(CUIng) is an initiative recently detection. hiding techniques to only several pat-
launched in cooperation with Eu- ˲˲ New categorization and didactic terns—this can aid the community to
ropol’s European Cybercrime Centre concepts and training course materi- remain focused on core developments
(EC3). The initiative is open for all in- als: new concepts on how to teach/train and to understand better the network
terested members from different information hiding to make the topic hiding concepts.
backgrounds to participate in it. The more accessible and materials from ˲˲ Covert Channel Educational
current structure of the initiative the previous trainings. Analysis Protocol (CCEAP) tool,34
consists of the Steering Committee First surveyed results and trends
and regular members. The Steering were presented at relevant events k http://ih-patterns.blogspot.de/p/introduction.html
Committee is responsible for setting
the strategic direction of the initia- Figure 4. Objectives of the CUIng initiative.
tive and proposing, approving and
coordinating all its activities. The
Steering Committee is a mix of mem- CUIng Initiative Objectives
bers from academia, industry, LEAs,
and institutions.
Monitor
Its main objectives, which are sum- the Related
marized in Figure 4, are the following: Cybercrime
˲˲ to raise awareness for the criminal
use of information hiding on all rel-
evant levels (from IT administration to Collaborate with Work Jointly with Academia,
governments), Relevant Players Professionals and LEAs
˲˲ to track progress of academic re-
search in the domain,
˲˲ to monitor the technology’s utili- Raise Provide Research and Develop Track Progress
zation by criminals, Awareness Advice New Methods of Research
˲˲ to share information about inci-
dents between the relevant players,
˲˲ to provide practical advice to these
Share Create Educational
players, Incidents Tools and Courses
˲˲ to work jointly with researchers
around the world, and
˲˲ to foster the education and training

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 93
review articles

which defines a sample protocol to References


28. Rowland, C.H. Covert channels in the TCP/IP protocol
suite. First Monday 2, 5 (1997).
teach various network hiding pat- 1. Anderson, R., Needham, R. and Shamir, A. The 29. Schlegel, R., Zhang, K., Zhou, X., Intwala, X., Kapadia,
steganographic file system. Information Hiding.
terns and can be used in didactic en- Springer, 1998, 73–82.
A., Wang, X.: Soundcomber: A Stealthy and Context-
Aware Sound Trojan for Smartphones, in: Network and
vironments. The tool is unique as it 2. Backs, P., Wendzel, S. and Keller, J. Dynamic routing Distributed System Security Symposium, 2011.
in covert channel overlays based on control protocols.
lowers the barrier for understanding In Proceedings of the ISTP’12 Workshop (2012).
30. Thompson, I. and Monroe, M. FragFS: An advanced
data hiding technique. BlackHat Federal, 2006; http://
network covert channels by eliminat- IEEE, 32–39. www.blackhat.com/presentations/bh-federal-06/BH-
3. Bortz, A. and Boneh, D. Exposing private information Fed-06-Thompson/BH-Fed-06-Thompson-up.pdf
ing the requirement of understand- by timing web applications. In Proceedings of the 31. Tseby, T., Iglesias Vázquez, F., Bernhardt, V., Frkat,
ing several network protocols in ad- WWW (2007). ACM, 621–628. D. and Annessi, R. A network steganography lab
4. Carrara, B. and Adams, C. Out-of-band covert channels— on detecting TCP/IP covert channels. IEEE Trans.
vance. However, it must be noted, A survey. Computing Surveys 49, 2 (2016). ACM, 23. Education 59, 3 (2016), 224–232.
that testbeds not based on hiding 5. Caviglione, L., Podolski, M., Mazurczyk, W. and 32. Wendzel, S., Kahler, B. and Rist, T. Covert channels and
Ianigro, M. Covert channels in personal cloud storage their prevention in building automation protocols—A
patterns33 exist. services: The case of Dropbox. IEEE Trans. Industrial prototype exemplified using BACnet. GreenCom/
˲˲ Removed Steganography Applica- Informatics, 2016. CPSCom. IEEE, 2012, 731-736.
6. Cheddad, A., Condell, J., Curran, K. and Mc Kevitt, P. 33. Wendzel, S. and Keller, J. Hidden and Under
tion Scanner (RSAS) tooll that enables Digital image steganography: Survey and analysis of Control—A survey and outlook on covert
to discover artifacts of the known steg- current methods. Signal Processing 90, 3 (Mar. 2010), channel-internal control protocols. Annals of
727–752. Telecommunications 69, 7 (2014). Springer, 417–430.
anographic applications even if they 7. Fisk, G., Fisk, M., Papadopoulos, C. and Neil, J. 34. Wendzel, S. and Mazurczyk, W., Poster: An educational
were previously uninstalled or run Eliminating steganography in Internet traffic with network protocol for covert channel analysis using
active wardens. Information Hiding, LNCS 2578 patterns. In Proceedings of the ACM Conference on
from a portable memory storage. (2002). Springer, 18–35. Computer and Communications Security (Vienna,
Current CUIng members’ experi- 8. Fridrich, J. Steganography in Digital Media: Principles, Austria, Oct. 24–28, 2016), 1739–1741.
Algorithms, and Applications. Cambridge University 35. Wendzel, S., Zander, S., Fechner, B. and Herdin, C.
ences related to the initiative show Press, 2009. Pattern-based survey and categorization of network
that cooperating jointly and building 9. Girling, C.G. Covert Channels in LANs. IEEE Trans. covert channel techniques. Computing Surveys 47, 3
Softw. Engin. 13, 2 (1987). IEEE, 292–296. (2015). ACM, 50.
a robust community will take advan- 10. Gold, B.D., Linde, R.R., Peeler, R.J., Schaefer, M., 36. Zander, S., Armitage, G. and Branch, P. A survey of
tage of the expert knowledge and ex- Scheid, J.F. and Ward, P.D. A security retrofit of covert channels and countermeasures on computer
VM/370. In Proceedings of the AFIPS Conference network protocols. IEEE Communications Surveys &
pertise from academia, industry, law (1979). AFIPS Press, 335–344. Tutorials 9, 3 (2007). IEEE, 44–57.
enforcement, and institutions. This 11. Hanspach, M. and Goetz, M. On covert acoustical mesh 37. Zander, S., Armitage, G. and Branch, P. Covert
networks in air. J. Communications 8, 11 (2013). channels in multiplayer first person shooter online
networking approach does not elimi- 12. Hasan, R., Saxena, N., Haleviz, T., Zawoad, S. and games. . In Proceedings of the 33rd IEEE Conference
Rinehart, D. Sensing-enabled channels for hard-to- on Local Computer Networks (2008), 215–222.
nate but limits the problem of the detect command and control of mobile devices. In 38. Zielińska, E., Mazurczyk, W. and Szczypiorski, K. Trends
criminal use of information hiding Proceedings of the Symp. Information, Computer and in steganography. Comm. ACM 57, 3 (Mar. 2014). ACM,
Communications Security. ACM, New York, NY, 2013, 86–95.
before it becomes a much more wide- 469–480.
spread phenomenon. It must be also 13. Herr, T. and Armbrust, E. Milware: Identification and
implications of state authored malicious software. Wojciech Mazurczyk (wmazurczyk@tele.pw.edu.pl)
noted that CUIng is about to release a In Proceedings of the 2015 New Security Paradigms is an associate professor at Warsaw University of
first set of guidelines for the protec- Workshop. ACM, New York, NY, 29–43 Technology, Warsaw, Poland.
14. Hu, W.M. Reducing timing channels with fuzzy time.
tion of organizations and the forensic J. Computer Security 1, 3/4 (1992), 233–254. Steffen Wendzel (wendzel@hs-worms.de) is
analysis in the coming year. 15. Johnson, N.F. and Katzenbeisser, S.C. A survey of an associate professor at Worms University of Applied
steganographic techniques. Information Hiding. Sciences, Worms, and a researcher at Fraunhofer FKIE,
Artech House, 2000. Bonn, Germany.
Outlook 16. Kemmerer. R.A. Shared resource matrix methodology:
An approach to identifying storage and timing
The increasing number of known channels. ACM Trans. Computer Systems 1, 3 (Aug. © 2018 ACM 0001-0782/18/1 $15.00
cases in which modern information 1983), 256–277.
17. Kessler, G.C. An overview of steganography for
hiding is applied in cybercrime as the computer forensics examiner. Forensic Science
well as the constantly rising number Communications 6, 3 (Jan. 2004), 1–2.
18. Lampson, B.W. A note on the confinement problem.
of academic publications in the field Commun. ACM 16, 10 (Oct. 1973), 613–615.
underpin the importance of the topic 19. Lemay, A., Fernandez, J.M. and Knight, S. A Modbus
command and control channel, In Proceedings of the
and the broad interest in it. It is im- Annual IEEE Systems Conference. IEEE, 2016.
portant to foster professional and 20. Lucena, N.B., Lewandowski, G. and Chapin, S.J. Covert
channels in IPv6. In Proceedings of Privacy Enhancing
academic training on information Technologies, LNCS 3856 (2005). Springer, 147–166.
hiding, a better understanding and 21. Mazurczyk, W. and Caviglione, L. Steganography in
modern smartphones and mitigation techniques. IEEE
the improvement of the methodology Commun. Surveys & Tutorials 17, 1 (2014), 334–357;
in the field, especially for forensics. DOI: 10.1109/COMST.2014.2350994
22. Mazurczyk, W. and Caviglione, L. Information hiding as
Another need is to enable a better a challenge for malware detection. IEEE Security and
sharing of incidents and trends. The Privacy, 2 (2015).
23. Mazurczyk, W., Wendzel, S., Zander, S., Houmansadr,
CUIng initiative presented here is a A. and Szczypiorski, K. Information Hiding in
vehicle to push these processes. Communication Networks. Wiley-IEEE Press, 2016.
24. Neuner, S., Voyiatzis, A.G., Schmiedecker, M.,
More information about CUIng can Brunthaler, S., Katzenbeisser, S. and Weippl, E.R. Time
be found at http://www.cuing.org. is on my side: Steganography in file system metadata.
Digital Investigation 18 (2016), S76–S86.
Acknowledgments. The authors 25. Pang, H., Tan, K. and Zhou X. Stegfs: A steganographic
thank the anonymous reviewers for file system. In Proceedings of the International Conf.
on Data Engineering, 2003, 657–667.
helpful and constructive comments 26. Petitcolas, F., Anderson, R. and Kuhn, M. Information
hiding—A survey. IEEE 87, 7 (1999), 1062–1078.
that greatly contributed to improving 27. Rezaei, F., Hempel, M., Peng, D., Qian, Y. and Sharif, Watch the authors discuss
this article. H. Analysis and evaluation of covert channels over their work in this exclusive
LTE advanced. In Proceedings of the Wireless Communications video.
Communications and Networking Conference. IEEE, https://cacm.acm.org/videos/
l https://nicolatalin.github.io/rsas/ 2013, 1903–1908. information-hiding

94 COMM UNICATIO NS O F THE ACM | JA NUA RY 201 8 | VO L . 61 | NO. 1


research highlights
P. 96 P. 97
Technical
Perspective Deep Optimization
Moving Spectrum for Spectrum Repacking
By David C. Parkes By Neil Newman, Alexandre Fréchette, and Kevin Leyton-Brown

P. 105 P. 106
Technical
Perspective Halide: Decoupling
Can High Algorithms from Schedules
Performance
Be Portable? for High-Performance
By Manuel Chakravarty Image Processing
By Jonathan Ragan-Kelley, Andrew Adams,
Dillon Sharlet, Connelly Barnes, Sylvain Paris, Marc Levoy,
Saman Amarasinghe, and Frédo Durand

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 95
research highlights
DOI:10.1145/ 3 1 5 0 2 1 3

Technical Perspective
To view the accompanying paper,
visit doi.acm.org/10.1145/3107548 rh

Moving Spectrum
By David C. Parkes

HOW CAN YOU transform the use of The incentive auction presents a rithm, and in this case the design of a
radio spectrum from low-value use critical algorithmic challenge—that portfolio of different, complementary
such as over-the-air television to high- of solving a repacking problem when algorithms that run in parallel, to be
value use such as wireless broad- operating the reverse auction, and made in a principled, data-driven way.
band? A “big bang” response was doing so quickly and at scale. The The role of an algorithm designer be-
proposed in the early 2000s. The idea real problem is more complicated comes that of designing configurable
was to use a market in which owners than repacking a parking lot. It is as algorithms as well as using creativity
of spectrum could sell their spectrum if all the parking slots were shaped to come up with domain-specific heu-
for new uses by others. But this was like Tetris pieces, and furthermore ristics that could prove useful. In addi-
plagued with difficulty. my psychedelic-colored car cannot go tion, the designer provides a realistic
Imagine TV stations as owners right next to your white car (in real- distribution of inputs on which to op-
of cars in a parking lot. Each wire- ity, there are complex, physics-based timize performance. Having exposed
less company wants to buy a large, interference constraints that dictate 191 parameters in the design space,
contiguous space in the lot. Doing what is feasible). Consider a seller each nested as many as four-levels
so will create great value. But to suc- who is willing to sell at the current deep, the authors call their approach
ceed, it must buy space from each of price. The repacking problem asks: Is “deep optimization.”
a number of stations. And each sta- there a feasible assignment of the avail- There are larger lessons here. First,
tion will try to seek a huge amount able spectrum (the spectrum not target- through outstanding computer science
of money for this space! The solution ed to buyers) to this seller and all the in developing a customized solution to
to this “holdout problem” came in a other stations who have already chosen this difficult and important problem,
new regulation that gave the Federal not to sell? If the answer is NO (or not the researchers provided confidence
Communications Commission (FCC) provably YES) then we must finalize that these large-scale, NP-hard prob-
the right to move TV stations to new the price to this seller. If the answer is lems could be solved at scale. Second,
frequencies. This creates competi- YES then we can lower the price and this success speaks to the importance
tion. As long as enough stations sell give the station the choice of taking of sustained research—this is the cul-
spaces anywhere in the lot then re- the next price or walking away. mination of a concerted research ef-
maining cars can be moved around to This scenario provides the back- fort over more than a decade into data-
create space. drop for the breathtaking research driven algorithm design. This project
The FCC’s “incentive auction” pro- contribution presented in Newman et itself is a tour de force in “big bang”
ceeds in stages, each stage associated al. For the auction to run in a reason- computer science, with an open source
with a clearing target. To illustrate, able amount of time, the FCC wanted simulator, the inclusion of 20 state-of-
suppose the target is to sell half of the to run two rounds of price updates the-art SAT solvers, and days of com-
parking lot. Each stage proceeds in per day, giving a few hours to proc- pute time to generate their results.
two interrelated parts. First, buyers ess a round. Bids had to be processed Eventually, the FCC’s Incentive
compete to set prices for the large, sequentially. Taking into account the auction generated $19.8 billion of rev-
contiguous spaces that would be cre- fraction of instances that finish very enue, $10.1 billion of which flowed to
ated if half the lot were sold. Buyers quickly, this required solving each broadcasters. It moved 84MHz of spec-
drop out over time and the auction repacking instance within approxi- trum to highest and best use with all
continues until every buyer who re- mately one minute. State-of-the-art trades voluntary. This is one of the big-
mains can be allocated space within algorithms were able to solve only gest successes to date for the Econom-
the clearing target. Second, sellers 80% of hard instances within this ics and Computer Science research
place lower and lower bids in a “re- time cut-off. The solver in Newman agenda.
verse auction” to sell their individ- et al. can solve 88% of hard instances
ual spaces. They drop out over time in under a second and 96% within the David C. Parkes is the George F. Colony Professor of
Computer Science, and Co-Director, Harvard Data Science
(refusing to sell their space) and the cutoff. The authors estimate the im- Initiative in the Paulson School of Engineering and Applied
auction continues until every seller Sciences, Harvard University, Cambridge, MA.
pact of these improvements could
who remains is needed to be able to represent a $1 billion gain to the U.S.
move around the sellers who refuse government in lower prices and thus
to sell in order to meet the clearing reduced cost in the reverse auction.
target. This repeats, each stage with a How did they do this? The ap-
progressively smaller target, until the proach is that of data-driven algo-
revenue generated is at least that of rithm design. This allows decisions
the cost of the reverse auction. about the precise design of an algo- Copyright held by author.

96 COMM UNICATIO NS O F THE ACM | JA NUA RY 201 8 | VO L . 61 | NO. 1


DOI:10.1145/ 3 1 0 75 48

Deep Optimization
for Spectrum Repacking
By Neil Newman, Alexandre Fréchette, and Kevin Leyton-Brown

Abstract allocated. Interest has thus grown in the reallocation of radio


Over 13 months in 2016–17 the U.S. Federal Communications spectrum from less to more valuable uses. Spectrum cur-
Commission conducted an “incentive auction” to repurpose rently allocated to broadcast television has received particu-
radio spectrum from broadcast television to wireless inter- lar attention, for two reasons. First, over-the-air television
net. In the end, the auction yielded $19.8 bn, $10.05 bn of which has been losing popularity with the rise of cable, satellite,
was paid to 175 broadcasters for voluntarily relinquishing and streaming services. Second, the upper UHF frequencies
their licenses across 14 Ultra High Frequency (UHF) channels. used by TV broadcasters are particularly well suited to wire-
Stations that continued broadcasting were assigned poten- less data transmission on mobile devices—for which
tially new channels to fit as densely as possible into the chan- demand is growing rapidly—as they can penetrate walls and
nels that remained. The government netted more than $7 bn travel long distances.23
(used to pay down the national debt) after covering costs It thus made sense for at least some broadcasters to sell
(including retuning). A crucial element of the auction design their licenses to wireless internet providers willing to pay for
was the construction of a solver, dubbed SAT-based Feasibility them. Ideally, these trades would have occurred bilaterally
Checker (SATFC), that determined whether sets of stations and without government involvement, as occurs in many
could be “repacked” in this way; it needed to run every time a other markets. However, two key obstacles made such trade
station was given a price quote. This paper describes the proc- unlikely to produce useful, large-scale spectrum realloca-
ess by which we built SATFC. We adopted an approach we dub tion, both stemming from the fact that wireless internet ser-
“deep optimization,” taking a data-driven, highly parametric, vices require large, contiguous blocks of spectrum to work
and computationally intensive approach to solver design. efficiently. First, a buyer’s decision about which block of
More specifically, to build SATFC we designed software that spectrum to buy would limit the buyer to trading only with
could pair both complete and local-search SAT-encoded fea- broadcasters holding licenses to parts of that block; it could
sibility checking with a wide range of domain-specific tech- be hard or impossible to find such a block in which all broad-
niques, such as constraint graph decomposition and novel casters were willing to trade. Second, each of these broad-
caching mechanisms that allow for reuse of partial solutions casters would have “holdout power,” meaning the
from related, solved problems. We then used automatic algo- broadcaster could demand an exorbitant payment in
rithm configuration techniques to construct a portfolio of 8 exchange for allowing the deal to proceed. The likely result
complementary algorithms to be run in parallel, aiming to would have been very little trade, even if broadcasters valued
achieve good performance on instances that arose in propri- the spectrum much less than potential buyers.
etary auction simulations. To evaluate the impact of our A 2012 Act of Congress implemented a clever solution to
solver in this paper, we built an open-source reverse auction this problem. It guaranteed each broadcaster interference-
simulator. We found that within the short time budget free coverage in its broadcast area on some channel, but not
required in practice, SATFC solved more than 95% of the necessarily on its currently used channel. This meant that if a
problems it encountered. Furthermore, the incentive auction broadcaster was unwilling to sell its license, it could instead
paired with SATFC produced nearly optimal allocations in a be moved to another channel, solving the holdout problem.
restricted setting and substantially outperformed other alter- To free up the channel that would permit this move to take
natives at national scale. place, broadcast rights could be bought from another station
in the appropriate geographical area, even if this second sta-
tion did not hold a license for spectrum due for reallocation.
1. INTRODUCTION In what follows, we call such an interference-free reassign-
Many devices, including broadcast television receivers and ment of channels to stations a feasible repacking.
cellphones, rely on the transmission of electromagnetic These trades and channel reassignments were coordi-
­signals. These signals can interfere with each other, so nated via a novel spectrum auction run by the FCC between
transmission is regulated: For example, in the U.S., by the March 2016 and April 2017, dubbed the Incentive Auction. It
Federal Communications Commission (FCC). Since electro- consisted of two interrelated parts. The first was a forward
magnetic spectrum suitable for wireless transmission is a auction that sold large blocks of upper UHF spectrum to
scarce resource and since it is difficult for a central authority interested buyers in a manner similar to previous auctions
to assess the relative merits of competing claims on it, since of unallocated spectrum. The key innovation was the second
1994 the FCC has used spectrum auctions to allocate broad-
cast rights (see, e.g., Milgrom27). Many regulators around the
This paper builds in part on an AAAI 2016 conference
world have followed suit. At this point, in the US (as in many
publication by the same authors (see Fréchette et al.11).
other countries), most useful radio spectrum has been

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 97
research highlights

part: a reverse auction that was specially designed to perform essentially by hand. Deep learning has shown that it is often
well in the Incentive Auction.25, 28 It identified both a set of possible to achieve substantially better performance by rely-
broadcasters who would voluntarily give up their broadcast ing less on expert knowledge and more on enormous amounts
rights and prices at which they would be compensated, of computation and huge training sets. Specifically, deep
simultaneously ensuring that all remaining broadcasters learning considers parametric models of very high dimension,
could feasibly be repacked in the unsold spectrum. The using expert knowledge only to identify appropriate invari-
choice of how much spectrum to reallocate, called the clear- ances and model biases, such as convolutional structure. (In
ing target, linked these two parts: the incentive auction alter- some cases it is critical that these models be “deep” in the
nated between reverse and forward auction stages with sense of having long chains of dependencies between param-
progressively shrinking clearing targets until revenue gener- eters, but in other cases great flexibility can be achieved even
ated by the forward auction covered the cost of purchasing with models only a couple of levels deep; e.g., Zhang et al.35)
and reassigning stations in the reverse auction. We argue that a similar dynamic applies in the case of heuris-
We now describe the reverse auction’s rules in more tic algorithms for discrete optimization, which aim to achieve
detail. First, all participating stations are given initial price good performance on some given dataset rather than in the
quotes and respond either that they agree to sell their broad- worst case. Traditionally, experts have designed such heuristic
cast rights at the quoted price or that they “exit the auction” algorithms by hand, iteratively conducting small experiments
(decline to participate), meaning that they will be guaran- to refine their designs. We advocate an approach in which a
teed some interference-free channel. The auction then computationally intensive procedure is used to search a high-
repeatedly iterates over the active bidders. Every time a bid- dimensional space of parameterized algorithm designs to
der i is considered, the software first checks whether i can be optimize performance over a large set of training data. We aim
feasibly repacked along with all exited stations. If such a fea- to minimize the role played by expert knowledge, restricting it
sible repacking exists, i is given a (geometrically) lower price to the identification of parameters that could potentially lead
quote and again has the options of accepting or exiting. to fruitful algorithm designs. We also encourage deep depen-
Otherwise, i is frozen: its price stops descending and it is no dencies via chains of parameters each of whose meaning
longer active. The auction ends when all bidders are either depends on the value taken by one or more parents.
frozen, exited, or receive price quotes of zero. Overall, this paper demonstrates the value of the deep opti-
The problem of checking the feasibility of repacking is mization approach via the enormous performance gains it
central to the reverse auction, likely to arise tens of thousands yielded on the challenging and socially important problem of
of times in a single auction. Unfortunately, this problem is spectrum repacking. After formally stating the station repack-
NP-complete, generalizing graph coloring. The silver lining is ing problem, we define our large algorithm design space and
that interference constraints were known in advance—they the search techniques we used. We assess the results on prob-
were derived based on the locations and broadcast powers of lems that arose in runs of our new open-source reverse auction
existing television antennas—and so it was reasonable to simulator, investigating both our solver’s runtime and its
hope for a heuristic algorithm that achieved good perfor- impact on economic outcomes.
mance on the sorts of problems that would arise in a real auc-
tion. However, identifying an algorithm that would be fast 2. THE STATION REPACKING PROBLEM
and reliable enough to use in practice remained challenging. We now describe the station repacking problem in more
Since each feasibility check depends on the results of those detail.b Each television station in the US and Canada s ∈ S is
that came before—if a station is found to be frozen, it cannot currently assigned to a channel cs ∈ C ⊆ N that ensures that it
exit—these problems must be solved sequentially. Time con- will not excessively interfere with other, nearby stations.
straints for the auction as a whole required that the auction (Although Canadian stations did not participate in the auc-
iterate through the stations at least twice a day, which worked tion, they were eligible to be reassigned new channels.) The
out to a time cutoff on the order of minutes. It was thus inevi- FCC determined pairs of channel assignments that would
table that some problems would remain unsolved. Luckily,
the auction design is robust to such failures, treating them as a
  There exists a large body of prior work that investigates the use of algorithm
proofs of infeasibility at the expense of raising the cost configuration to design novel algorithms from large, parameterized spaces
(some of which, indeed, we have coauthored); we believe, however, that the
required to clear spectrum. work described in this paper is the most consequential application of such
This paper describes our experience building SATFC 2.3.1, techniques to date. Much of the literature just mentioned focuses on algorithm
the feasibility checker used in the reverse auction. We lever- configuration tools2, 15, 16, 20, 26, 33 (which we take as given in this paper) rather than
aged automatic algorithm configuration approaches to derive algorithm design methodology. Most work in the latter vein either ­addresses
a portfolio of complementary algorithms that differ in their the much broader problem of algorithm synthesis (e.g., Di Gaspero and
Schaerf5; Monette et al.29; Westfold and Smith32) or defines the overall approach
underlying (local and complete) search strategies, only implicitly (e.g., KhudaBukhsh et al.22). The most prominent exception is
Satisfiability (SAT) encodings, constraint graph decomposi- “programming by optimization;”14 however, it emphasizes connections to soft-
tions, domain-specific heuristics, and use of a novel caching ware engineering and does not limit itself to parametric design spaces.
scheme. We use the term “deep optimization” to refer to this b
  Similar problems have been studied in other contexts, falling under the
umbrella of frequency assignment problems. See for example, Ref. Aardal et al.1
approach,a with the goal of emphasizing its conceptual simi-
for a survey and a discussion of applications to mobile telephony, radio and
larity to deep learning. Classical machine learning relied on TV broadcasting, satellite communication, wireless Local Area Networks
features crafted based on expert insight, model families (LAN), and military operations. We are not aware of other published work
selected manually, and model hyperparameters tuned that aims to optimize feasibility checking in the Incentive Auction setting.

98 COM MUNICATIO NS O F TH E AC M | JA NUA RY 201 8 | VO L . 61 | NO. 1


cause harmful interference based on a complex, grid-based Very High Frequency (LVHF) (channels 1–6), High Very High
physical simulation (“OET-69” Ref. FCC7); this pairwise con- Frequency (HVHF) (channels 7–13), and UHF (channels
straint data is publicly available.9 Let I ⊆ (S × C)2 denote a 14–51) with the property that no interference constraint
set of forbidden station–channel pairs {(s, c), (s′, c′)}, each rep- involves channels in more than one band.
resenting the proposition that stations s and s′ may not con- Second, note that we are not interested in optimizing worst-
currently be assigned to channels c and c′, respectively. The case performance even given our fixed interference graph, but
effect of the auction was to remove some broadcasters from rather in achieving good performance on the sort of
the airwaves and to reassign channels to the remaining sta- instances generated by actual reverse auctions. These
tions from a reduced set. This reduced set was defined by a instances depend on the order in which stations exit the auc-
clearing target, fixed for each stage of the reverse auction, tion, which depends on stations’ valuations, which depend
corresponding to some channel ∈ C such that all stations in turn (among many other factors) on the size and character
are only eligible to be assigned channels from of the population reached by their broadcasts. The distribu-
. Each station can only be assigned a channel on a subset of tion over repacking problems is hence far from uniform.
, given by a domain function D : S → 2 that maps from Third, descending clock auctions repeatedly generate
­stations to these reduced sets. The station repacking problem station repacking problems by adding a single station s+ to
is then the task of finding a repacking γ : S → that assigns a set S- of provably repackable stations. This means that
each station a channel from its domain that satisfies the every station repacking problem (S- ∪ {s+}, C) comes with
interference constraints: That is, for which γ (s) ∈ D (s) for all a partial assignment γ- : S- → C that we know is feasible on
s ∈ S, and γ (s) = c ⇒ γ (s′ ) ≠ c′ for all {(s, c), (s′, c′)} ∈ I. A restricted station set S-; we will see in what follows that
­problem instance thus corresponds to a set of stations S ⊆ this fact is extremely useful.
S and channels into which they must be packed, with Finally, many repacking problems are trivial: in our
domains D and constraints I implicitly being restricted to S experience, problems involving only Very High Frequency
and C; we call the resulting restrictions D and I. (VHF) channels can all be solved quickly; furthermore,
Why should we hope that this (NP-complete) problem the vast majority of UHF problems can be solved greedily
can be solved effectively in practice? First, we only need to simply by checking whether s+ can be augmented directly
be concerned with problems involving subsets of a fixed set with γ -. However, solving the remaining problems is cru-
of stations and a fixed set of interference constraints: those cial to the economic outcomes achieved by the auction (as
describing the television stations currently broadcasting in we shown in Section 6). In what follows, we restrict our-
the United States and Canada. Let us define the interference selves to “non-trivial” UHF problems that cannot be solved
graph as an undirected graph in which there is 1 vertex per by greedy feasibility checking.
station and an edge exists between two vertices s and s′ if
the corresponding stations participate together in any 3. A DEEP OPTIMIZATION APPROACH
interference constraint: That is, if there exist c, c′ ∈ C such As we shown in our experiments (see Section 5), off-the-shelf
that {(s, c), (s′, c′)} ∈ I. Figure 1 shows the Incentive Auction solvers could not solve a large enough fraction of station
interference graph. As it turns out, interference constraints repacking problems to be effective in practice. To do better,
come in 2 kinds. Co-channel constraints specify that 2 sta- we needed a customized algorithm optimized to perform
tions may not be assigned to the same channel; adjacent- well on our particular distribution of station repacking
channel constraints specify that two stations may not be problems. We built our algorithm via the deep optimization
assigned to two nearby channels. Hence, any forbidden sta- approach, meaning that we aimed to use our own insight
tion–channel pairs are of the form {(s, c), (s′, c + i)} for some only to identify design ideas that showed promise, relegat-
stations s, s′ ∈ S, channel c ∈ C, and i ∈ {0, 1, 2}. Furthermore, ing the work of combining these ideas and evaluating the
channels can be partitioned into 3 equivalence classes: Low performance of the resulting algorithm on realistic data (see
Section 4) to an automatic search procedure.
Figure 1. Interference graph visualizing the FCC’s constraint data9
(2 990 stations; 2 575 466 channel-specific interference constraints). 3.1. The design space
Our first task was thus to identify a space of algorithm designs
to consider. This was not just a pen- and-paper exercise, since
each point in the space needed to correspond to runnable
code. We focused on encoding station repacking as a propo-
sitional SAT problem. The SAT formalism is well suited to
station repacking, which is a pure feasibility problem with
only combinatorial constraints. (It may also be possible to
achieve good performance with Mixed-Integer Program
(MIP) or other encodings; we did not investigate such alter-
natives in depth.) The SAT reduction is straightforward: given
a station repacking problem (S,C) with domains D and inter-
ference constraints I, we create a Boolean variable xs,c ∈ {,
⊥} for every station–channel pair (s, c) ∈ S × C, representing
the proposition that station s is assigned to channel c. We

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 99
research highlights

then create three kinds of clauses: (1) ∨d∈D(s) xs,d ∀s ∈ S (each Figure 2. Empirical Cumulative Density Function (ECDF) of runtimes
station is assigned at least one channel); (2) ¬xs,c ∨ ¬xs,c′ ∀s ∈ for default configurations of MIP and SAT solvers and for SATFC
S, ∀c, c′ ≠ c ∈ D(s) (each station is assigned at most one chan- 2.3.1. The curves show fraction of instances solved (y axis) within
nel); (3) ¬xs,c ∨ ¬xs′,c′ ∀{(s, c), (s′, c′)} ∈ I (interference con- different amounts of time (x axis; note the log scale). The legend is
straints are respected). Note that (2) is optional: if a station is ordered by percentage of problems solved before the cutoff. The
histogram indicates density of SAT and UNSAT instances binned by
assigned more than one channel, we can simply pick one their (fastest) runtimes; unsatisfiable instances constituted fewer
channel to assign it from among these channels arbitrarily. than 1% of solved instances.
We thus created a parameter indicating whether to include
these constraints. In the end, a SAT encoding of a problem 1.0
SATFC 2.3.1
Gnovelty+PCL
involving all stations at a clearing target of 36 involved 73 187 0.9 CSCCSat2014
DCCA
variables and 2 917 866 clauses. Minisat_HACK_999ED_CSSC
PicoSAT
Selecting solvers. Perhaps the most important top-level 0.8 Solver43
Riss3g
parameter determines which SAT solver to run. (Of course, Riss3gExt
0.7 Clasp
each such solver will have its own (deep) parameter space;

Fraction of instances
Riss427
Lingeling
other parameters will describe design dimensions orthogo- 0.6 Yalsat
Gnovelty+GCwa
nal to the choice of solver, as we will discuss in what follows.) Gnovelty+GCa
0.5 SparrowToRiss
The SAT community has developed a very wide variety of Forl-nodrup
Cryptominisat
­solvers and made them publicly available (see e.g., Järvisalo et 0.4 Spear
Gurobi
al.19). In principle, we would have made it possible to choose Satenstein

every solver that offered even reasonable performance. 0.3 CPLEX


ProbSAT
SAT
However, doing so would have been too costly from the perspec- 0.2 UNSAT
TIMEOUT
tive of software integration and (especially) reliability testing.
We thus conducted initial algorithm configuration experiments 0.1
(see Section 3.2) on 20 state-of-the-art SAT solvers, drawn mainly
0.0 –2
from SAT solver competition entries collected in AClib.18 We 10 10–1 100 101 102
illustrate the performance of their default configurations as Runtime (s)
shown in Figure 2; most improved at least somewhat from their
default configurations as a result of algorithm configuration.
We identified two solvers that ended up with the strongest Our second method uses γ- to initialize local search solvers.
post-configuration performance—one complete and one Such solvers search a space of complete variable assignments,
based on local search—both of which have been shown in the typically following gradients to minimize an objective function
literature to adapt well to a wide range of SAT domains via such as the number of violated constraints, with occasional ran-
large and flexible parameter spaces. Our first solver was dom steps. They are thus sensitive to their starting points.
clasp,12 an open-source solver based on conflict-driven Optionally, we can start at the assignment given by γ- (randomly
nogood learning (98 parameters). Our second was the open- initializing variables pertaining to s+). We can also optionally
source SATenstein framework,22 which allows arbitrary com- redo this initialization on some fraction of random restarts.
position of design elements taken from a wide range of Problem simplification. Next, we considered three pre-
high-performance stochastic local search solvers (90 param- processing techniques that can simplify station repacking
eters), including DCCA and gNovelty+ (of which three solvers problems. First, we added the option to run the arc con-
in our set are variants). sistency algorithm, repeatedly pruning values from each
Using the previous solution. While adapting clasp and station’s domain that are incompatible with every channel
SATenstein to station repacking data yielded substantial on a neighboring station’s domain.
performance improvements, neither reached a point suffi- Second, we enabled elimination of unconstrained stations.
cient for deployment in the real auction. To do better, it was A station s is unconstrained if, given any feasible assignment of
necessary to leverage specific properties of the incentive auc- all of the other stations in S \ s, there always exists some way of
tion problem. Rather than committing to specific speedups, feasibly repacking s. Unconstrained stations can be removed
we exposed a wide variety of possibilities via further parame- without changing a problem’s satisfiability status. Various
ters. We began by considering two methods for taking advan- algorithms exist for identifying unconstrained stations; we
tage of the existence of a partial assignment γ -. The first determine this choice via a parameter. (All such stations can be
method checks whether a simple transformation of γ - is found via a reduction to the polytime problem of eliminating
enough to yield a satisfiable repacking. Specifically, we con- variables in a binary Constraint Satisfaction Problems (CSP);3
struct a small SAT problem in which the stations to be various sound but incomplete heuristics run more quickly but
repacked are s+ and all stations Γ(s+) ⊆ S neighboring s+ in identify progressively fewer unconstrained stations.)
the interference graph, fixing all other stations S \ Γ(s+) to Third, the interference graph induced by a problem may
their assignments in γ -. Any solution to this reduced prob- consist of multiple connected components; we can optionally
lem must be a feasible repacking; however, if the reduced run a linear-time procedure to separate them into distinct
problem is infeasible we cannot conclude anything. However SAT problems. We only need to solve the component to which
(depending on the value of a parameter), we can keep search- s+ belongs: γ - supplies feasible assignments for all others.
ing: unfixing all stations that neighbor a station in Γ(s+), etc. Arc consistency and unconstrained station removal can

100 CO MM UNICATIO NS O F T H E AC M | JA NUA RY 201 8 | VO L . 61 | N O. 1


simplify the interference graph by removing edges and nodes this space to building a customized solver. Identifying a set of
respectively. This can shrink the size of the component con- parameters that optimize a given algorithm’s performance
taining s+ and make this technique even more effective. on a given dataset is called algorithm configuration. There
Containment caching. Finally, we know that every repacking exist a wide variety of algorithm configuration tools.2,15,16,26 We
problem will be derived from a restriction of the interference used Sequential Model-based Algorithm Configuration
graph to some subset of S. We know this graph in advance of (SMAC),15 the publicly available method that arguably
the auction; this suggests the possibility of doing offline work achieves the best performance (see e.g., Hutter et al.17). SMAC
to precompute solutions. However, our graph has 2 990 uses the “Bayesian optimization” approach of interleaving
nodes, and the number of restricted graphs is thus 22990 ≈ random sampling and the exploration of algorithm designs
10900. Thus, it is not possible to consider all of them offline. that appear promising based on a learned model.
Not every restricted problem is equally likely to arise in Unfortunately, even after performing algorithm configura-
practice. To target likely problems, we could simply run a tion, it is rare to find a single algorithm that outperforms all
large number of simulations and cache the solution to every others on instances of an NP-complete problem such as SAT.
repacking problem encountered. Unfortunately, we found This inherent variability across solvers can be exploited by
that it was extremely rare for problems to repeat across suffi- algorithm portfolios.13,31,34 Most straightforwardly, one selects
ciently different simulator inputs, even after running hun- a small set of algorithms with complementary performance
dreds of simulations (generating millions of instances and on problems of interest and, when asked to solve a new
costing years of CPU time). However, we can do better than instance, executes them in parallel. Of course, we wanted to
simply looking for previous solutions to a given repacking construct such algorithm portfolios automatically as part of
problem. If we know that S is repackable then we know the our deep optimization approach. We did this by using a
same is true for every S′ ⊆ S (and indeed, we know the pack- method called Hydra33 which runs iteratively, at each step
ing itself—the packing for S restricted to the stations in S′). directing the algorithm configurator to optimize marginal
Similarly, if we know that S was not packable then we know gains over the given portfolio. This allows Hydra to find
the same for every S′ ⊇ S. This observation dramatically mag- algorithms that may perform poorly overall but that comple-
nifies the usefulness of each cached entry S, because each S ment the existing portfolio. Overall, we ran Hydra for eight
can be used to answer queries about an exponential number steps, thereby producing a portfolio of novel solvers (dubbed
of subsets or supersets. This is especially useful because SATFC) that could run on a standard 8-core workstation. The
sometimes it can be harder to find a repacking for subsets of Incentive Auction used SATFC 2.3.1, which is available online
S than it can be to find a repacking for S. at https://github.com/FCC/SATFC.
We call a cache meant to be used in this way a containment
cache, because it is queried to determine whether one set 4. DATA FROM AUCTION SIMULATIONS
contains another (i.e., whether the query contains the cache During the development of SATFC the FCC shared with us a
item or vice versa). To the best of our knowledge, contain- wide range of anonymized problem instances that arose in
ment caching is a novel idea. A likely reason why this scheme auction simulations they performed in order to validate the
is not already common is that querying a containment cache auction design. These formed the “training set” we used in
is nontrivial: one cannot simply index entries with a hash the deep optimization process when constructing SATFC
function; instead, an exponential number of keys can match 2.3.1. These simulations explored a very narrow set of
a given query. We were nevertheless able to construct an algo- answers to the questions of which stations would participate
rithm that solved this problem quickly in our setting. We and how bidders would interact with the auction mecha-
observe that containment caching is applicable to any family nism; they do not represent a statement either by us or by the
of feasibility testing problems generated as subsets of a mas- FCC about how these questions were resolved in the real auc-
ter set of constraints, not just to spectrum repacking. tion (indeed, by law the answers will not be revealed to us or
In more detail, we maintain two caches, a feasible cache to the public for two years). It is of course impossible to guar-
and an infeasible cache, and store each problem we solve in antee that variations in the assumptions would not have
the appropriate cache. We leverage the methods from yielded computationally different problems.
Section 3.1 to enhance the efficiency of our cache, storing While SATFC 2.3.1 is itself open-source software, it is
full instances for SAT problems and the smallest simpli- unfortunately impossible for us to share the data that was
fied component for UNSAT problems. When asked used to build it. In this paper, we have opted for what we
whether it is possible to repack station set S, we first check hope is the next best thing: evaluating SATFC 2.3.1 and vari-
whether a subset of S belongs to the infeasible cache (in ous alternatives using a publicly available test set. We thus
which case the original problem is infeasible); if we find wrote our own reverse auction simulator and released it as
no matches, we decompose the problem into its smallest open source software (see http://cs.ubc.ca/labs/beta/Projects/
simplified component and check if the feasible cache con- SATFC). We used this simulator to simulate 20 auctions, in
tains a superset of those stations, in which case the origi- each case randomly sampling bidder valuations from a pub-
nal problem is feasible. licly available model6 using parameters obtained directly
from its authors. This model specifies stations’ values for
3.2. Searching the design space broadcasting in UHF, vs,uhf. Of course, a station has no value
Overall, our design space had 191 parameters, nested as for going off air: vs,off = 0. In some cases the reverse auction can
much as four levels deep. We now describe how we searched reassign a UHF station to a channel in 1 of 2 less valuable VHF

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T H E ACM 101


research highlights

bands (LVHF, HVHF) in exchange for lesser compensation. As already discussed, there exist a wide variety of SAT solv-
We assume that vs,hvhf = vs,uhf and vs,lvhf = vs,uhf. We ers that are available for use off the shelf. Figure 2 illustrates
excluded from our simulator all stations for which the the performance of the 20 state-of-the-art solvers we consid-
authors of the model were unable to supply us with parame- ered in our initial configuration experiments in their default
ters: stations outside the mainland U.S. and Hawaii, all U.S. configurations. With few exceptions, the SAT solvers outper-
VHF stations, and an additional 25 U.S. UHF stations. This left formed the MIP solvers, as can be seen by comparing the
us with 1 638 eligible U.S. stations. We further included all solid and dashed lines as shown in Figure 2. However, run-
Canadian stations in our simulations: because the auction times and percentages of instances solved by the cutoff time
rules forbade them from being paid to leave their home bands, were still not good enough for us to recommend deployment
we did not need to model their valuations. Specifically, from of any of these solvers in the actual auction. The best solver
Canada we included 113 LVHF stations, 332 HVHF stations, in its default configuration, Gnovelty+PCL, was able to
and 348 UHF stations. solve the largest number of problems—79.96%—within the
We set the auction’s opening prices to the values cutoff. (As mentioned earlier, the SATenstein design space
announced by the FCC in November 2015.10 We assumed that includes Gnovelty+PCL alongside many other solvers.)
stations chose to participate in the reverse auction if their The parallel portfolio of all 20 solvers from Figure 2 was little
opening price offer for going off air was greater than their better, being able to solve only 81.58% of problems.
valuation for remaining on air in their current band. We We now turn to SATFC 2.3.1. This 8-solver parallel portfo-
assumed that stations always selected the option that myopi- lio stochastically dominated every individual solver that we
cally maximized their utility. We used the interference con- considered and achieved very substantial gains after a few
straints and station domains announced by the FCC in tenths of a second. It solved 87.73% of the problems in under
November 2015.9 For each simulation, we used the largest a second and 96.03% within the 1 min cutoff time. The histo-
clearing target for which we could find a feasible assignment gram at the bottom of the figure indicates satisfiability sta-
for the non-participating stations; in all cases this led to a clear- tus of instances solved by SATFC grouped by runtime; our
ing target of 84 Mhz, corresponding to a maximum allowable instances were overwhelmingly satisfiable.
channel of 36. We note that this is the amount of spectrum
actually cleared by the Incentive Auction. Just like the real auc- 6. IMPACT ON ECONOMIC OUTCOMES
tion, an auction simulator needs a feasibility checker to deter- We now ask whether SATFC’s improved performance is likely
mine which price movements are possible. We used SATFC to have translated into a better economic outcome in the
2.3.1 with a cutoff of 60 sec. We sampled 10 000 “nontrivial” Incentive Auction, assessing both cost and efficiency.
UHF problems uniformly at random from all of the prob- Preliminary work30 examined this question using a simplified
lems across all simulations to use as our dataset, where we simulator that restricted bidding to the UHF band and con-
defined nontrivial problems as those that could not be sidered a small set of stations in the vicinity of New York City
solved by greedily augmenting the previous solution. Fewer (described in detail below). Here we perform larger scale versions
than 3% of UHF problems in our simulations were nontriv- of these initial experiments and then use our enhanced reverse
ial. This test set consisted of 9 482 feasible problems, 121 auction simulator to run national-scale simulations. The cost
infeasible problems, and 397 problems that timed out at our of an auction is the sum of payments to
one min cutoff and therefore have unknown feasibility. the winning stations. To assess effi-
ciency we measured the total value lost
5. RUNTIME PERFORMANCE by the auction, comparing the sums of values of stations for
We now evaluate SATFC’s performance by contrasting it with their allocated bands both before and after the auction.c If
various off-the-shelf alternatives. The FCC’s initial investiga- we can find an efficient repacking γ*, then we can compute
tions included modeling the station repacking problem as a the additional fraction of value lost by some other repacking
MIP and using off-the-shelf solvers paired with problem-spe- γ. We call this the value loss ratio: where pre(s) returns the
cific speedups.8 Unfortunately, the problem-specific ele- band to which s was assigned before the auction and post(γ,
ments of this solution were not publicly released, so we cannot s) returns either the band to which s is assigned under chan-
evaluate them in this article. Instead, to assess the feasibility of nel assignment γ or OFF if s is not assigned to a band under
a MIP approach, we ran what are arguably the two best-perform- γ. When it is intractable to compute γ*, we resort to compar-
ing MIP solvers—CPLEX and Gurobi—on our test set of 10 000 ing the absolute value loss between different assignments.
non-trivial instances. To encode the station repacking problem Given our interest in the efficiency of the reverse auction,
as a MIP, we created a variable xs,c ∈ {0, 1} for every station–chan- it is natural to compare it to the Vickrey–Clarke–Groves
nel pair, representing the proposition that station s is assigned (VCG) mechanism, which always chooses the optimal pack-
to channel c. We imposed the constraints ∑c∈D(s) xs,c = 1 ∀ s ∈ S ing γ*. VCG pays losing stations nothing and pays each win-
and xs,c + xs′,c′ ≤ 1 ∀ {(s, c), (s′, c′)} ∈ I, ensuring that each station is ning station s the difference between the sum of values of
assigned to exactly 1 channel and that interference constraints
are not violated. Both MIP solvers solved under half of the c
  The more standard measure of efficiency—the sum of stations’ values for their
instances within our cutoff time of one min; the results are allocated bands—has the same optimum. Value loss has the advantage that it is
influenced only by stations that a feasibility checker is unable to repack in their
shown in Figure 2. Such performance would likely have home bands; it is thus more appropriate for comparing feasibility checkers. The
been insufficient for deployment in practice, since it more standard measure is sensitive to changes in the values of easy-to-repack
implies unnecessarily high payments to many stations. stations, even those that do not participate in any interference constraints.

102 COMM UNICATIO NS O F T H E ACM | JA NUA RY 201 8 | VO L . 61 | NO. 1


stations other than s for γ* and the sum of the same stations’ second is the default configuration of PicoSAT. To our
values for a packing that is optimal subject to the constraint knowledge, alongside MIP approaches this is the only other
that s does not win. We identified these optimal packings solver that has been used in publications on the Incentive
using the MIP encoding from Section 5 with 2 changes. First, Auction,4, 21 probably because we showed it to be the best
we added the objective of maximizing the aggregate values among a set of alternatives in an early talk on the subject.24
of the participating stations: maximize The third is the default configuration of Gurobi, the best per-
where band (c) is a function that forming MIP solver on our test set, which we include as a
returns the corresponding band for a given channel. Second, proxy for the MIP approach initially investigated by the FCC.
we allowed the option of not assigning a channel to a bid- In total, our 100 simulations consumed over five years of
ding station. CPU time (dominated by the VCG simulations). Figure 3
(left) illustrates the results. Each point shows the value loss (x
6.1. Greater New York city simulations axis) and cost (y axis) of a single simulation; in both cases,
Unfortunately, it was impossible to solve these optimization these quantities are normalized by the corresponding quan-
problems at a national scale, even given several days of com- tity achieved by VCG for the same valuation profile. The
puting time. We therefore constructed tractable problems by SATFC simulations had a mean value loss ratio of 1.048 and a
restricting ourselves to stations in the vicinity of New York mean cost ratio of 0.760, indicating that the reverse auction
City, which we chose because it corresponds to one of the achieved nearly optimal efficiency at much lower cost than
most densely connected regions in the interference graph. VCG. The PicoSAT results were nearly identical, differing in
More specifically, we dropped all Canadian stations and only 2 value profiles, and only slightly. The Gurobi results
restricted ourselves to the UHF band using the smallest pos- were again extremely similar but marginally worse, with a
sible clearing target (maximum allowable channel of 29). mean value loss ratio of 1.053 and a mean cost ratio of 0.762.
Using the interference graph induced by these restrictions, All of the SATFC, PicoSAT , and Gurobi runs dominated the
we then dropped every station whose shortest path length to greedy runs according to both metrics; on average, reverse
a station in New York City exceeded 2. The result was a set- auctions based on greedy cost 1.742 times more and lost
ting with 218 stations including those in Boston, Philadelphia 1.366 times as much broadcaster value than those based on
and Washington DC. The setting contained 78 499 channel- SATFC. Despite these differences, all of the solvers were able
specific interference constraints, yielding a MIP encoding to solve a very large fraction of the feasibility checking prob-
with 2 465 variables and 78 717 constraints. lems encountered in their respective simulations (which
We randomly generated 20 different valuation profiles, took different trajectories once 2 solvers differed in their
using the methodology described in Section 4 but restricting ability to solve a given problem): 99.978%, 99.945%, 99.948%,
ourselves to the stations in the restricted interference graph. and 99.118% for SATFC, PicoSAT, Gurobi, and greedy
For each valuation profile, we conducted 5 simulations. The respectively (including trivial problems).
first was of a VCG auction; we computed allocations and pay-
ments using CPLEX, solving all MIPs optimally to within 10−6 6.2. National simulations
absolute MIP gap tolerance. We also ran 4 reverse auction We were more interested in economic outcomes at the
simulations for each valuation profile, varying the feasibility national scale, even though we could not simulate VCG in
checker to consider 3 alternatives to SATFC. The first is the such a large setting. We generated 20 valuation profiles for
greedy feasibility checker, which represents the simplest rea- our full set of stations and ran reverse auction simulations
sonable feasibility checker and thus serves as a baseline. The using our 4 feasibility checkers. In total, these experiments

Figure 3. Comparing value loss and cost of the greedy feasibility checker, Gurobi, PicoSAT, and SATFC 2.3.1 for 20 different value profiles.
(Left) Fraction of VCG cost versus fraction of VCG value loss for Greater New York City simulations. All VCG points lie at (1,1). (Right) Value
loss and cost for national simulations.

1.8 9
VCG Greedy Feasibility Checker
Greedy Feasibility Checker 8 PicoSAT
1.6 PicoSAT SATFC 2.3.1
SATFC 2.3.1
7
1.4
6
Cost / VCG cost

Cost (Billions)

1.2
5
1.0 4

0.8 3
2
0.6
1
0.4
1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 0
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0
Value loss / VCG value loss
Value loss (Billions)

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T H E ACM 103


research highlights

consumed over 13 days of CPU time. Sujarittanonta, P. Design of the reverse 20. Kadioglu, S., Malitsky, Y., Sellmann, M.,
All solvers were again able to solve a large fraction of the prob- auction in the broadcast incentive auction. Tierney, K. ISAC–instance-specific
Working Paper (2015), http://www. algorithm configuration. In European
lems they encountered: 99.902%, 99.765%, 99.7433%, and 98.031% cramton.umd.edu/papers2015-2019/ Conference on Artificial Intelligence
for SATFC, PicoSAT, Gurobi, and greedy respectively (including cramton-reverse-auction-design-fcc- (ECAI) (2010), 751–756.
comment-pn.pdf, 2015. 21. Kearns, M., Dworkin, L. A computational
trivial problems). The economic impact of these differences is 5. Di Gaspero, L., Schaerf, A. Easysyn++: study of feasible repackings in the
illustrated as shown in Figure 3 (right). In this graph, x- and y-axis A tool for automatic synthesis of FCC incentive auctions. CoRR,
stochastic local search algorithms. abs/1406.4837, 2014.
values correspond to unnormalized value loss and cost respec- In Conference on Engineering 22. KhudaBukhsh, A.R., Xu, L., Hoos, H.H.,
tively. Each SATFC, Gurobi, and PicoSAT simulation again domi- Stochastic Local Search Algorithms Leyton-Brown, K. SATenstein:
(SLS) (2007), 177–181. Automatically building local search SAT
nated its greedy counterpart in both efficiency and cost. Averaging 6. Doraszelski, U., Seim, K., Sinkinson, M., solvers from components. Artificial
Wang, P. Ownership concentration and Intelligence 232 (2016), 20–42.
over all of our observations, reverse auctions based on greedy feasi- strategic supply reduction. Working 23. Knutson, R., Gryta, T. Verizon, AT&T
bility checking cost 3.550 times ($5.114 bn) more and lost 2.850 Paper, http://www.nber.org/papers/ may face bidding limits in spectrum
w23034 23034, National Bureau of auction. Wall Street Journal (Apr.
times as much ($2.030 bn) broadcaster value than those based Economic Research, January 2017. 2014). http://www.wsj.com/articles/SB
on SATFC. At the larger scale we also found that SATFC dominated 7. FCC. Office of engineering and 100014240527023046263045795101
technology releases and seeks comment 54106120342. Accessed 2016-12-12.
PicoSAT and Gurobi in every simulation: on average, PicoSAT on updated OET-69 software. FCC Public 24. Leyton-Brown, K. The viability of exact
auctions cost 1.495 times ($987 million) more and lost 1.427 Notice, DA 13-138, February 2013. feasibility checking. Talk at the
8. FCC. Information related to incentive Stanford Institute for Economic Policy
times as much ($469 million) value than SATFC auctions and auction repacking feasibility checker. Research Conference on the design of
Gurobi auctions cost 2.195 times ($2.390 bn) more and lost FCC Public Notice, DA 14-3, 1 2014. the U.S. Incentive Auction for
9. FCC. Repacking constraint files reallocating spectrum between
2.017 times as much ($1.117 bn) value then SATFC auctions. (2015). http://data.fcc.gov/download/ wireless telecommunications and
incentive-auctions/Constraint_Files/, television broadcasting, February 2013.
2015. Accessed 2015-11-20. 25. Li, S. Obviously strategy-proof
7. CONCLUSION 10. FCC. Reverse auction opening prices mechanisms. Available at SSRN
Station repacking in the Incentive Auction is a difficult but (2015). http://wireless.fcc.gov/ 2560028, 2015.
auctions/incentive-auctions/Reverse_ 26. López-Ibáñez, M., Dubois-Lacoste, J.,
important problem, with progress translating into significant Auction_Opening_Prices_111215.xlsx, Pérez Cáceres, L., Stützle, T., Birattari, M.
2015. Accessed 2015-11-15. The irace package: Iterated racing for
gains in both government expenditures and social welfare. 11. Fréchette, A., Newman, N., automatic algorithm configuration.
We designed a customized solution to this problem using an Leyton-Brown, K. Solving the station Operations Research Perspectives 3
repacking problem. In: AAAI (2016), 43–58.
approach we dub deep optimization. Specifically, we drew on Conference on Artificial Intelligence 8 27. Milgrom, P. Putting Auction Theory to
a large parameterized design space to construct a strong port- (2016), 702–709. http://dl.acm.org/ Work. Churchill Lectures in Economics.
citation.cfm?id=3015812.3015917, Cambridge University Press, 2004.
folio of heuristic algorithms: SATFC 2.3.1, an open-source 3015917. Frechette:2016:S 28 Milgrom, P., Segal, I. Deferred-
solver that was used in the real auction. To evaluate it for this SR:3015812.3015917. acceptance auctions and radio
12. Gebser, M., Kaufmann, B., Neumann, A., spectrum reallocation. In ACM
paper, we conducted experiments with a new reverse auction Schaub, T. clasp: A conflict-driven Conference on Economics and
simulator. We found that replacing SATFC with an off-the- answer set solver. In Logic Computation (EC) (2014), 185–186.
Programming and Nonmonotonic 29. Monette, J.-N., Deville, Y., Van
shelf feasibility checker resulted in both efficiency losses Reasoning (2007), 260–265. Hentenryck, P. Aeon: Synthesizing
and increased costs. It thus appears likely that our efforts 13. Gomes, C.P., Selman, B. Algorithm Scheduling Algorithms from
portfolios. Artificial Intelligence 126, High-Level Models, 47 (Springer,
led to significant economic benefits to broadcasters, the US 1 (2001), 43–62. Boston, 2009), 43–59.
government, and the American public. 14. Hoos, H.H. Programming by 30. Newman, N., Leyton-Brown, K., Milgrom, P.,
optimization. Communications of the Segal, I. Assessing economic
ACM 55, 2 (Feb. 2012), 70–80. outcomes in simulated reverse clock
Acknowledgments 15. Hutter, F., Hoos, H.H., Leyton-Brown, K.
Sequential model-based optimization
auctions for radio spectrum. Technical
report, abs/1706.04324 (2017). http://
We gratefully acknowledge support from Auctionomics and for general algorithm configuration. In arxiv.org/abs/1706.04324.
Learning and Intelligent Optimization 31. Nudelman, E., Leyton-Brown, K.,
the FCC; valuable conversations with Paul Milgrom, Ilya Conference (LION) (2011), 507–523. Andrew, G., Gomes, C., McFadden, J.,
Segal, and James Wright; help from Peter West in conducting 16. Hutter, F., Hoos, H.H., Leyton-Brown, K., Selman, B., Shoham, Y. Satzilla 0.9.
Stützle, T. ParamILS: an automatic Solver description, International SAT
some of the experiments reported in Section 6; contribu­ algorithm configuration framework. Competition, 2003.
tions (mostly in the form of code) from past research assis- Journal of Artificial Intelligence 32. Westfold, S.J., Smith, D.R. Synthesis of
Research 36, 1 (2009), 267–306. efficient constraint-satisfaction
tants Nick Arnosti, Guillaume Saulnier-Comte, Ricky Chen, 17. Hutter, F., Lindauer, M., Bayless, S., programs. The Knowledge Engineering
Alim Virani, Chris Cameron, Emily Chen, Paul Cernek; exper- Hoos, H., Leyton-Brown, K. Results of Review 16, 1 (March 2001), 69–84.
the configurable SAT solver challenge 33. Xu, L., Hoos, H.H., Leyton-Brown, K.
imental infrastructure assistance from Steve Ramage; and 2014. Technical report, University of Hydra: Automatically configuring
help gathering data from Ulrich Gall, Rory Molinari, Karla Freiburg, Department of Computer algorithms for portfolio-based
Science, 2014. selection. In AAAI Conference on
Hoffman, Brett Tarnutzer, Sasha Javid, and others at the FCC. 18. Hutter, F., López-Ibáñez, M., Fawcett, Artificial Intelligence (2010), 210–216.
This work was funded by Auctionomics and by Natural C., Lindauer, M., Hoos, H.H., 34. Xu, L., Hutter, F., Hoos, H.H.,
Leyton-Brown, K., Stützle, T. A Clib: A Leyton-Brown, K. SATzilla:
Sciences and Engineering Research Council (NSERC) via a benchmark library for algorithm portfolio-based algorithm selection
Discovery Grant and an E.W.R. Steacie Fellowship; it was con- configuration. In Conference on for SAT. Journal of Artificial
Learning and Intelligent Optimization Intelligence Research 32 (June
ducted in part at the Simons Institute for Theoretical (LION) (Springer, 2014), 36–40. 2008), 565–606.
Computer Science at UC Berkeley. 19. Järvisalo, M., Le Berre, D., Roussel, O., 35. Zhang, C., Bengio, S., Hardt, M., Recht, B.,
Simon, L. The international SAT solver Vinyals, O. Understanding deep learning
competitions. Artificial Intelligence requires rethinking generalization. CoRR,
References algorithms. In Conference on Magazine 33, 1 (2012), 89–92. abs/1611.03530, 2016.
1. Aardal, K.I., Van Hoesel, S.P., Koster, A.M., Principles and Practice of Constraint
Mannino, C., Sassano, A. Models and Programming (CP) (2009), 142–157.
solution techniques for frequency 3. Cohen, D.A., Cooper, M.C., Escamocher, G., Neil Newman, Alexandre Fréchette, and
assignment problems. Annals of Živny`, S. Variable and value elimination Kevin Leyton-Brown ({newmanne,
Operations Research 153, 1 (2007), in binary constraint satisfaction via afrechet, kevinlb}@cs.ubc.ca), Department
79–129. forbidden patterns. Journal of of Computer Science, University of British
2. Ansótegui, C., Sellmann, M., Tierney, K. Computer and System Sciences 81, 7 Columbia, Canada.
A gender-based genetic algorithm for (2015), 1127–1143.
the automatic configuration of 4. Cramton, P., Lopez, H., Malec, D.,
© 2018 ACM 0001-0782/18/1 $15.00

104 COMM UNICATIO NS O F T H E AC M | JA NUA RY 201 8 | VO L . 61 | N O. 1


DOI:10.1145 / 3 1 5 0 2 1 5

Technical Perspective
To view the accompanying paper,
visit doi.acm.org/10.1145/3150211 rh

Can High Performance


Be Portable?
By Manuel Chakravarty

T HE D EVELO P M EN T OF high-perfor- Ultimately, the work on Halide com-


mance software has always suffered
from a tension between achieving The following bines conceptual insight with the en-
gineering prowess required to turn this
high performance on the one hand work on the image insight into a distinct improvement for
and portability and simplicity on the
other hand. By specializing an algo- processing language realistic applications. In this context, it
is important to recognize that Halide
rithm for optimal performance, con- Halide explores started with a tight focus on a specific
sidering the memory hierarchy and
other architectural particulars, we in- a substantially application area, namely image pro-
cessing. While the concepts underly-
troduce architecture-specific detail. different approach to ing Halide are more general, the tight
This obscures algorithmic structure
and conflates the general with the spe- architecture-specific domain focus has led to convincing
applications—for example, Halide is
cific, compromising simplicity and code optimization. used in Google’s Pixel phone, Google
clarity. It also hurts portability to all Photos, and YouTube.
but very similar architectures—sim- Looking ahead, the core question is
ple changes, such as different cache to what extent Halide’s approach can
sizes, can have substantial perfor- be generalized to applications outside
mance implications. Moreover, dis- of image processing and, more broad-
tinctly different architectures, such as time improving both portability and ly, how Halide’s programming model
CPUs versus GPUs versus DSPs, often performance beyond that of traditional can be generalized. At its core, image
require fundamentally different opti- complex and non-portable approach- processing is a subdomain of array
mization strategies. As a result, high- es. This threefold success is indicative programming. This provides a natural
performance code is difficult to write, of a qualitative breakthrough, a defini- progression for Halide’s approach to
debug, maintain, and port. tive step forward in the state of the art. grow into other domains. First steps
Numerous research efforts were Key to the authors’ approach is the in this direction have been undertaken
aimed at addressing this issue by ap- strict separation of the algorithmic by successfully applying Halide, as is,
plying automatic code transforma- code from an explicit specification of to algorithms from linear algebra and
tions and other forms of compiler opti- how to optimize that code for a given machine learning. More challenging
mizations. Ultimately, we would prefer architecture. This specification, which will be to extend the expressiveness
the software developer simply code the they call the execution schedule, deter- of Halide to cover a broader range of
algorithm and leave it to the machine mines evaluation order, the amount of computational forms than currently
to specialize that algorithm to any par- inlining, storage of intermediate data supported by its algorithmic language,
ticular architecture for efficient execu- structures, and the choice between while retaining the clear separation of
tion. In this ideal world, portability is a caching versus recomputation. With algorithmic code from the execution
matter of retargeting a compiler’s op- all the details of execution separated schedule.
timization engine. Unfortunately, ar- out, the remaining algorithmic code is In addition to generalizing the ap-
chitectural complexity and the lack of purely functional. plication domain, a second question
architectural models that are simulta- This idea of separating the algorith- is the complexity of developing execu-
neously sufficiently detailed and trac- mic code from the details of how to tion schedules. The authors note that,
table have prevented us from realizing specialize that code for a specific archi- even in the current context, complex
this vision. tecture has been put forward before— schedules require expert knowledge.
The following work by Ragan-Kelley for example, in the work on algorith- While this is hardly surprising, as con-
et al. on the image processing language mic skeletons. However, previous work ventional high-performance optimiza-
Halide explores a substantially differ- lacks the clarity and simplicity of Ha- tion requires experts as well, machine
ent approach to architecture-specific lide and has failed to provide practical support is a tantalizing option. The
code optimization. By shifting our per- benefits at the scale of Halide. Its ex- authors have begun to study this, but
spective on how to express architec- traordinary success is due to the choice many questions remain.
tural constraints and how to generate of the architectural specifics included
high-performance code, it achieves the in the schedule together with the spe- Manuel Chakravarty is a functional programming
evangelist at Tweag I/O, Paris, France.
impressive feat of simplifying high- cific optimization and code-generation
performance code, while at the same technology informed by the schedule. Copyright held by author.

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T H E ACM 105


research highlights
DOI:10.1145/ 31 5 0 2 1 1

Halide: Decoupling Algorithms from


Schedules for High-Performance
Image Processing
By Jonathan Ragan-Kelley, Andrew Adams, Dillon Sharlet, Connelly Barnes,
Sylvain Paris, Marc Levoy, Saman Amarasinghe, and Frédo Durand

Abstract and highly optimized image processing code for the same


Writing high-performance code on modern machines algorithm is often an order of magnitude. Unfortunately,
requires not just locally optimizing inner loops, but globally optimization usually comes at a large cost in programmer
reorganizing computations to exploit parallelism and time and code complexity, as computation must be globally
locality—doing things such as tiling and blocking whole reorganized to efficiently exploit the memory system (local-
pipelines to fit in cache. This is especially true for image pro- ity, e.g., in caches) and many execution units (parallelism,
cessing pipelines, where individual stages do much too little e.g., across threads and vector lanes).
work to amortize the cost of loading and storing results to Image processing pipelines are both wide and deep: they
and from off-chip memory. As a result, the performance dif- consist of many data-parallel stages that benefit hugely from
ference between a naïve implementation of a pipeline and parallel execution across pixels, but stages are often memory
one globally optimized for parallelism and locality is often bandwidth limited—they do little work per load and store.
an order of magnitude. However, using existing program- Gains in performance and efficiency therefore come not just
ming tools, writing high-performance image processing from optimizing the inner loops, but also from global pro-
code requires sacrificing simplicity, portability, and modu- gram transformations that exploit producer-consumer local-
larity. We argue that this is because traditional program- ity down the pipeline. For example, computing a first stage on
ming models conflate the computations defining the the entire image before processing the second stage causes
algorithm with decisions about intermediate storage and cache misses when storing and loading the intermediate
the order of computation, which we call the schedule. results; instead, an optimized pipeline might transform the
We propose a new programming language for image organization of computation with tiling and fusion to com-
processing pipelines, called Halide, that separates the pute both stages at the granularity of smaller image tiles that
algorithm from its schedule. Programmers can change fit in cache.
the schedule to express many possible organizations of a Image processing exhibits a rich space of possible organi-
single algorithm. The Halide compiler then synthesizes a zations of computation. The best choice of organization is
globally combined loop nest for an entire algorithm, architecture-specific. Implementations optimized for an
given a schedule. Halide models a space of schedules x86 multicore and for a modern GPU often bear little resem-
which is expressive enough to describe organizations that blance to each other. There is also a tension between paral-
match or outperform state-of-the-art hand-written imple- lelism, locality, and storing versus recomputing intermediate
mentations of many computational photography and values, which can make the ideal organization subtle and
computer vision algorithms. Its model is simple enough unpredictable.
to do so often in only a few lines of code, and small Halide enables simpler programming of high-performance
changes generate efficient implementations for x86, code by separating the intrinsic algorithm of an image pro-
ARM, Graphics Processors (GPUs), and specialized image cessing pipeline from the decisions about how to run effi-
processors, all from a single algorithm. ciently on a particular machine. Programmers may still
Halide has been public and open source for over four specify the strategy for execution, since automatic optimiza-
years, during which it has been used by hundreds of pro- tion remains hard, but doing so is radically simplified by
grammers to deploy code to tens of thousands of servers and this split representation, which allows them to concisely
hundreds of millions of phones, processing billions of express many optimization strategies without obfuscating
images every day.
The original version of this work appeared in two papers,
entitled “Decoupling Algorithms from Schedules for Easy
1. INTRODUCTION
Optimization of Image Processing Pipelines” published
Computational photography and computer vision algo-
in ACM Transactions on Graphics 31 4, (July 2012), ACM,
rithms require highly efficient implementations to be used
and “Halide: A Language and Compiler for Optimizing
in practice, from power-constrained mobile devices to data
Parallelism, Locality, and Recomputation in Image
centers processing billions of images. This is not a simple
Processing Pipelines” published in the Proceedings of
matter of programming in a low-level language such as
PLDI, June 2013, ACM.
C: even in C, the performance difference between naïve

106 COM MUNICATIO NS O F TH E AC M | JA NUA RY 201 8 | VO L . 61 | N O. 1


the code or accidentally modifying the algorithm itself. Figure 1. The C++ code at the top (a) computes a 3×3 box filter using
This separation of concerns is important, and the ideal the composition of a 1×3 and a 3×1 box filter. Using vectorization,
code organization nontrivial, even for a problem as simple as a multithreading, tiling, and fusion, we can make this algorithm more
3×3 box filter implemented as separate horizontal and vertical than 20 times faster on a quad-core x86 CPU (b) However, in doing
passes (see Figure 1). We might write this in C++ as a sequence so we have lost simplicity and portability. Halide (c) separates
the algorithm description from its schedule, describing the same
of two loop nests (see Figure 1.a). An efficient implementation optimizations, generating very similar machine code, and achieving the
on a modern CPU requires Single Instruction Multiple Data same performance without making these sacrifices. (Benchmarked on
(SIMD) vectorization and multithreading. Once we start to an Intel Core i7–4790, from the blur app in the Halide repository.14)
exploit parallelism, however, the algorithm becomes bottle- (a) Clean C++: 6.5ms per megapixel
necked on memory bandwidth. Computing the entire horizon- void blur(const Image<uint16_t> &in, Image<uint16_t> &bv) {
tal pass before the vertical pass destroys producer-consumer Image<uint16_t> bh(in.width(), in.height();
locality: horizontally blurred intermediate values are computed
for (int y = 0; y < in.height(); y++)
long before they are consumed by the vertical pass, doubling for (int x = 0; x < in.width (); x++)
the storage and memory bandwidth required. Exploiting bh(x, y) = (in(x-1, y) + in(x, y) + in(x+1, y))/3;
locality requires interleaving the two stages, for example
for (int y = 0; y < in.height(); y++)
by tiling and fusing the loops. Tiles must be carefully sized for (int x = 0; x < in.width (); x++)
for alignment, and efficient fusion requires subtleties such bv(x, y) = (bh(x, y-1) + bh(x, y) + bh(x, y+1))/3;
}
as redundantly computing values on the overlapping boundar-
(b) Fast C++ (for x86) : 0.30ms per megapixel
ies of intermediate tiles. The resulting implementation is 22
times faster on a quad-core CPU, but together these optimiza- void fast_blur(const Image<uint16_t> &in, Image<uint16_t> &bv) {
__m128i one_third = _mm_set1_epi16(21846);
tions have fused two simple, independent steps into a single inter- #pragma omp parallel for
twined, architecture-specific mess (see Figure 1.b). for (int yTile = 0; yTile < in.height(); yTile += 32) {
We believe the right answer is to separate the intrinsic __m128i a, b, c, sum, avg;
__m128i bh[(256/8)*(32+2)];
algorithm—what is computed—from the concerns of effi- for (int xTile = 0; xTile < in.width(); xTile += 256) {
ciently mapping to machine execution—decisions about __m128i *bhPtr = bh;
for (int y = -1; y < 32+1; y++) {
storage and the ordering of computation. We call these choices const uint16_t *inPtr = &(in(xTile, yTile+y));
of how to map an algorithm onto resources in space and for (int x = 0; x < 256; x += 8) {
time the schedule. a = _mm_loadu_si128((__m128i*)(inPtr - 1));
b = _mm_loadu_si128((__m128i*)(inPtr + 1));
Functional programming provides a natural basis for c = _mm_load_si128 ((__m128i*)(inPtr));
separating the what from the when and where. Divorced from sum = _mm_add_epi16(_mm_add_epi16(a, b), c);
explicit storage, images are no longer arrays filled by proce- avg = _mm_mulhi_epi16(sum, one_third);
_mm_store_si128(bhPtr++, avg);
dures, but are instead pure functions that define the value at inPtr += 8;
each point in terms of arithmetic, reductions, and the appli- }}
bhPtr = bh;
cation of other functions (see Figure 1.c). This functional for (int y = 0; y < 32; y++) {
representation also omits boundaries, and the order and __m128i *outPtr = (__m128i *)(&(bv(xTile, yTile+y)));
extent of iteration, making images functions over an infinite for (int x = 0; x < 256; x += 8) {
a = _mm_load_si128(bhPtr + (256 * 2) / 8);
integer domain. b = _mm_load_si128(bhPtr + 256 / 8);
In this representation, the algorithm only defines the c = _mm_load_si128(bhPtr++);
value of each function at each point, and the schedule sum = _mm_add_epi16(_mm_add_epi16(a, b), c);
avg = _mm_mulhi_epi16(sum, one_third);
specifies: _mm_store_si128(outPtr++, avg);
}}}}}
1.  the order in which points in a function are evaluated, (c) Halide : 0.29ms per megapixel
including tiling, the exploitation of parallelism, and Func halide_blur(Func in) {
mapping onto SIMD execution units; Func bh, bv;
Var x, y, xi, yi;
2.  the granularity with which the evaluation of points in
one function are interleaved with evaluating points in // The algorithm
bh(x, y) = (in(x-1, y) + in(x, y) + in(x+1, y))/3;
the functions which call it; bv(x, y) = (bh(x, y-1) + bh(x, y) + bh(x, y+1))/3;
3.  the memory locations into which the values of a func-
tion are stored, including registers, scratchpad memo- // The schedule
bv.tile(x, y, xi, yi, 256, 32)
ries, and regions of main memory; .vectorize(xi, 8).parallel(y);
4. whether a value is recomputed, or from where it is bh.compute_at(bv, x).vectorize(x, 8);
loaded, at each place a function is used.
return bv;
}
The key challenge in doing this is defining a representation
of schedules which is both simple and expressive. Halide’s
model (Section 3) decomposes the organization of a pipe-
line into four major choices for each function, correspond- Halide can most flexibly schedule operations which are
ing to the points above, each described as a composition of data parallel with statically analyzable access patterns (such
simple primitives. as stencils), but also supports the bounded iterative

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T H E ACM 107


research highlights

algorithms and irregular access patterns that occur in image recursion, or additional data structures such as lists. Func­
processing and general array computation. It imposes a few tions simply map from integer coordinates to a scalar or
restrictions on the range of expressible schedules, but is suf- tuple-valued result.
ficient to concisely express implementations of many image Halide is embedded in C++. It uses simple type and opera-
processing algorithms, with state-of-the-art performance on tor overloading (not template metaprogramming) to lazily
architectures ranging from mobile and server CPUs, to construct programs, rather than eagerly executing expressions
GPUs, to specialized image processors. as they are written. This “staged” nature makes the Halide
Once the programmer has specified an algorithm and a front-end easily extensible. Many advanced constructs are
schedule, the Halide compiler combines them into an effi- expressible by using C++ as a meta-programming layer for
cient implementation. Optimizing the execution strategy for Halide. For example, you can simulate higher-order functions
a given architecture requires modifying the schedule, but not by writing a C++ function that takes and returns Halide func-
the algorithm. The representation of the schedule is compact tions. This provides a powerful tool for structuring code and it
and does not affect the correctness of the algorithm (e.g. does not change the underlying representation of a pipeline.
Figure 1.c), so exploring the performance of many options is This representation is sufficient to describe a wide range
fast and easy. It can be written separately from the algorithm, of image processing algorithms, and these constraints enable
by an architecture expert if necessary, and we have also shown flexible analysis and transformation of algorithms during
that good schedules can often be found automatically.17, 23 compilation. Critically, this representation is naturally data
In the rest of this article we will briefly introduce Halide’s parallel within the domain of each function. Also, since func-
language for algorithms (Section 2), discuss its model of tions are defined over an infinite domain, boundary condi-
schedules and the organizational choices they represent tions can be handled safely and efficiently in two ways. For
(Section 3), touch on the design of the Halide compiler intermediate pipeline stages, an implementation can com-
(Section 4), demonstrate results on several real computa- pute arbitrary guard bands of extra values. For input images,
tional photography algorithms, (Section 5), and conclude by or stages for which specific boundary conditions matter to the
discussing connections with the wealth of related work meaning of an algorithm, the function may define its own.
(Section 6), and our perspective after five years of develop- The compiler will partition the resulting loops so that the
ment and widespread use (Section 7). boundary conditions have minimal impact on performance.

2. THE HALIDE ALGORITHM LANGUAGE Update definitions


Halide describes image processing pipelines in a simple func- Functions are typically defined by simple expressions in their
tional style. A straightforward C++ implementation of an algo- arguments, but may additionally have a sequence of bounded
rithm such as local Laplacian filters is described by dozens of updates to accommodate reductions (e.g., large-support con-
loop nests and hundreds of lines of code.2 This is not practical volution), scatters (e.g., histograms), and recursive scans
to globally optimize with traditional loop optimization sys- (e.g., Infinite Impulse Response (IIR) filters). Sequential iter-
tems.10 The Halide version distills this into 62 lines describing ation within an update can be introduced with an RDom
just the essential dataflow and computation in the 99 stage (“reduction domain,” a multidimensional iteration domain).
pipeline, and all choices for how the program should be syn- The value of the function at each point in the output domain
thesized are described in a separate schedule (Section 3). is defined by the final value after all updates are applied. The
Halide represents images as pure functions defined over key constraint relative to arbitrary loops is that the bound of
an infinite integer domain, where the value of a function at a an RDom cannot depend on the values computed inside its
point represents the value of the image at the corresponding updates. This guarantees that all iteration bounds are decid-
coordinate. Halide functions can have arbitrary dimensional- able (and the language is therefore not Turing complete).
ity (not just two), and may be tuple-valued (they can store a This pattern can describe a range of algorithms outside the
“struct” of values at each point, not just a single number). scope of traditional stencil computation but essential to image
Pipelines are specified as a directed acyclic graph of func- processing pipelines, in a way that encapsulates side effects. To
tions. The expressions that define functions are side-effect the rest of the pipeline, a function with updates still acts as
free, and are much like those in any simple functional lan- stateless pure function that can be evaluated over an arbitrary
guage, including arithmetic and logical operations, if-then- domain. For example, histogram equalization combines mul-
else expressions, loads from memory buffers, and calls to tiple reductions and a data-dependent gather. A scattering
other functions (including external C ABI functions). reduction computes a histogram, a recursive scan integrates it
For example, a separable 3 × 3 unnormalized box filter is into a Cumulative Distribution Function (CDF), and a simple
expressed as a chain of two functions in x, y: point-wise operation remaps the input using the CDF:

Func bh, bv; Var x, y; Func histogram, cdf, out; Var x, y, i;


ImageParam in(UInt(8), 2); ImageParam in(UInt(8), 2);
bh(x, y) = in(x−1, y) + in(x, y) + in(x+1, y);
bv(x, y) = bh(x, y−1) + bh(x, y) + bh(x, y+1); RDom r(
0, in.width(),
0, in.height() )’
This representation is simpler than most functional lan- histogram(i) = 0; // initial value
guages. It does not include higher-order functions, dynamic histogram(in(r.x, r.y) ) += 1; // update

108 COMM UNICATIO NS O F T H E AC M | JA NUA RY 201 8 | VO L . 61 | N O. 1


RDom ri(0, 255); 3.1 Scheduling within a function
cdf(i) = 0; // initial value The order of evaluation of the points within a function is
cdf(ri) = cdf(ri−1) + histogram(ri); // update defined by a family of common transformations applied to a
default (sequential, row-major) loop nest over the grid of
out(x, y) = cdf(in(x, y) ); points in the function’s domain. Loop dimensions can be
split, merged, and reordered. Because the regions computed
3. SCHEDULING IMAGE PROCESSING PIPELINES are simple intervals (axis-aligned bounding boxes within the
A complete Halide algorithm is a DAG of functions over reg- grid), the result is always a perfect loop nest. In addition, the
ular grids. Actually evaluating an algorithm requires iterat- resulting loops can be unrolled, or mapped to parallel
ing over and computing all of the required points in each threads, SIMD vector lanes, and GPU kernel dimensions.
function. But in what order should we compute these The dimensions of the storage layout for a function’s
points? And where should we store and load the results of results can similarly be reordered, allowing common trans-
intermediate stages to communicate them between stages? formations such as column- versus row-major layouts.
Unlike a looping program in a traditional language, the Storage can also be folded across a dimension into a circular
Halide algorithm does not specify these choices. Instead, buffer of a fixed size.
they’re specified by a separate schedule. The dimensions of an RDom in an update step may also be
For each stage, we think  about these choices in four parts: reordered, parallelized, etc., but only if the compiler can prove
that different update iterations across those dimensions do
1.  In what order should we iterate over the points in that not interact. Recent work has added support for splitting asso-
stage? ciative reductions to create parallel reduction trees.25
2.  In what order should we lay out those points in mem-
ory to store their results? 3.2 Scheduling across functions
3.  At what granularity should we interleave the computa- The more unique part of Halide’s model of schedules is how
tion of that stage with the computation of the down- it transforms computation and storage across functions.
stream stages which consume its results? Consider the simple two-stage blur algorithm. When
4.  At what granularity should we store blocks of the func- scheduling across these two stages, we call the first stage,
tion for reuse across iterations of its consumers? bh, the “producer,” and the second stage, bv, its “con-
sumer.” So far, the scheduled order of computation within
These choices affect performance through locality (e.g., each function (discussed above) defines a perfect loop
cache behavior), exposed parallelism, and the need for nest for each function. For example, the default schedule
recomputation (at grain boundaries). Together, they spec- for the output stage bv gives a simple row-major loop nest
ify a set of nested loops (invisible to the programmer) that equivalent to:
our compiler uses to generate executable code. Scheduling for bv.y in bv.min.y to bv.max.y:
instructions are concise and can be written indepen- for bv.x in bv.min.x to bv.max.x:
dently of the definition of the algorithms, as shown in compute and store bv(bv.x, bv.y)
Figure 1(c). The schedule across functions specifies at what level in this

Figure 2. A Halide schedule specifies the order of computation within each stage in an image processing algorithm (top, discussed in
Sec. 3.1), and the granularity of interleaving across producer and consumer stages (bottom, discussed in Sec. 3.2). In the two-stage blur
algorithm, coarse-grained interleaving (bottom-left) computes whole stages at a time, sacrificing producer-consumer locality. Finer-grained
interleaving improves locality but introduces redundant computation where the stencils for the grains overlap (denoted by hatched regions
in the bottom-middle). In the extreme case of per-pixel interleaving (bottom-right), values are immediately consumed as soon as they are
computed (maximizing locality), but all values of the producer stages are redundantly recomputed in each place they are reused (here,
3 times in bh and 9 times transitively in in). Whereas this shows a single shared order and granularity choice made applied throughout a
simple pipeline, all of these choices can be made separately for each function in a whole algorithm.

row-major column-major tiled vectorized parallel parallel tiles dependence

scheduling loop extent


within a
interleaving
function
block extents
redundant
compute

in bh bv in bh bv in bh bv

compute_root() compute_at(bv, tile_x) inline


coarsest (whole images) moderate (per-tile) finest (per-pixel)

scheduling across functions (interleaving granularity)

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T H E ACM 109


research highlights

loop nest around the consumer stage the program should bv.split(x, tx, xi, tile_size)
.split(y, ty, yi, tile_size)
evaluate the required part of the producer stage (here, bh). .reorder(xi, yi, tx, ty)
This determines the granularity with which the computa-
tion of the different functions is interleaved. which can be abbreviated simply as:
For example, Halide’s default schedule for producers is bv.tile(x, y, tx, ty, xi, yi, tile_size, tile_size)
inline, which means that if we leave the default schedule for This generates the loop nest:
bh, it is evaluated directly everywhere it is called: // simplified to ignore non-evenly divisible tile sizes
for bv.y in bv.min.y to bv.max.y: for bv.ty in bv.min.y/tile_size to bv.max.y/tile_size:
for bv.x in bv.min.x to bv.max.x: for bv.tx in bv.min.x/tile_size to bv.max.x/tile_size:
bv(bv.x, bv.y) = // bh(x,y−1)+bh(x,y)+bh(x,y+1) = for bv.yi in 0 to tile_size−1:
(in(bv.x−1,bv.y−1)+in(bv.x,bv.y−1)+in(bv.x+1,bv.y−1) ) for bv.xi in 0 to tile_size−1:
 +(in(bv.x−1,bv.y )+in(bv.x,bv.y )+in(bv.x+1,bv.y )) compute bv(bv.tx*tile_size + bv.xi,
 +(in(bv.x−1,bv.y+1)+in(bv.x,bv.y+1)+in(bv.x+1,bv.y+1) ) bv.ty*tile_size + bv.yi)

This maximizes locality between the producer and con- Now, by computing bh at the granularity of tiles of bv—at
sumer, since each value of bh is immediately used as soon as the bv.tx loop level—we get a less fine-grained interleaving
it is computed, so it does not need to be stored and loaded in than individual pixels, but one more fine-grained than the
far-away memory. However, because the stencils of neigh- whole image. In Halide’s scheduling language, we specify
boring pixels overlap, every pixel in bh is computed three this by saying bh.compute_at(bv, tx). This is the key
times instead of once: when the outer loop moves to the next scheduling choice in the optimized implementations as
row down, each pixel of bv recomputes two of the same pix- shown in Figure 1(b) and (c). This generates the loop nest:
els of bh that were just computed by the pixel right above it. for bv.ty in bv.min.y/tile_size to bv.max.y/tile_size:
The other obvious choice we could make is to not inter- for bv.tx in bv.min.x/tile_size to bv.max.x/tile_size:
leave these two stages at all. Instead, we compute all of bh // compute tile of bh
for bh.y in (bv.ty*tile_size−1)to ( (bv.ty+1)*tile_size):
before computing any of bv. We express this in Halide by
for bh.x in (bv.tx*tile_size) to ( (bv.tx+1)*tile_
saying that bh should be computed at the very outermost, or size−1):
“root” level, outside all loops over its consumer. This is done bh(bh.x, bh.y)= in(bh.x−1, bh.y)
by calling bh.compute_root(), generating the complete + in(bh.x , bh.y)
equivalent program: + in(bh.x+1, bh.y)
// compute tile of bv
// compute bh over slightly enlarged window, for bv.yi in 0 to tile_size−1:
// to fulfill all uses in bv for bv.xi in 0 to tile_size−1:
for bh.y in bv.min.y−1 to bv.max.y+1: bv.y = bv.ty*tile_size + bv.y
for bh.x in bv.min.x to bv.max.x: bv.x = bv.tx*tile_size + bv.x
bh(bh.x, bh.y) 
= in(bh.x−1, bh.y) bv(bv.x, bv.y) 
= bh(bv.x, bv.y−1)
+ in(bh.x , bh.y) + bh(bv.x, bv.y )
+ in(bh.x+1, bh.y) + bh(bv.x, bv.y+1)

// compute bv using bh This organization recomputes only one row on the top and
for bv.y in bv.min.y to bv.max.y: bottom of each tile, rather than every row, while improving
for bv.x in bv.min.x to bv.max.x:
locality to the level of tiles rather than whole images. By
bv(bv.x, bv.y) 
= bh(bv.x, bv.y−1)
+ bh(bv.x, bv.y) increasing or decreasing the size of these tiles, we can easily
+ bh(bv.x, bv.y+1) trade off between locality and computation. Common
choices would be sized to fit tiles in a given level of cache.
This only computes each pixel in each stage exactly once, The ideal choice depends on the relative cost of recomput-
wasting no work, but it destroys any producer-consumer ing a pixel of the producer function versus storing and load-
locality between the two stages: an entire image of interme- ing it from each level of the memory hierarchy.
diate results has to be computed between where values are It is important to realize that this is not just a constant-
produced in the first stage and where they are consumed in factor tweak in the resulting code: if the tile size is a con-
the second. This schedule is equivalent to the clean C++ as stant, we have asymptotically improved the locality relative
shown in Figure 1(a), which suffers from the same problem. to the naïve interleaving, by reducing the reuse distance for
Looking at these two examples, we see a tension between intermediate values from O(n) to O(1).
locality and (excess, or redundant) computation. This ten- We can also choose to compute bh at any of the other loop
sion is fundamental to computations with stencil depen- levels in bv: the schedule of computation across stages in
dencies, since stencils overlap between iterations and Halide is specified, for each producer function, as any single
prevent simple loop fusion without duplicating work. level in the scheduled loop nest of the downstream pipeline.
However, this tension can be balanced along a continuum The fourth and final core part of the schedule similarly
between these extremes. specifies the granularity of storage across functions. The
For example, we can change the schedule within bv to iter- granularity of storage determines at what loop level in the
ate in a tiled order by splitting its two dimensions by a chosen evaluation of the consuming pipeline the results of a pro-
tile size, and then reordering the four resulting dimensions. ducer function should be stored for reuse. On architec-
We can do this by saying: tures such as GPUs, different levels are also mapped to

110 CO MM UNICATIO NS O F T H E AC M | JA NUA RY 201 8 | VO L . 61 | N O. 1


different parts of the specialized memory hierarchy. Using deriving runtime conditions under which the computation
this and other scheduling primitives, Halide can express of stages can be skipped entirely.
additional locality-optimizing patterns of computation, such For a full description of the compiler see our original
as line-buffering or software pipelining, but these are beyond PLDI paper,21 and the source code itself.14
the scope of this paper. More complete discussion can be
found in prior publications.21, 23 5. RESULTS & EVALUATION
In the DAG of functions that makes up a program, we Halide has been open source since it was released by MIT in
have local ordering choices for each node, and producer- 2012, Halide source repository.14 The largest user of and con-
consumer granularity choices for each edge. In the real tributor to Halide is Google. The largest Halide pipeline we
applications presented in Section 5, the optimized sched- are aware of is Google’s HDR+15 which produces every photo-
ules make different but inter-dependent choices for each of graph taken on their flagship Pixel phones. Halide pipelines
dozens of stages and producer-consumer dependencies. are also run at scale within Google Photos, YouTube, and
elsewhere. Outside of Google, Halide code is shipping in
4. THE COMPILER products from Instagram, Facebook, Adobe, and others.
The Halide compiler takes a graph of Halide functions and In the original Halide publications,17, 22, 23 we evaluated the
lowers it to imperative code for a variety of CPU, GPU, and Halide representation and compiler by implementing a vari-
Digital Signal Processor (DSP) architectures. This process is ety of modern image processing pipelines in Halide and com-
directed by the schedule. It then converts this imperative paring the result to the best previously-published expert
code to LLVM's intermediate representation, and generates implementations we could find. The pipelines exhibit a wide
machine code from there. variety of data types, access patterns, and pipeline lengths.
In contrast to a traditional compiler, lowering makes very Here, we highlight four representative pipelines that approxi-
few heuristic decisions. Instead, it is designed to be highly mately span this space (Figure 3). These pipelines also approx-
deterministic and controllable. Any time there is a choice to be imately correspond to the major algorithms in Google’s
made that might affect performance we defer to the schedule. HDR+ pipeline, albeit at a more modest scale. Our more
Lowering has two essential responsibilities. The first is recent work and open source code also includes competitive
synthesizing the loop nest specified by the schedule, includ- matrix-matrix multiply (GEMM) and convolutional neural
ing any vectorization, unrolling, multi-core parallelism, network implementations in very little code.14, 17 We generally
prefetching, memoization of stages, and offloading work to find that Halide code is many times faster than equivalently
GPU or DSP accelerators. The second responsibility of low- simple reference code, many times more concise than equiva-
ering is inferring the regions of each function that must be lently fast code, or some tradeoff between those two extremes.
computed to satisfy all producer-consumer dependencies.
Lowering additionally implements optional passes for Benchmark applications
tracing, profiling, and similar instrumentation, and passes Bilateral grid is an efficient implementation of the bilateral
that apply opportunistic optimizations. These include parti- filter, which smoothes an image while preserving its main
tioning loops in order to ameliorate the effect of boundary edges.7 It first scatters the image data into a 3D grid, effec-
conditions, tightening loop bounds when it can be proved tively building a windowed histogram in each column of the
that the loop body does nothing for some of its domain, and grid, then blurs the grid along each of its axes with three

Figure 3. Summary of the code size and running time Halide implementations compared to handwritten reference implementations of four
representative computational photography algorithms. The time measurements are reported in milliseconds to process the representative
image (4–6 megapixels), except for the fast Fourier transform. The FFT experiment is for the tiled real-to-complex transform, and reports
time in nanoseconds per 16 × 16 tile.

Bilateral grid Local Laplacian filters Fast Fourier transform Camera pipeline
Reference C++: 122 lines C++, OpenMP+iIPP: 262 lines FFTW: thousands Optimized assembly: 463 lines
Quad core x86: 150ms Quad core x86: 210ms Quad core x86: 384ns ARM core: 39ms
CUDA C++: 370 lines Quad core ARM: 5960ns
GTX 980: 2.7ms
Halide algorithm: 34 lines Halide algorithm: 62 lines Halide algorithm: 350 lines Halide algorithm: 170 lines
schedule: 6 lines schedule: 11 lines schedule: 30 lines schedule: 50 lines
Quad core x86 : 14ms Quad core x86: 92ms Quad core x86: 250ns ARM core: 41ms
GPU schedule: 6 lines GPU schedule: 9 lines Quad core ARM: 1250ns DSP schedule: 70 lines
GTX 980 : 2.3ms GTX 980: 23ms Hexagon 680: 15ms

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T H E ACM 111


research highlights

5-point stencils. Finally, the output image is constructed by Fast Fourier transform implements small 2D FFTs, based
trilinear interpolation within the grid at locations deter- on an algorithm adapted for GPUs.13 Small 2D tiled FFTs are
mined by the input image. used in many image processing workloads. The strategy in this
The CPU reference code is a tuned but clean implementa- implementation is to perform Cooley-Tukey FFTs on columns,
tion from the original authors in 122 lines of C++. It is par- which is convenient for vectorizing along the rows. The data is
tially autovectorized by GCC, but is nontrivial to multithread transposed repeatedly such that all of the FFTs are performed
(a naïve OpenMP parallelization of major stages results in a on columns; after the FFT is complete, the data is transposed
slowdown on our benchmark CPU), so the reference is sin- back to the original orientation. Real FFTs are implemented
gle-threaded. The Halide algorithm is 34 lines, and compiles by computing pairs of columns of FFTs simultaneously.
to an implementation 11 times faster than the original. The We compare the performance of our FFT implementation
speedup comes from a combination of parallelism, tilelevel to FFTW.11 For 16×16, 32×32, and 48×48 complex-to-complex
fusion of some stages, and careful reordering of dimensions FFTs, the Halide FFT is about 1.3 times faster than FFTW. For
to control parallel grain size in the grid. similarly sized real FFTs, Halide is between 1.5 times and 2.1
We also compared the Halide version to a hand-tuned GPU times faster than FFTW on x86, and up to 4.6 times faster than
implementation from the original authors, written in 370 lines FFTW on ARM. For larger FFTs, the Halide FFT performance
of CUDA code. The same Halide algorithm, paired with a differ- begins to drop relative to FFTW, becoming comparable to
ent schedule, was 17% faster than the hand-written CUDA, but FFTW at 64×64 and dropping further from there, as we have
about the total code size. The Halide compiler generates not implemented a vectorization strategy more suitable for
similar GPU code to the reference, but with Halide we quickly these larger FFTs.
found a new point in the schedule space. It sacrifices some par- In addition to the raw performance, the Halide FFT has a
allelism in the grid construction step to reduce synchroniza- number of other advantages over FFT libraries. Because the
tion overhead, and uses a tiled fusion strategy which passes FFT is expressed in pure Halide, the operations being per-
intermediate results through GPU scratchpad memory to formed in the Fourier domain can be fused into the FFT itself,
improve locality through the blur steps at the expense of redun- improving locality. The implementation is also more easily
dant computation. These tradeoffs were counter-intuitive to modified, for example to compute fixed point or zero-padded
the original author, and much harder to express in CUDA, but FFTs. Because the FFT is expressed at a high level, with the
are easily described by our schedule representation. optimizations expressed in the schedule, it can deliver state-
Local Laplacian filters uses a multi-scale approach to tone of-the-art performance across a variety of platforms.
map images and enhance local contrast in an edge-respecting Camera pipeline transforms the raw data recorded by a cam-
fashion.2 It is used in the clarity, tone mapping, and other fil- era sensor into a photograph. It performs four tasks: hot pixel
ters in Adobe Photoshop and Lightroom. The algorithm suppression, demosaicking, color correction, and global tone
builds and manipulates several image pyramids. The filter mapping (i.e., gamma correction and contrast enhancement).
output is produced by a data-dependent resampling from the These steps contain a variety of operations including stencils,
processed pyramids. With the parameters we used, the pipe- color space transformations, and table lookups. The demo-
line contains 99 different stages, operating at many scales, saicking alone is a combination of 21 inter-dependent stencils.
and with several different computational patterns. The reference comparison is a single carefully tiled and
The reference implementation is 262 lines of C++, devel- fused loop nest from the Frankencamera, expressed in 463
oped at Adobe. It is carefully parallelized with OpenMP, and lines of C++ with ARM NEON intrinsics and inline assembly.1
offloads most intensive kernels to tuned assembly routines All producer-consumer communication is staged through
from Intel Performance Primitives (IPP). It has very similar scratch buffers. The Halide implementation is 170 lines des­
performance to a version deployed in their products, which cribing 32 functions and 22 different stencils, literally trans-
took several months to develop, including 2–3 weeks dedi- lated from the pseudocode in the comments explaining the
cated to optimization. It is 10 times faster than an algorith- original source. With 70 lines of combined schedule code, the
mically identical reference version written by the authors in Halide algorithm can be compiled to target 32- and 64-bit x86
pure C++, without IPP or OpenMP. and ARM, is trivially parallelized across CPU cores, and can
The Halide version was written in one day, in 52 lines of code. also be compiled to run on a Qualcomm Hexagon DSP.
It compiles to an implementation which is 2.3 times faster than We benchmarked this workload on a Google Pixel smart-
the highly optimized expert implementation (at least 20 times phone, which contains a Hexagon 680 DSP with HVX
faster than the clean C++ without IPP and OpenMP). The result- (Hexagon Vector Extensions), a standard feature of the pop-
ing schedule is complex, mixing different fusion, tiling, vector- ular Snapdragon 820 SoC. The Halide CPU code performs
ization, and multithreading strategies throughout the 99 stage almost identically to the ARM reference implementations on
graph. In C, it would correspond to hundreds of loops over thou- a single core. Using all four CPU cores, the Halide implemen-
sands of lines of code, but in Halide it is just 11 lines. tation is 2.7 times faster than the single-core reference imple-
The same program compiles with a different schedule to mentation. (The CPU cores on this processor are asymmetric,
a hybrid CPU/GPU program with 23 unique GPU kernels, with a theoretical linear speedup of 3.5 times across all four.)
each representing a different subset of the overall graph. It The Halide Hexagon implementation performs similar to
runs 9.1 times faster than the hand-tuned Adobe implemen- the four core CPU implementation, which is in line with the
tation, and is four times faster than the best parallel and vec- theoretical throughput of two HVX processing clusters.
torized implementation on the CPU. However, while we expect that to be the case, it delivers that

112 COMM UNICATIO NS O F T H E ACM | JA NUA RY 201 8 | VO L . 61 | NO. 1


throughput using up to 10 times less power. Figure 4. Two professional Halide developers were tasked with
Porting the camera pipeline to Hexagon required modify- developing schedules for three new programs. The graphs plot
ing the schedule to use a sliding window on the rows of the the runtime of their schedules, over time as they developed them.
image, instead of tiling. Hexagon has extremely large vec- The developers converged to what they considered “reasonable”
tors, and also benefits heavily from loop pipelining, which performance in on the order of an hour per program.
means that efficient 2D tile sizes are too large to fit in cache. Optimization of manually authored schedules
Halide allowed us to easily rewrite the camera pipeline from

Throughput (1/ms)
a tiled schedule to a sliding window schedule, without LENSBLUR
changing the algorithm description. In contrast, rewriting
the handwritten ARM implementation to use a sliding win-
dow would be a serious undertaking, as the tiling logic is
0
inextricably linked to the algorithm description, all the way 0 40 80 120

into the indexing arithmetic in the assembly inner loops.

Throughput (1/ms)
MAXFILTER

Scheduling new algorithms


To better understand how long it takes an expert Halide devel-
oper to schedule an algorithm when starting from scratch, we 0
recruited two professional Halide developers (authors on this 0 15 30 45

paper) into a scheduling “race.” They selected three new, non-

Throughput (1/ms)
NLMEANS
trivial applications they had never scheduled before (lens-
blur, nlmeans, and maxfilter) and implemented the
original Halide algorithm for these programs. For each bench-
mark, each programmer independently developed a schedule 0
0 10 20 30 40 50
in a single programming session. The programmer stopped Schedule development time (minutes)
optimizing after converging on a solution they considered their = Programmer 1 = Programmer 2
reasonable best. While developing the schedules the develop-
ers documented their progress by measuring the performance
of their current schedule at various points in the session. for several applications, including some presented above.
In each case, the developers started out with relatively sim- To converge in reasonable time on real programs, we
ple baseline schedules, but which generally still included at found that higher-level heuristics are critical to guide the
least SIMD vectorization and multicore parallelism. search, because of the high cost of compiling and running
Nonetheless, the speedup from this baseline to their best each new test. Drawing on this experience, we have since
optimized performance was always many times. found that using a simple cost model in place of recompiling
Results of the race are as shown in Figure 4. The X-axis in each and benchmarking each configuration, and restricting the
of the graphs indicates development time (in minutes) for the search to greedily consider variants of common interleaving
schedules. The Y-axis shows the performance of the benchmark patterns, gave a much faster and more scalable automatic
(measured as pixel throughput, so higher is better). The yellow scheduling method.17 The cost model is based directly on the
and gray lines each correspond to one of the programmers. tradeoff we observe between parallelism, locality, and redun-
Arriving at a good schedule requires significant optimiza- dant work. The tool is also easier to use since it directly ana-
tion effort, even for experts. For these applications, it took lyzes the algorithm, rather than requiring a runnable
on the order of an hour of iteration and experimentation for benchmark program and data set.
the developers to feel their optimization had reasonably
converged. The resulting schedules, however, are only a few 6. RELATED WORK
lines of code, and dramatically simpler than equivalent code Graphics & image processing languages
in explicit C++ loops. Domain-specific languages for image processing go back at least
as far as Bell Labs’ Pico and POPI.16 Most prior image processing
Automatically determining good schedules languages have focused on efficient expression of individual ker-
To further accelerate development of high-performance nels. Pan introduced a functional model for image processing
code, and to make Halide accessible to programmers with- much like our own, in which images are functions from coordi-
out optimization experience, we have also worked on ways to nates to values.8 Recently, others have demonstrated automatic
automatically optimize Halide programs. optimization of image processing code in a subset of the Halide’s
In the original version of this paper we demonstrated a algorithm model using the polyhedral model.18
prototype autotuner which automatically searched the Elsewhere in graphics, the real-time graphics pipeline has
(exponentially large) space of schedules for a program using been a hugely successful abstraction precisely because the sched-
stochastic search with a genetic algorithm.23 For each gener- ule is separated from the specification of the shaders.4 This
ated schedule, the autotuner benchmarked its actual run- allows GPUs and drivers to efficiently execute a wide range of
time by compiling and running a complete test program programs with little programmer control over parallelism and
given by the user. In a few hours to days of tuning, it was able memory management. This separation of concerns is extremely
to generate schedules competitive with hand-tuned results effective, but it is specific to the design of a single pipeline.

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T H E ACM 113


research highlights

Loop transformation compiler is able to generate, implementations which deliver


Most compiler optimizations for numerical programs are state-of-the-art performance from surprisingly little code.
based on loop analysis and transformation, including auto- This performance comes from careful navigation of the high
vectorization, loop interchange, fusion, and tiling.3 The poly- dimensional space of tradeoffs between locality, parallelism,
hedral model is a powerful tool for modeling and and redundant recomputation in image processing pipelines.
transforming looping imperative programs.10 Halide’s model Expressing these tradeoffs in traditional languages is challeng-
considers only axis-aligned bounding regions, not general ing enough, as shown by the much greater complexity of hand-
polytopes—a practical simplification for image processing written implementations, but finding the ideal balance is
and many other applications. Interval analysis is simpler daunting when each change a programmer might want to try can
than modern polyhedral analysis, but it can effectively ana- require completely rewriting a complex loop nest hundreds of
lyze through a wide range of expressions, and it is trivial to lines long. The performance advantage of the Halide implemen-
generate high quality loop nests from intervals. This simple tations is a direct result of simply making it easy to test many
generality is essential for Halide’s design in which all bounds more points in the space than a human programmer could manu-
are inferred from context. Most traditional loop optimiza- ally describe using explicit loops. We have found this design to
tions also do not consider recomputation of values, but in generalize well from its initial CPU and GPU targets to new, more
image processing this can be a large performance win and is specialized (and notoriously hard-to-program) image processing
central to the choices we consider during optimization. accelerators and DSPs. We think it helps point the way towards
the “OpenGL” of future specialized image processing hardware.
Parallel languages Still, while Halide’s model of schedules is powerful and
Many data-parallel languages have been proposed. Chapel productive in the hands of experts, we have found it challeng-
and its predecessors focus on computations over regions of ing for novices and those unfamiliar with high performance
regular grids, much like Halide, with explicit primitives to programming to master. Even for experts, optimized sched-
control distribution of grid regions across memory and proces- ules grow difficult to maintain for algorithms beyond moder-
sors.6 Popular today, CUDA and OpenCL expose an impera- ately sized blocks, and there’s no complete answer for what
tive, single program-multiple data programming model which can should be done if those blocks are meant to be reused in dif-
target both GPUs and multicore CPUs with SIMD units.5, 19 Like C, ferent places or get moved around a larger pipeline (as with a
these languages allow the specification of very high performance library of reusable components). Fundamentally, schedules
implementations for many algorithms, but because their seman- describe how to interleave computation across composition
tics closely model the underlying machine, they also deeply boundaries. Decoupling them from the fundamental algo-
conflate algorithms with optimization. rithm gives simpler, more modular algorithm code, but
Streaming languages encode data and task parallelism in modularizing scheduling choices without sacrificing perfor-
graphs of kernels, which compilers automatically schedule mance remains an open problem. This led to our attempts to
using tiling, fusion, fission, and 1D stencil optimization.12 automate the process of scheduling in Halide,17, 23 which have
Halide’s model of scheduling addresses the problem of mul- shown promise but remain ongoing work. An automatic
tidimensional stencils with parallelism, where recomputa- scheduling system could both remove the burden from nov-
tion versus storage becomes a critical but complex choice. ice programmers, and schedule globally across composition
A separate line of research creates explicit languages for boundaries even in large applications.
choices of how problems are mapped into physical execution, Finally, we have also found that, while the constraints and
much like Halide’s decoupling of schedules from algorithms. style of the Halide language were motivated by examples in
SPIRAL uses a domain-specific language to specify linear sig- modern image processing, the programming model is signifi-
nal processing operations at the level of mathematical opera- cantly more general: it expresses arbitrary bounded computa-
tors,20 and a separate algebra of rewrite rules describes ways tions over multidimensional regular grids, and it has been
these operations can be turned into efficient code for a partic- applied to algorithms in linear algebra, scientific simulation,
ular architecture. Sequoia defines a model where a user- and machine learning. Really, Halide should be thought of as
defined “mapping file” describes how to execute tasks on a specific to the “data structure” of regular grids or multidi-
tree-like memory hierarchy.9 The CHiLL framework exposes mensional arrays, not to the “domain” of image processing.
polyhedral program transformations and code generation
choices via a dedicated scripting language.24 Acknowledgments
As an open source project, Halide has received contribu-
7. CONCLUSION AND PERSPECTIVE tions from many people. Most notably, Zalman Stern, Steven
Our initial hope in designing Halide was to allow expert-level Johnson, and Patricia Suriana are full-time developers on
manual control over the organization of computation in the project at Google and are responsible for a large amount
image processing code, which was at once far more control- of the current code. The Hexagon backend was developed
lable and powerful than traditional compiler flags and auto- with Pranav Bhandarkar, Ron Lieberman, Dan Palermo, and
vectorization, and far more productive than hand coding in Anshuman Dasgupta at the Qualcomm Innovation Center.
low-level languages. After more than 4 years in production, Eric Chan provided feedback and inspiration throughout
we found this works even better than we first hoped. Across a the original design of Halide. This work was supported by
range of applications and target architectures, we find that DOE Award DE-SC0005288, NSF grant 0964004, grants from
Halide’s scheduling representation is able to model, and its Intel and Quanta, and gifts from Cognex and Adobe.

114 CO M MUNICATIO NS O F TH E AC M | JA NUA RY 201 8 | VO L . 61 | NO. 1


Automatically scheduling halide Decoupling algorithms from
References image processing pipelines. ACM schedules for easy optimization of
Trans. Graph. 35, 4 (2016). image processing pipelines. ACM
1. Adams, A., Talvala, E., Park, S.H., Erez, M., Ren, M., Aiken, A., Dally, W.J.,
18. Mullapudi, R.T., Vasista, V., Bondhugula, Trans. Graph. 31, 4 (2012).
Jacobs, D.E., Ajdin, B., Gelfand, N., Hanrahan, P. Sequoia: Programming
U. PolyMage: Automatic optimization 23. Ragan-Kelley, J., Barnes, C., Adams, A.,
Dolson, J., Vaquero, D., Baek, J., Tico, the memory hierarchy. In ACM/IEEE
for image processing pipelines. In ACM Paris, S., Durand, F., Amarasinghe, S.
M., Lensch, H.P.A., Matusik, W., Pulli, conference on Supercomputing
SIGPLAN Notices (ACM, New York, NY, Halide: A language and compiler for
K., Horowitz, M., Levoy, M. The (ACM, New York, NY, 2006).
2015), volume 50, 429–443. optimizing parallelism, locality, and
Frankencamera: An experimental 10. Feautrier, P. Dataflow analysis of
19. The OpenCL specification, version 1.2. recomputation in image processing
platform for computational array and scalar references. Int J
http://www.khronos.org/registry/cl/ pipelines. In Proceedings of the 34th
photography. ACM Trans. Graph. 29, 4 Parallel Program. 20, 1 (1991), 23–53.
specs/opencl-1.2.pdf, 2011. ACM SIGPLAN Conference on
(2010), 29:1–29:12. 11. Frigo, M., Johnson, S.G. The design
20. Püschel, M., Moura, J.M.F., Johnson, J., Programming Language Design and
2. Aubry, M., Paris, S., Hasinoff, S.W., and implementation of FFTW3. Proc
Padua, D., Veloso, M., Singer, B., Xiong, Implementation (ACM, New York,
Kautz, J., Durand, F. Fast local IEEE 93, 2 (2005).
J., Franchetti, F., Gacic, A., NY, 2013).
Laplacian filters: Theory and applications. 12. Gordon, M.I., Thies, W., Karczmarek, M.,
Voronenko, Y., Chen, K., Johnson, 24. Rudy, G., Khan, M.M., Hall, M., Chen, C.,
ACM Trans. Graph. 33, 5 (2014), 167. Lin, J., Meli, A.S., Leger, C., Lamb, A.A.,
R.W., Rizzolo, N. SPIRAL: Code Chame, J. A programming
3. Bacon, D.F., Graham, S.L., Sharp, O.J. Wong, J., Hoffman, H., Maze, D.Z.,
generation for DSP transforms. language interface to describe
Compiler transformations for Amarasinghe, S. A stream compiler for
Proceedings of the IEEE, special transformations and code generation.
high-performance computing. ACM communication-exposed architectures.
issue on “Program Generation, In Proceedings of the 23rd International
Comput Surv. 26, 4 (Dec. 1994). In International Conference on
Optimization, and Adaptation” 93, 2 Conference on Languages and
4. Blythe, D. The Direct3D 10 system. ACM Architectural Support for Programming
(2005), 232–275. Compilers for Parallel Computing
Trans. Graph. 25, (2006), 724–734. Languages and Operating Systems
21. Ragan-Kelley, J. Decoupling LCPC’10, (Springer-Verlag, Berlin,
5. Buck, I. GPU computing: Programming (ACM, New York, NY, 2002).
algorithms from the organization of Heidelberg, 2011), 136–150.
a massively parallel processor. In 13. Govindaraju, N., Lloyd, B., Dotsenko, Y.,
computation for high performance 25. Suriana, P., Adams, A., Kamil, S. Parallel
Proceedings of the International Smith, B., Manferdelli, J. High
image processing. PhD thesis, associative reductions in halide. In
Symposium on Code Generation and performance discrete Fourier
Massachusetts Institute of Proceedings of the 2017 International
Optimization (Tessellations Publishing, transforms on graphics processors. In
Technology (2014). Symposium on Code Generation and
Phoenix, Arizona, 2007). Proceedings of the 2008 ACM/IEEE
22. Ragan-Kelley, J., Adams, A., Paris, S., Optimization (ACM, New York, NY, 2017).
6. Chamberlain, B., Callahan, D., Zima, H. Conference on Supercomputing. IEEE
Levoy, M., Amarasinghe, S., Durand, F.
Parallel programmability and the (Washington, DC, January 2008).
Chapel language. Int J High Perform 14. Halide source repository. http://
Comput Appl. 21, (2007), 291–312. github.com/halide/Halide.
7. Chen, J., Paris, S., Durand, F. Real-time 15. Hasinoff, S.W., Sharlet, D., Geiss, R., Andrew Adams, and Dillon Sharlet Marc Levoy (levoy@google.com),
edge-aware image processing with the Adams, A., Barron, J.T., Kainz, F., ({abadams, dsharlet}@google.com), Google. Stanford University & Google.
bilateral grid. ACM Trans. Graph. 26, 3 Chen, J., Levoy, M. Burst photography Saman Amarasinghe, and Frédo Durand Sylvain Paris (sparis@adobe.com),
(2007), 103:1–103:9. for high dynamic range and low-light ({saman, fredo}@csail.mit.edu), MIT Adobe.
8. Elliott, C. Functional image synthesis. imaging on mobile cameras. ACM CSAIL. Jonathan Ragan-Kelley (jrk@eecs.
In Proceedings of Bridges 2001, Trans. Graph. 35, 6 (2016). Connelly Barnes (connelly@cs.virginia. berkeley.edu), UC Berkeley.
Mathematical Connections in Art, 16. Holzmann, G. Beyond Photography: edu), University of Virginia.
Music, and Science (IEEE Computer The Digital Darkroom. Prentice Hall,
Society, Washington, DC, USA, 2001). Englewood Cliffs, NJ, 1988.
9. Fatahalian, K., Horn, D.R., Knight, T.J., 17. Mullapudi, R.T., Adams, A., Sharlet, D.,
Leem, L., Houston, M., Park, J.Y., Ragan-Kelley, J., Fatahalian, K. © 2018 ACM 0001-0782/18/1 $15.00

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T H E ACM 115


CAREERS

Boston College at all levels. We invite applications for one or https://www.governmentjobs.com/careers/


Assistant Professor of the Practice or Lecturer more tenure-track faculty positions at the rank of csusb/jobs/1918429/computer-science-
Assistant Professor, beginning in the 2018-2019 engineering-assistant-professor-tenure-
The Computer Science Department of Boston academic year. Successful candidates will be ex- track?pagetype=transferJobs.
College aims to grow substantially over the next pected to develop strong research programs that Please have three letters of recommendation sent
several years, and will seek to fill faculty positions can attract external research funding. The search on your behalf to facultyrecruitment@csusb.edu.
at all levels. We invite applications for a full-time, will focus on candidates who can participate in Review of applications will begin February 1,
non-tenure-track faculty position, beginning in the cross-disciplinary research in conjunction with 2018, and will continue until the position is filled.
2018-2019 academic year. Candidates should be the new Institute for Integrated Science and So- Questions about this position can be directed
committed to excellence in undergraduate educa- ciety recently announced at Boston College, in to Dr. Haiyan Qiao, Director of School of Comput-
tion, and should be able to both teach a broad variety the areas of high-performance data mining / ma- er Science and Engineering, at hqiao@csusb.edu
of undergraduate computer science courses, and to chine learning, systems / networks, data visual-
participate in the development of new courses that ization, and human-computer interaction. How-
reflect the evolving landscape of the discipline. ever, outstanding candidates in all research areas Case Western Reserve University
Minimum requirements for the title of Assis- will be considered. Tenure-Track Faculty Positions
tant Professor of the Practice include a Ph.D. in Minimum requirements for all positions in- in Computer Science
Computer Science or closely related discipline. clude a Ph.D. in Computer Science or closely re-
Candidates who have only attained a Master’s lated discipline, an energetic research program The Department of Electrical Engineering and
degree would be eligible for the title of Lecturer. that promises to attract external funding, and Computer Science at Case Western Reserve Uni-
Application review beings October 1, 2017. a commitment to quality in undergraduate and versity invites applications for tenure-track posi-
See www.cs.bc.edu for more information. graduate education. tions in Computer Science. Preference will be giv-
To apply go to Application review begins October 1, 2017. en to candidates at the assistant professor level,
http://apply.interfolio.com/44984. See www.cs.bc.edu for more information. but applications at other ranks will be considered
To apply go to commensurate with experience and qualifica-
http://apply.interfolio.com/44980 tions. While exceptional candidates in all areas of
Boston College Computer Science will be considered, our prior-
Associate or Full Professor ity areas include Database, Data Mining, Data Sci-
of Computer Science California State University ence and Analytics, and Computer systems (Net-
San Bernardino works, Cyber-Security, Distributed Computing).
The Computer Science Department of Boston Col- Tenure Track Position - Assistant Professor Current departmental strengths in Computer
lege aims to grow substantially over the next sev- Science include the Internet of Things, Bioinfor-
eral years, and will seek to fill faculty positions at The School of Computer Science and Engineering matics, Software Engineering, Networks and Dis-
all levels. We invite applications for a senior-level at California State University San Bernardino invites tributed Systems, and Artificial Intelligence and
(Associate or Full Professor) position, starting in applications for a tenure track position at the As- Machine Learning, and we expect a successful
the 2018-2019 academic year. The successful can- sistant Professor level beginning in Fall 2018. Can- candidate to be synergistic with these strengths.
didate is expected to play a leadership role in the didates must have a Ph.D. in Computer Science or Applicants should have potential for excellence
creation of a Data Science program in conjunction a closely related field. All areas of computer science in innovative research. All successful candidates
with the new interdisciplinary Institute for Inte- will be considered. The position is to support pri- are expected to develop a vibrant, high-quality ex-
grated Science and Society, recently announced at marily the B.S. in Computer Science (ABET accred- ternally sponsored research program, supervise
Boston College, and will also participate in shap- ited), the BA in Computer Systems and the M.S. in graduate students, and interact and collaborate
ing the future of our growing department. Computer Science programs. In addition, the school with faculty across the department and campus.
Applicants must have a Ph.D. in Computer Sci- offers the degrees B.S. in Computer Engineering Applicants should have a strong commitment to
ence or closely related discipline, a record of strong (ABET accredited) and B.S. in Bioinformatics. high quality teaching at the undergraduate and
research accomplishment and external funding, The candidate must display potential for graduate levels. Candidates must have a Ph.D. in
and a commitment to quality in undergraduate excellence in teaching and scholarly work. The Computer Science or a closely related field.
and graduate education. Preference will be given to candidate is expected to supervise student re- Applicants must submit (i) a cover letter,
candidates whose research is in the areas of high- search at both the undergraduate and graduate (ii) current curriculum vita, (iii) statement of re-
performance data mining / machine learning or levels, and to actively participate in other types search interests, and (iv) statement of teaching
data visualization, particularly those with a history of academic student advising. The candidate will interests and (v) recommend at least three refer-
of interdisciplinary collaboration, but outstanding actively contribute to the School’s curriculum de- ences. Applications will be reviewed starting im-
candidates in all research areas will be considered. velopment. The candidate will serve the School, mediately and will continue to be reviewed until
Application review begins October 1, 2017. College and University, as well as the community the position is filled.
See www.cs.bc.edu for more information. and the profession. Application materials may be sent by email to
To apply go to Women and underrepresented minorities are YoLonda Stiggers at yxs307@case.edu or via mail to:
http://apply.interfolio.com/44982 strongly encouraged to apply. For more informa- Computer Science Faculty Search Committee
tion about the School of Computer Science and Dept. of Electrical Engineering and
Engineering, please visit http://cns.csusb.edu/cse. Computer Science
Boston College DEADLINE AND APPLICATION PROCESS: Case Western Reserve University
Tenure Track Assistant Professor Applicants should submit a curriculum vitae, c/o YoLonda Stiggers
in Computer Science statement of teaching philosophy, description 10900 Euclid Avenue, Glennan 321
of research interests, copies of transcripts of all Cleveland, OH 44106-7071
The Computer Science Department of Boston post-secondary degrees (official transcripts will
College aims to grow substantially over the next be required prior to appointment), contact infor- Founded in 1826, Case Western Reserve Uni-
several years and will seek to fill faculty positions mation for three references at versity is a highly-ranked private research uni-

116 CO M MUNICATIO NS O F TH E AC M | JA NUA RY 201 8 | VO L . 61 | NO. 1


versity located in Cleveland, Ohio. As a vibrant For more information on the department, visit our ate and graduate teaching and training. We par-
and up-and-coming city, Cleveland was named website: http://cs.gmu.edu/. ticularly encourage applications from historically
one of the top 15 best places to live in the US by For full consideration applicants must apply for underrepresented groups, including women and
timeout.com in 2016. The campus is in the heart position number F196AZ at http://jobs.gmu.edu; minorities.
of University Circle, a world-renowned area for its complete and submit the online application; attach Computer Science at Harvard benefits from
cultural vibrancy, hosting the Cleveland Museum a complete C.V. with publications, statement of outstanding undergraduate and graduate stu-
of Art (the second highest ranked art museum in teaching interests, statement of research interests, dents, world-leading faculty, an excellent loca-
the country), Cleveland Orchestra, the Museum and the names of three professional references. The tion, significant industrial collaboration, and
of Natural History, Cleveland Institute of Music, review of applications will begin January 15, 2018 substantial support from the Harvard Paulson
and the Cleveland Botanical Garden, as well as and continue until the position is filled. School. Information about Harvard’s current
two world-class health institutions, The Cleve- George Mason University is an equal oppor- faculty, research, and educational programs in
land Clinic and University Hospitals of Cleveland. tunity/affirmative action employer, committed computer science is available at http://www.seas.
In employment, as in education, Case Western to promoting inclusion and equity in its commu- harvard.edu/computer-science.
Reserve University is committed to Equal Opportu- nity. All qualified applicants will receive consid- The associated Institute for Applied Compu-
nity and Diversity. Women, veterans, members of eration for employment without regard to race, tational Science (http://iacs.seas.harvard.edu)
underrepresented minority groups, and individu- color, religion, sex, gender identity, sexual ori- and Data Science Initiative (https://datascience.
als with disabilities are encouraged to apply. entation, national origin, disability, or protected harvard.edu/) foster connections among com-
veteran status. puter science, applied math, data science, and
various domain sciences at Harvard through its
George Mason University graduate programs and events.
Department of Computer Science The Harvard John A. Paulson School of A doctorate or terminal degree in Computer
Assistant Professor Tenure-Track Engineering and Applied Sciences Science or a related field is required by the ex-
Faculty Positions Tenure Track Faculty Position pected start date.
in Computer Science Required application documents include a
The Department of Computer Science in the Vol- cover letter, CV, a statement of research interests,
genau School of Engineering at George Mason The Harvard John A. Paulson School of Engineer- a teaching statement, and up to three represen-
University, invites applications for tenure-track ing and Applied Sciences (SEAS) seeks applicants tative papers. Candidates are also required to
assistant professor positions beginning fall 2018. for a position at the tenure-track level in Computer submit the names and contact information for
Exceptionally strong senior candidates may also Science, with an expected start date of July 1, 2018. at least three and up to five references, and the
be considered, and must have an established re- We are accepting applications in all areas of application is complete only when three letters
cord of outstanding research and excellent teach- Computer Science, especially machine learning, have been submitted. We encourage candidates
ing. Such candidates will be eligible for tenured programming languages, and human-computer to apply by December 1, 2017, but will continue to
associate professor or professor positions. The interaction. review applications until the position is filled. Ap-
university has an institutional commitment to We seek candidates who have a strong re- plicants can apply online at http://academicposi-
achieving excellence and diversity among its fac- search record and a commitment to undergradu- tions.harvard.edu/postings/7928
ulty and staff and encourages candidates who will
enrich its academic and culturally inclusive envi-
ronment to apply.

Responsibilities:
Successful candidates will be expected to teach at
the undergraduate and graduate levels; develop an
independent, externally funded research program;
advise students; participate in all aspects of the de-
partment’s mission; and serve the profession.
The Chinese University of Hong Kong, Shenzhen
The Hopcroft Institute for Advanced Study in Information Sciences
Required Qualifications:
Applicants must have received a PhD in Comput- The Hopcroft Institute for Advanced Study in Information Sciences was established on June 2017 in the
School of Science and Engineering at The Chinese University of Hong Kong, Shenzhen. Prof. John E. Hopcroft,
er Science or a related field by the start date of the the Turing Award Winner in 1986, serves as the Director of the Institute. This institute is committed to
position and should have demonstrated potential excellence and innovation in research and education in all areas of information sciences and technology,
for excellence and productivity in research and a including computer science, computer engineering and information engineering. It is positioned to
commitment to high-quality teaching. 1) carry out world class researches, 2) train outstanding young talents, and 3) educate next generation
technical leaders in all areas of information sciences.
Preferred Qualifications:
Post Specifications:
While applicants in all areas of Computer Sci-
The Institute invites applications for multiple faculty positions at both senior and junior levels in all areas of
ence will be given serious consideration, we are Computer Science and Information Science. Junior applicants should have (i) a PhD degree (by the time of
particularly interested in candidates in the areas reporting for duty) in related fields (CS, EE, IE, Data Science); and (ii) high potential in teaching and research.
of Computer Graphics, Human Computer Inter- Candidates for senior post (Associate and Full Professor) are expected to have demonstrated academic
action, Machine Learning, Artificial Intelligence, leadership and strong commitment to excellence in teaching, research, and services. Junior appointments
Robotics, and Databases. will normally be made on contract basis for up to three years initially, leading to longer-term appointment or
tenure later subject to review. Exceptional appointments with tenure will be considered for candidates of proven
excellence. Applicants are encouraged to check out the details about the university at http://www.cuhk.edu.cn
About Us:
The Computer Science Department has over 40 Salary and Fringe Benefits
faculty members with wide-ranging research inter- Salary will be comparable to international standards, commensurate with experience and accomplish-
ests including artificial intelligence, algorithms, ments. Appointments will be made under the establishment of CUHK(SZ), and employee benefits will be
autonomic computing, computational biology, provided according to the relevant labor laws of Mainland China as well as CUHK(SZ) regulations. The
computer graphics, computer vision, databases, university will also sponsor eligible faculty members to apply for various government talent programs:
http://www.cuhk.edu.cn/UploadFiles/talentsprogramoutline.pdf
data mining, parallel and distributed systems, re-
al-time systems, robotics, security, software engi- Application package, including CV and contacts of three referees, as well as personal statements in
neering, and wireless and mobile computing. The teaching, research, and service, should be emailed to: Talents4SSE@cuhk.edu.cn. Applicants are
department has more than $8 million in annual required to specify the rank of the position in their letter of application. Applicants also need to ask three
research funding and 11 recipients of the National referees to send the letters directly to Talents4SSE@cuhk.edu.cn upon submitting application materials.
Science Foundation’s prestigious CAREER award.

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T H E ACM 117


CAREERS

We are an equal opportunity employer and Scholars from NSFC. The main purpose of HCMS is Our Junior Research Group program offers
all qualified applicants will receive consideration to carry out research of highest level on some of the young scientists in information technology the
for employment without regard to race, color, re- main directions of Mathematical Sciences through opportu¬nity to develop their own research program
ligion, sex, sexual orientation, gender identity, cooperation and exchange. HCMS runs regular ac- addressing important problems in areas such as
national origin, disability status, protected veteran ademic programs throughout the whole year. ˲˲ image communication
status, or any other characteristic protected by law. ˲˲ computer graphics
According to relevant rules, the applicant’s ˲˲ geometric computing
age should not exceed 35 years, and the time of ˲˲ imaging systems
Hua Loo-Keng Center for Mathematics obtaining a doctorate should not exceed three ˲˲ computer vision
Sciences years. To apply, please send a message to: msc@ ˲˲ human machine interface
Post-Doctorate Fellow Positions amss.ac.cn with the following information: ˲˲ distributed multimedia architectures
˲˲ a detailed resume; ˲˲ multimedia networking
Hua Loo-Keng Center for Mathematics Sciences ˲˲ a research statement; ˲˲ visual media security
(HCMS), Academy of Mathematics and Systems ˲˲ a copy of diploma certificate if available;
Science (AMSS), Chinese Academy of Science in- ˲˲ two letters of recommendation (including one The center includes an outstanding group of
vites outstanding young researchers in mathemat- from your PhD thesis supervisor). faculty members at Stanford’s Computer Science
ical sciences to apply for 2 post-doctorate fellow and Electrical Engineering Departments, the Max
positions in 2018. The research areas include but Applicants are encouraged to submit their ap- Planck Institute for Informatics, and Saarland
not limited to the following: (algebra) computa- plications before Feb. 28, 2018. The positions will University.
tional theory, symbolic and symbolic-numerical open until filled. The program begins with a preparatory 1-2
computation, quantum algorithms and cryptogra- year postdoc phase (Phase P) at the Max Planck In-
phy. Successful applicants are expected to conduct stitute for Informatics, followed by a two-year ap-
research full-time in the above mentioned areas. The Max Planck Center for Visual pointment at Stanford University (Phase I) as a vis-
The position is for two years. The amount of Computing and Communication iting assistant professor, and then a position at the
annual salary plus fringe benefits is 300K RMB Junior Research Group Program Max Planck Institute for Informatics as a junior
(fringe benefits are about 20% for Chinese citi- research group leader (Phase II). However, the pro-
zens and 5% for non-Chinese citizens). Other wel- The Max Planck Center for Visual Computing and gram can be entered flexibly at each phase, com-
fare benefits will be in accordance with the rules Communication (MPC-VCC) was established as a mensurate with the experience of the applicant.
of AMSS. joint program by the Max Planck Society for the Applicants to the program must have com-
HCMS is supported by the project of National Advancement of Science (MPG) and Stanford Uni- pleted an outstanding PhD. Exact duration of the
Natural Science Foundation of China, “Geometry, versity in 2003 (http://www.mpc-vcc.org). preparatory postdoc phase is flexible, but we typi-
analysis, and computation on manifolds”. HCMS With this call the Max Planck Center for Vi- cally expect this to be about 1-2 years. Applicants
has 45 faculty members, including 5 Fellows of Chi- sual Computing and Communication (MPC-VCC) who completed their PhD in Germany may enter
nese Academy of Sciences and 18 recipients of the invites applications for its Junior Research Group Phase I of the program directly. Applicants for
National Science Fund for Distinguished Young Program. Phase II are expected to have completed a post-

118 CO MM UNICATIO NS O F T H E ACM | JA NUA RY 201 8 | VO L . 61 | NO. 1


doc stay abroad and must have demonstrated NDSU offers degrees at all levels in Computer be viewed favorably. Candidates should have a
their outstanding research potential and ability Science and Software Engineering. Research and strong research profile such as demonstrated by rel-
to successfully lead a research group. teaching excellence is expected. Normal teaching evant and recent contributions in top ranked con-
Reviewing of applications will commence on loads are three courses per year. Salary is competitive. ferences and journals, presentations at significant
01 Jan 2018. The final deadline is 31 Jan 2018. Ap- The Computer Science Department has 13 conferences, awards, and similar evidence. Suc-
plicants should submit their CV, copies of their faculty, 7 lecturers and approximately 150 gradu- cessful teaching experience is also desired. A PhD
school and university reports, list of publications, ate (Ph.D. and M.S.) students, and nearly 500 in computer science or a closely related discipline
reprints of five selected publications, names of B.S./B.A. students. is required by date of hire, expected to be 9/1/2018.
3-5 references, a brief description of their previ- The successful candidate will be expected to
ous research and a detailed description of the Assistant/Associate Professor – Computational establish a dynamic research program in his or her
proposed research project (including possible Biology fields of expertise, to become an engaging teacher,
opportunities for collaboration with existing re- Ph.D. in Computer Science, Computational Bi- adviser, and mentor at both the undergraduate
search groups at Saarbrücken and Stanford) to: ology, Bioinformatics, Health Informatics, or a and graduate levels, and to make a strong com-
Prof. Dr. Hans-Peter Seidel closely related field. See https://jobs.ndsu.edu/ mitment to curricula development. The typical
Max Planck Institute for Informatics, postings/8780 for more information and to apply. teaching load is three courses per year, includ-
Campus E 1 4, 66123 Saarbrücken, Germany; ing both undergraduate and graduate courses in
Email: mpc-vcc@mpi-inf.mpg.de Assistant/Associate Professor – Cyber Security the School’s academic programs. Service to the
Ph.D. in Computer Science or Software Engineer- School, College, and University is expected.
The Max Planck Center is an equal opportuni- ing with focus on Cybersecurity, Big Data, Data Increasing diversity of the computing profes-
ty employer and women are encouraged to apply. Mining or a closely related topic. See https://jobs. sion is one of our strategic priorities, and women
Additional information is available on the ndsu.edu/postings/8777 for more information and traditionally underrepresented people in com-
website www.mpc-vcc.org. and to apply. puting fields are particularly encouraged to apply.
Minimum requirements for both positions To apply, visit https://bit.ly/UMaineCSPosi-
are: Experience or other evidence of potential for tion (full position announcement). Also arrange
North Dakota State University excellence in undergraduate and graduate teach- for three letters of recommendation to be sent to
Tenure-Track Assistant/Associate Professor ing, research and service. Effective oral and writ- Roy Turner, Chair, CS Faculty Search Committee,
Positions ten communication skills are necessary. Experi- University of Maine, 5711 Boardman Hall, Orono,
ence or other evidence of potential to conduct ME 04469-5711 or rturner@maine.edu. Incom-
The Department of Computer Science seeks to fill research in ecosystems, sustainability or health plete applications cannot be considered. Review
two tenure-track Assistant/Associate Professor applied to rural populations is desirable. of applications will begin 1/15/2018 and continue
positions, one in Computational Biology and the NDSU is a top national research university. Far- until the position is filled.
other in Cyber Security and Big Data starting Fall go is a clean, growing metropolitan area of 250,000 The University of Maine, an EO/AA employer,
2018. Seehttps://www.ndsu.edu/cs/policies_and_ that consistently ranks near the top in national seeks to employ outstanding people who con-
information/cs_department_positions/ for more quality-of-life-surveys. We have low levels of crime tribute to the rich cultural diversity expected in
information about the department and positions. and pollution, excellent schools, short commutes, a university setting. All qualified individuals are
and proximity to the Minnesota lake country. The encouraged to apply.
community has a symphony, an opera, a domed
stadium, a community theater, three colleges, a re-
search technology park and many other amenities. The University of Texas at San Antonio
NDSU is an equal opportunity institution. Faculty Position in Computer Science
Review of applications begins January 15,
2018. Applications will be accepted until posi- The Department of Computer Science at The Uni-
tions are filled. versity of Texas at San Antonio (UTSA) invites ap-
NDSU is an EEO/AA-MF/Vet/Disability. plications for two tenured/tenure-track positions,
ADVERTISING starting in Fall 2018. The first position is for a ten-
ure-track Assistant or tenured/tenure-track Associ-
IN CAREER University of Maine ate Professor in Game-related areas. The focus is on
OPPORTUNITIES Tenure-Track Faculty Position Computer Graphics, especially 3D animation, 3D
How to Submit a Classified Line Ad: Send in Computer Science modeling, and real-time rendering; and/or Human
an e-mail to acmmediasales@acm.org. Computer Interaction, especially human computer
Please include text, and indicate the The School of Computing and Information Science interfaces, virtual reality, augmented reality, and
issue/or issues where the ad will appear, seeks applicants for a tenure-track Assistant Pro- game analytics. The second position is for a ten-
and a contact name and number. fessor position with research foci in the broad areas ured/tenure-track Associate Professor in Data Sci-
Estimates: An insertion order will then of Secure Computing and/or Software Engineering. ence and Artificial Intelligence, focusing on cyber
be e-mailed back to you. The ad will by While strong candidates in all related areas will security, Internet of things, bioinformatics, natural
typeset according to CACM guidelines. be considered, expertise in cybersecurity is desired, language processing, speech recognition, language
NO PROOFS can be sent. Classified line
either in a sub-area (e.g., trustworthy computing, understanding, computer vision, or machine learn-
ads are NOT commissionable.
development and architecture of secure software ing. This position is part of UTSA’s focused cluster
Deadlines: 20th of the month/2 months systems, formal methods, and software systems hiring plan under the Gold Star Initiative to recruit
prior to issue date. For latest deadline
info, please contact: verification) or as it pertains to another area (e.g., top-tier researchers over a four-year period.
acmmediasales@acm.org networks, Internet of Things, software engineering, See http://www.cs.utsa.edu/fsearch for infor-
operating systems, trust/verification of AI, and deep­ mation on the Department and application in-
Career Opportunities Online: Classified
and recruitment display ads receive a learning systems). Regardless of the candidate’s re- structions. Screening of applications will begin
free duplicate listing on our website at: search area, teaching courses in cybersecurity is re- immediately. The search will continue until the
http://jobs.acm.org quired. We are particularly interested in candidates positions are filled or the search is closed.
Ads are listed for a period of 30 days. that complement the School’s existing research The University of Texas at San Antonio is an
strengths in Artificial Intelligence, Data Manage- Affirmative Action/Equal Opportunity Employer.
For More Information Contact: ment, Distributed Systems, Human Computer In- Department of Computer Science
ACM Media Sales teraction, and Spatial Informatics with potential RE: Faculty Search
at 212-626-0686 or for collaborations within the School. The ability to The University of Texas at San Antonio
acmmediasales@acm.org contribute to campus-wide Signature and Emerg- One UTSA Circle
ing areas of excellence in Data Science and STEM San Antonio, TX 78249-0667
Education Research (with focus on CS) also would Phone: 210-458-4436

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T H E ACM 119


last byte

DOI:10.1145/3157090 Dennis Shasha

Upstart Puzzles
Polychromatic Choreography
A CERTAIN MODERN dance choreogra- Challenge. Starting with two red and
pher has her dancers wear k differ- two blue dancers, now add two green
ent-colored leotards. For example, dancers. We want to create two disjoint
when k is 2, half the dancers wear red segments, each with a red, blue, and
and the other half wear blue. In gen- green dancer in any order, constituting
eral, there are k colors with n dancers the perfect lineup in this case. Note the
wearing each color. The basic algo- blues and reds are two spaces apart.
rithmic problem she has to solve is Where should the two greens start in
how to instruct her dancers to move order to create a perfect lineup in two
from some given configuration to a steps? Show those two steps.
configuration in which the dancers
form disjoint vertical or horizontal
line segments, with each line seg-
ment consisting of one dancer from
each of the k colors in any order—a
“perfect lineup.” A movement of one
Consider k groups of dancers, where the
dancer consists of a horizontal or Solution. dancers in each group wear leotards of the
vertical step. same color. The choreographer’s goal is
to get them to move on the grid in parallel,
Warm-Up. Consider the following producing a set of disjoint line segments,
configuration of six dancers on a each including a dancer of each color.
grid, where three wear blue leo-
tards and three wear red leotards. find a maximally hard configuration of
Can you achieve a perfect lineup in the dancers; a configuration c is maxi-
just two moves? Here are the two steps mally hard if c requires m parallel steps
to achieve a perfect lineup and no oth-
er configuration requires more than m
steps to achieve a perfect lineup.
Upstart 3. Given a maximally hard
configuration with cost m, is there any
way to add a k+1st color of n dancers to
reduce the number of steps required to
Solution to Warm-Up. achieve a perfect lineup?
Upstart 4. How would these upstarts
change if diagonal (and counter-diago-
nal) segments were allowed?

All are invited to submit their solutions to


upstartpuzzles@cacm.acm.org; solutions to upstarts and
Upstart 1. Given an initial configu- discussion will be posted at http://cs.nyu.edu/cs/ faculty/
and, moving vertically rations of k colors, each with an equal shasha/papers/cacmpuzzles.html

number n of dancers of each color on a


PHOTO BY GURYANOV A ND REY

Dennis Shasha (dennisshasha@yahoo.com) is a professor


grid, design an algorithm that uses as of computer science in the Computer Science Department
few steps as possible to achieve a per- of the Courant Institute at New York University, New York,
as well as the chronicler of his good friend the omniheurist
fect lineup. Dr. Ecco.
Upstart 2. Given k colors and n danc-
ers of each color and a board of size B x B, Copyright held by the author.

120 COMM UNICATIO NS O F T H E ACM | JA NUA RY 201 8 | VO L . 61 | NO. 1


acm code of ethics and professional conduct

DOI:10.1145/3173016 Don Gotterbarn, Amy Bruckman, Catherine Flick, Keith Miller, and Marty J. Wolf

ACM Code of Ethics:


A Guide for Positive Action
THE ACM CODE of Ethics and Professional read and contribute to this effort. concludes with Draft 3 of the Code for
Conduct (the Code) is being updated We have provided two opportunities your review.c
by the Code Update Task Forcea in con- to comment on this draft and suggest
junction with the ACM’s Committee ways it might be improved. We have
on Professional Ethics. The Code was provided a space for open discussion of I. Changes from Draft 2 to Draft 3
initially written in 1992, and this is the Draft 3 among interested parties at the
first update since then. In previous ar- ACM Code 2018 Discussion website 1.2 Harm
ticles we detailed the motivations for https://code2018.acm.org/discuss. In There were several comments about
updating the Code,b gave our respons- addition, ACM members are encour- Principle 1.2: Avoid Harm. Some re-
es to feedback on the initial draft, and aged to take an online survey about the spondents suggested that this principle
produced an updated version, which specific principles of the Code at was inconsistent with work in the mili-
we presented for feedback through the https://www.acm.org/code-2018-survey. tary sector or law enforcement where
ACM Discourse site, email, and focus Both comment systems close Feb. 10, 2018. some systems are designed, in part,
groups and workshops at ETHICOMP The ACM is a professional society to cause harm. The Task Force modi-
and SIGCSE. We thank everyone who whose goals include promotion of the fied the guidance for this Principle to
took part in this public consultation highest standards “to advance the pro- deal more effectively with that percep-
round. Their insights, both positive fession and make a positive impact.” tion. Another concern expressed was
and negative, were invaluable. We have Thus, the ACM Code of Ethics and Pro- that with most systems harm of some
deliberated extensively on the numer- fessional Conduct ought to reflect the degree almost always happens. In re-
ous suggestions for additions, changes, conscience of the computing profes- sponse, we sharpened the definitions of
and deletions. Based on those delibera- sion, understood in the broadest sense. intentional and unintentional harms,
tions, we produced Draft 3 of the Code. A successful code of ethics should and we added language to encourage
There are some significant changes reflect the values of the computing professionals to take care to minimize
made in Draft 3. Some principles have profession in a way that can help ACM unintended harm.
been removed entirely or completely members make appropriate ethical de-
rewritten, and some new principles cisions. The Code should also inspire 1.3 Transparency and Honesty
were added in response to recommen- members, future members, and other Commenters were concerned that cer-
dations by several respondents. This professionals by highlighting the aspi- tain technological developments such
article explains the significant changes rations of the profession. as algorithmic transparency and sys-
that were made, and a few changes that The ACM Code of Ethics and Profes- tems that learn were not addressed by
were suggested but not made. For the sional Conduct is a guide to proactive the Code. We agreed. However, since
most part, the suggestions that were action that helps us, as a profession, one goal of this update process is to
not explicitly incorporated are ideas promote good. Because of this, it also craft language that will apply to new
that we consider covered by existing applies to those aspiring to be comput- technologies as they emerge, we did
aspects of the Code. Some of these ing professionals, including students. not include these specific technologies
suggestions were excellent, and be- Members of ACM student chapters are explicitly in the Code. Instead, we tried
cause of them, explanatory materials also invited to take the survey and com- to use language that would implic-
that will supplement the Code are be- ment on the Code. itly include them and future develop-
ing designed. These include examples, In the Code we identify global ethi- ments. Certain aspects of algorithmic
cases, and more detailed explanations cal principles that reflect the highest transparency are covered by the prin-
of the Code. standards of computing professionals. ciples regarding nondiscrimination
This article is part of the final round The Code is designed to inform ACM and privacy, but the concept of trans-
of public consultation associated with members and others of what society parency was not addressed in Draft 2,
the 2018 update to the ACM Code of should expect from computing profes- except with respect to the actions of
Ethics. ACM members agree to abide sionals, and what computer profes- people. By changing the guidance for
by the Code. Please encourage other sionals should expect of themselves. Principle 1.3 on honesty to include ex-
computing professionals around you to In the next section we identify spe- plicit discussion of transparency, espe-
cific changes we made in response to cially with respect to system limitations
suggestions from the reviewers. The
a For a list of current taskforce members see
http://ethics.acm.org/code-2018.
section after that addresses some of c A complete track changes version of Draft 3
b http://cacm.acm.org/magazines/2016/12/ the thoughtful suggestions that did showing additions and deletions to draft 2 is
210366-the-acm-code-of-ethics/fulltext not directly lead to changes. The article available at http://ethics.acm.org/code-2018.

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T H E ACM 121


acm code of ethics and professional conduct

and problems, the Code now addresses agreement with the user about the type,
technologies that are opaque even to content, and use of data that are being
their developers. Suggestions about collected about them. Users should
how to manage the release of self-mod- have the ability to view and update their
ifying systems are also now made in the
guidance for Principle 2.5. A successful code data, and to withdraw from data collec-
tion procedures. In many circumstanc-

1.4 Harassment
of ethics should es, users should also be able to remove
their data entirely, particularly on so-
The harassment principle generated reflect the values cial media or other user-generated con-
much discussion, both for and against
a new emphasis in Draft 2 on discour-
of the computing tent platforms.
Legislation is constantly changing
aging harassment. The Task Force con- profession in a way to catch up with technology, and dif-
sensus is that a strong clause about
harassment should be included in the
that can help ACM ferent countries have different ways of
approaching the issues raised by tech-
Code since it is to be a modern state- members make nical developments. One suggestion
ment of the ethical responsibilities of
the computing profession. As an up- appropriate that was made was that we include
the “right to be forgotten” in our pri-
date to the previous draft, we added vir- ethical decisions. vacy clause. This issue is a significant
tual spaces to physical spaces as places aspect of the EU’s GDPR regulation
where harassment can take place. We that is coming into effect in 2018, and
also broadened the harassment defini- which has been debated in other juris-
tion to encompass cyber bullying. dictions as well. While we are generally
Many existing harassment poli- supportive of this idea, we felt that for
cies focus exclusively on prohibiting a code of ethics, the use of this term
negative actions. Draft 3 of the Code was too specific to particular legisla-
now includes a proactive call to create tion, and would require too nuanced
open and inclusive spaces. We wanted a definition to be useful in this Code.
to clarify that when people feel disre- Instead, as part of the privacy clause,
spected, this can also be prohibitive to we have required computing profes-
certain spaces. The new language ex- sionals to allow for the user’s removal
plicitly encourages building diversity of data where appropriate - this cap-
and safe environments that enable all tures the essence of the “right to be
people to feel respected. forgotten” in a way that we deemed to
be more generalizable.
1.6 Data collection and
informed consent 2.6 Evaluation of work and skills
In Principle 1.6, Respect Privacy, we Principle 2.6 clarifies the computing
have shifted the focus away from opting professional’s responsibility to evalu-
in or out of data collection, and moved ate potential work assignments. When
to a more general requirement for in- potential tasks are assigned, the profes-
formed consent procedures. The stron- sional should be able to evaluate the ad-
ger emphasis on informed consent re- visability and feasibility of the assign-
quires that users not only understand ment; if these evaluations are beyond
what data are being collected and what the computing professional’s skill,
they are being used for, but that they then he or she ought to seek help in
have the ability to consent to, or to with- these evaluations. Professionals should
hold consent from the data collection. further evaluate if their skill level is cur-
This is consistent with broader interna- rently adequate to complete the assign-
tional standards that are being imple- ment or if they are capable of gaining
mented worldwide, such as the Euro- the required skills.
pean Union’s General Data Protection
Regulation (GDPR),d which we endorse.
It is important for professionals to New Principles and Concepts
understand that informed consent is To address some of the more recent
not just about disclosure of informa- changes in computing and society we
tion about data collection (for example, added some new principles. These
in a lengthy, practically unintelligible principles bring attention to the pro-
Privacy Policy), but is ideally a proactive fessional’s responsibility to a broader
range of stakeholders.
d http://www.eugdpr.org/

122 CO M MUNICATIO NS O F TH E ACM | JA NUA RY 201 8 | VO L . 61 | NO. 1


acm code of ethics and professional conduct

2.9 Security to present professionals’ commitment they ought to be challenged. Further,


Computing professionals have a re- to those values; but many codes also al- the computing professionals “must”
sponsibility to ensure that the systems lude to consequences when profession- accept responsibility for their actions
they create are secure. Principle 2.9 als do not comply with the code. The when they challenge rules.
is new, and instructs professionals to principles in the ACM Code provide
“Design and implement systems that numerous behavioral targets. The 1992
are robustly and usably secure.” Com- Code had a single consequence for II. Requested changes
puter hacking is a growing problem, missing any of these behavioral targets: not specifically included
and developments like ubiquitous expulsion from the ACM. The com- Many useful ideas were suggested that
computing and the “Internet of things” pliance section of the updated ACM were not specifically included in the
surround us with new vulnerabilities. Code is designed to be more flexible, newest version of the Code. Perhaps
True security requires usability—secu- to inspire and educate, as well as pun- most significantly is that some respon-
rity features are of no practical use if us- ish when appropriate. The new version dents thought that the Code’s referenc-
ers cannot or will not use them. recognizes degrees of violation, and es to “the good of society” or “the public
includes opportunities of remediation good” are so vague as to be meaning-
3.6 Legacy Systems Retirement less severe than expulsion. less. Suggestions were made to amend
Principle 3.6 is new, and includes: the Code to reflect the reality that there
“Retire legacy systems with care.” This are many different societies, with im-
principle was added to address a funda- Must or Should? portant differences between them.
mental tension mentioned by respond- Some commenters expressed concern The Task Force agrees that “society”
ers: sometimes software companies about the use of “must” and “should” and “public” are indeed very broad,
must end support for systems; however, in the Code. In Draft 3, the word “must” and that this breadth can be a symp-
what should they do if there are users appears three times, and the word tom of insensitivity to the nuances of
who still depend on those systems? Dis- “should” appears 76. The impetus to different groups and people. However,
continuing support causes harm, but use “should” stems from the aspira- in writing a code of ethics for a global
sometimes is necessary. This is particu- tional nature of the Code. This is the audience, authors can use a broad gen-
larly challenging because the users of same motivation for replacing “moral eralized term, focus on a single or a
legacy systems often reside in the devel- imperative” with “ethical imperative” few particular societies, try to make a
oping world or in areas that are economi- in the development of Draft 2. The use comprehensive list of relevant societ-
cally less advantaged. This new principle of the word “should” is also impor- ies, or abandon any mention of “soci-
says that this process should be under- tant because during ethical delibera- ety.” The Task Force decided that for
taken with care, and states that it is criti- tions, the principles in the Code can practical reasons, the broad general
cal to notify users of the risks (especially come into conflict. When this occurs, references were the proper choice for
with regard to security) of continuing to thoughtful ethical analysis may require this code. Thus, in the Code the “pub-
use unsupported systems. one of the principles to yield to others. lic” or “society” is meant to encompass
If a computing professional “must” ad- all affected people, and is not meant
3.4 Leadership principle changes here to two principles and the particu- to homogenize their diversities. In the
In the new draft version of Principle lar situation does not allow adhering to Code, a term such as “the public good”
3.4, we consolidated Principles 3.4 both simultaneously, the person nec- implicitly acknowledges that individu-
and 3.5 from the previous draft. Based essarily violates the Code, even when als and subsets within the public may
on respondents’ comments, the Task a course of action is ethically justified. differ about what is good in a particular
Force decided that policies for the use By using “should” professionals are situation, but we contend that there is
of organizational computing resources given the opportunity to articulate their a notion of “good” that resonates with
are no longer such a central a concern analysis and be transparent about their people. This broad sense of good can
so as to require an entire principle to ethical reasoning. be embraced, and a broad sense of evil
itself. Instead, we amended the original What about those three uses of can be shunned, without denying the
principle 3.5, which was about creat- “must”? The first is in the Preamble importance of diversity.
ing policies that protect dignity, to be where it says “computing profession- Additionally, a complete cyber secu-
broader. Leaders are now expected to als must always support the public rity standard and a complete due proc-
create and support policies and pro- good.” This reminds us that the public ess standard for Code violators were
cesses that not only protect dignity, good is our paramount concern and is suggested to be a part of the updated
but that reflect all the principles in the given more weight when principles in Code, but were not added. Although
Code. This subsumed the original 3.4 the Code conflict. The other two uses these suggested additions reflect im-
principle, so 3.4 was eliminated, and of “must” appear in the guidance for portant concerns, the Task Force de-
the remaining principles were renum- Principle 2.3, which speaks to follow- cided that the additions would be more
bered appropriately. ing rules and laws. The guidance is appropriately placed in different docu-
clear: computing professionals must ments. For example, they could be add-
4 Compliance obey rules. The guidance articulates ed as independent standards support-
The primary functions of a code of eth- that it is possible for rules or laws to ing the Code, such as ACM Bylaws; and
ics are to state a profession’s values and be unethical and when that is the case, they could be added in supplemental

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T H E ACM 123


acm code of ethics and professional conduct

materials, such as teaching materials. always support the public good. The 1. GENERAL MORAL PRINCIPLES.
There are many items that are impor- ACM Code of Ethics and Professional A computing professional should...
tant, even crucial, that are nonetheless Conduct (“the Code”) reflects this obli-
not appropriate in the Code. gation by expressing the conscience of 1.1 Contribute to society and to human
It is important, and tricky, to get the the profession and provides guidance well-being, acknowledging that all peo-
length of the Code right. There were to support ethical conduct of all com- ple are stakeholders in computing.
some calls for the Code to be made puting professionals. This principle, concerning the quality
shorter, possibly short enough to fit on The Code is designed to support of life of all people, affirms an obliga-
a business card. There are legitimate all computing professionals, includ- tion of computing professionals to use
concerns about someone choosing not ing current and aspiring computing their skills for the benefit of society,
to read the Code because it is too long. practitioners, instructors, influencers, its members, and the environment
Rather than opt for that kind of brev- and anyone who uses technology in an surrounding them. This obligation in-
ity, we have targeted a middle ground. impactful way. Additionally, the Code cludes promoting fundamental human
The Code must reflect the diversity of serves as a basis for remediation when rights and protecting each individual’s
the activities computing profession- violations occur. The Code includes right to autonomy in day-to-day deci-
als are involved in. Broader impacts of principles formulated as statements sions. An essential aim of computing
technology are not always clear or im- of responsibility, based on the under- professionals is to minimize negative
mediate, and the Code contains lan- standing that the public good is always consequences of computing, including
guage to remind the reader to consider the primary consideration. Each prin- threats to health, safety, personal secu-
those broader impacts. Furthermore, ciple is supplemented by guidelines, rity, and privacy.
the Code is intended to serve as a tool which provide explanations to assist Computing professionals should
to use during ethical analysis. The guid- computing professionals in under- consider whether the results of their
ance helps the professional to a deeper standing and applying the principle. efforts respect diversity, will be used
understanding of the principles. We Section 1 outlines fundamental in socially responsible ways, will meet
hope that the Code is written in a way ethical principles that form the basis social needs, and will be broadly acces-
that facilitates a quick scan, as well as for the remainder of the Code. Section sible. They are encouraged to actively
rewarding a more careful reading. 2 addresses additional, more specific contribute to society by engaging in pro
considerations of professional respon- bono or volunteer work. When the in-
sibility. Section 3 pertains to individu- terests of multiple groups conflict, the
Call to action als who have a leadership role, wheth- needs of the least advantaged should be
After reading Draft 3 of the ACM Code er in the workplace or in a volunteer given increased attention and priority.
of Ethics, please take the opportunity professional capacity. Commitment In addition to a safe social environ-
to make it better as a standard for the to ethical conduct is required of every ment, human well-being requires a safe
computing profession. We have provid- ACM member, and principles involving natural environment. Therefore, com-
ed two opportunities for you to share compliance with the Code are given in puting professionals should promote
your comments. There is a general dis- Section 4. environmental sustainability both lo-
cussion board https://code2018.acm. The Code as a whole is concerned cally and globally.
org/discuss providing an opportunity with how fundamental ethical prin-
for interested parties to discuss the sug- ciples apply to a computing profes- 1.2 Avoid harm.
gested updates and ACM members are sional’s conduct. The Code is not an In this document, “harm” means nega-
invited to take an online survey about algorithm for solving ethical prob- tive consequences to any stakeholder,
the specific elements of the Code at lems; rather it serves as a basis for ethi- especially when those consequences
https://www.acm.org/code-2018-sur- cal decision making. When thinking are significant and unjust. Examples
vey. Both comment systems close through a particular issue, a comput- of harm include unjustified physical
Feb. 10, 2018. ing professional may find that mul- or mental injury, unjustified destruc-
We look forward to your comments. tiple principles should be taken into tion or disclosure of information, and
account, and that different principles unjustified damage to property, reputa-
will have different relevance to the is- tion, and the environment. This list is
III. ACM Code of Ethics and sue. Questions related to these kinds not exhaustive.
Professional Conduct: Draft 3 of issues can best be answered by Well-intended actions, including
Draft 3 was developed by The Code thoughtful consideration of the fun- those that accomplish assigned duties,
2018 Task Force. (It is based on the damental ethical principles, under- may lead to harm. When that harm is
2018 ACM Code of Ethics and Profes- standing that the public good is the unintended, those responsible are ob-
sional Conduct: Draft 2). paramount consideration. The entire ligated to undo or mitigate the harm as
computing profession benefits when much as possible. Avoiding harm be-
Preamble the ethical decision making process is gins with careful consideration of po-
The actions of computing professionals accountable to and transparent to all tential impacts on all those affected by
directly impact significant aspects of stakeholders. Open discussions about decisions. When harm is an intentional
society. In order to meet their responsi- ethical issues promotes this account- part of the system, those responsible
bilities, computing professionals must ability and transparency. are obligated to ensure that the harm is

124 COM MUNICATIO NS O F TH E ACM | JA NUA RY 201 8 | VO L . 61 | N O. 1


acm code of ethics and professional conduct

tential impacts on all those affected by and create safe, inclusive spaces for all
decisions. When harm is an intentional people, including those of underrepre-
part of the system, those responsible sented backgrounds. Prejudicial dis-
are obligated to ensure that the harm is crimination on the basis of age, color,
ethically justified and to minimize un- disability, ethnicity, family status, gen-
intended harm. The Code is der identity, labor union membership,
To minimize the possibility of in-
directly harming others, computing
designed to support military status, national origin, race, re-
ligion or belief, sex, sexual orientation,
professionals should follow generally all computing or any other inappropriate factor is an
accepted best practices. Additionally,
the consequences of emergent systems
professionals, explicit violation of the Code. Harass-
ment, including sexual harassment, is
and data aggregation should be care- including current a form of discrimination that limits fair
fully analyzed. Those involved with per-
vasive or infrastructure systems should and aspiring access to the virtual and physical spac-
es where such harassment takes place.
also consider Principle 3.7. practitioners, Inequities between individuals or

instructors,
A computing professional has an ad- different groups of people may result
ditional obligation to report any signs from the use or misuse of informa-
of system risks that might result in
harm. If leaders do not act to curtail or
influencers, and tion and technology. Technologies and
practices should be as inclusive and ac-
mitigate such risks, it may be necessary anyone who uses cessible as possible. Failure to design
to “blow the whistle” to reduce poten-
tial harm. However, capricious or mis-
technology in for inclusiveness and accessibility may
constitute unfair discrimination.
guided reporting of risks can itself be an impactful way.
harmful. Before reporting risks, a com- 1.5 Respect the work required to
puting professional should thoroughly produce new ideas, inventions, creative
assess all relevant aspects. works, and computing artifacts.
Developing new ideas, inventions, cre-
1.3 Be honest and trustworthy. ative works, and computing artifacts
Honesty is an essential component creates value for society, and those who
of trust. A computing professional expend this effort should expect to gain
should be transparent and provide full value from their work. Computing pro-
disclosure of all pertinent system limi- fessionals should therefore provide ap-
tations and potential problems. Mak- propriate credit to the creators of ideas
ing deliberately false or misleading or work. This may be in the form of
claims, fabricating or falsifying data, respecting authorship, copyrights, pat-
and other dishonest conduct are viola- ents, trade secrets, license agreements,
tions of the Code. or other methods of assigning credit
Computing professionals should where it is due.
be honest about their qualifications, Both custom and the law recognize
and about any limitations in compe- that some exceptions to a creator’s
tence to complete a task. Computing control of a work are necessary for the
professionals should be forthright public good. Computing profession-
about any circumstances that might als should not unduly oppose reason-
lead to conflicts of interest or otherwise able uses of their intellectual works.
tend to undermine the independence Efforts to help others by contributing
of their judgment. time and energy to projects that help
Computing professionals often be- society illustrate a positive aspect of
long to organizations associated with this principle. Such efforts include
their work. They should not misrep- free and open source software and
resent any organization’s policies or other work put into the public domain.
procedures, and should not speak on Some work contributes to or comprises
behalf of an organization unless autho- shared community resources. Comput-
rized to do so. ing professionals should avoid misap-
propriation of these resources.
1.4 Be fair and take action
not to discriminate. 1.6 Respect privacy.
The values of equality, tolerance, re- The responsibility of respecting privacy
spect for others, and justice govern applies to computing professionals in
this principle. Computing profession- a particularly profound way. Therefore,
als should strive to build diverse teams a computing professional should be-

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T H E ACM 125


acm code of ethics and professional conduct

come conversant in privacy’s various 2. PROFESSIONAL


definitions and forms. RESPONSIBILITIES.
Technology enables the collection, A computing professional should...
monitoring, and exchange of personal
information quickly, inexpensively,
and often without the knowledge of The responsibility 2.1 Strive to achieve high quality in both
the process and products of profession-
the people affected. Computing pro-
fessionals should only use personal
of respecting al work.

privacy applies
Computing professionals should
data for legitimate ends and without insist on high quality work from them-
violating the rights of individuals and
groups. This requires taking precau-
to computing selves and from colleagues. This in-
cludes respecting the dignity of em-
tions to prevent unauthorized data col- professionals ployers, colleagues, clients, users, and
lection, ensuring the accuracy of data,
and protecting it from unauthorized
in a particularly anyone else affected either directly
or indirectly by the work. Computing
access and accidental disclosure. Com- profound way. professionals have an obligation to
puting professionals should establish keep the client or employer properly
transparent policies and procedures informed about progress toward com-
that allow individuals to give informed pleting the work. Professionals should
consent to automatic data collection, be cognizant of the serious negative
review their personal data, correct in- consequences affecting any stake-
accuracies, and, where appropriate, holder that may result from poor qual-
remove data. ity work and should resist any induce-
Only the minimum amount of per- ments to neglect this responsibility.
sonal information necessary should
be collected in a system. The reten- 2.2 Maintain high standards of profes-
tion and disposal periods for that in- sional competence, conduct, and ethi-
formation should be clearly defined, cal practice.
enforced, and communicated to data High quality computing depends on
subjects. Personal information gath- individuals and teams who take per-
ered for a specific purpose should sonal and group responsibility for ac-
not be used for other purposes with- quiring and maintaining professional
out the person’s consent. Computing competence. Professional competence
professionals should take special care starts with technical knowledge and
for privacy when data collections are with awareness of the social context
merged. Individuals or groups may be in which the work may be deployed.
readily identifiable when several data Professional competence also requires
collections are merged, even though skill in reflective analysis and in rec-
those individuals or groups are not ognizing and navigating ethical chal-
identifiable in any one of those collec- lenges. Upgrading necessary skills
tions in isolation. should be ongoing and should include
independent study, conferences, semi-
1.7 Honor confidentiality. nars, and other informal or formal
Computing professionals should pro- education. Professional organizations
tect confidentiality unless required to and employers should encourage and
do otherwise by a bona fide require- facilitate those activities.
ment of law or by another principle of
the Code. 2.3 Know, respect, and apply existing
User data observed during the nor- rules pertaining to professional work.
mal duties of system operation and “Rules” here includes regional, nation-
maintenance should be treated with al, and international laws and regula-
strict confidentiality, except in cases tions, as well as any policies and pro-
where it is evidence of the violation of cedures of the organizations to which
law, of organizational regulations, or the professional belongs. Computing
of the Code. In these cases, the nature professionals must obey these rules
or contents of that information should unless there is a compelling ethical
not be disclosed except to appropriate justification to do otherwise. Rules
authorities, and a computing profes- that are judged unethical should be
sional should consider thoughtfully challenged. A rule may be unethical
whether such disclosures are consis- when it has an inadequate moral basis,
tent with the Code. it is superseded by another rule, or it

126 CO M MUNICATIO NS O F TH E AC M | JA NUA RY 201 8 | VO L . 61 | NO. 1


acm code of ethics and professional conduct

causes recognizable harm that could ent. The client or employer may de- 3. PROFESSIONAL
be mitigated through its violation. A cide to pursue the assignment with LEADERSHIP PRINCIPLES.
computing professional who decides the professional after time for addi- In this section, “leader” means any
to violate a rule because it is unethical, tional training, to pursue the assign- member of an organization or group
or for any other reason, must consider ment with someone else who has the who has influence, educational respon-
potential consequences and accept re- required expertise, or to forego the sibilities, or managerial responsibili-
sponsibility for that action. assignment. A computing profes- ties. These principles generally apply
sional’s ethical judgment should be to organizations and groups, as well as
2.4 Accept and provide appropriate pro- the final guide in deciding whether to their leaders.
fessional review. work on the assignment. A computing professional acting as a
High quality professional work in com- leader should...
puting depends on professional review 2.7 Improve public awareness and un-
at all stages. Whenever appropriate, derstanding of computing, related 3.1 Ensure that the public good is the
computing professionals should seek technologies, and their consequences. central concern during all professional
and utilize peer and stakeholder review. Computing professionals should share computing work.
Computing professionals should also technical knowledge with the public, The needs of people—including users,
provide constructive, critical reviews of foster awareness of computing, and en- those affected directly and indirectly,
other’s work. courage understanding of computing. customers, and colleagues—should
Important issues include the impacts always be a central concern in profes-
2.5 Give comprehensive and thorough of computer systems, their limitations, sional computing. Tasks associated
evaluations of computer systems and their vulnerabilities, and opportunities with requirements analysis, design,
their impacts, including analysis of that they present. Additionally, a com- development, testing, validation, de-
possible risks. puting professional should counter ployment, maintenance, retirement,
Computing professionals should strive false views related to computing. and disposal should have the public
to be perceptive, thorough, and objec- good as an explicit criterion for qual-
tive when evaluating, recommending, 2.8 Access computing and communica- ity. Computing professionals should
and presenting system descriptions tion resources only when authorized to keep this focus no matter which meth-
and alternatives. Computing profes- do so. odologies or techniques they use in
sionals are in a position of trust, and No one should access another’s their practice.
therefore have a special responsibility computer system, software, or data
to provide objective, credible evalua- without permission. A computing 3.2 Articulate, encourage acceptance
tions to employers, clients, users, and professional should have appropri- of, and evaluate fulfillment of the social
the public. Extraordinary care should ate approval before using system responsibilities of members of an orga-
be taken to identify and mitigate po- resources unless there is an overrid- nization or group.
tential risks in self-changing systems. A ing concern for the public good. To Technical organizations and groups af-
system for which future risks cannot be support this principle, a computing fect broader society, and their leaders
reliably predicted requires frequent re- professional should take appropriate should accept the associated respon-
assessment of risk as the system evolves action to secure resources against un- sibilities. Organizational procedures
in use, or it should not be deployed. Any authorized use. Individuals and orga- and attitudes oriented toward quality,
issues that might result in major risk nizations have the right to restrict ac- transparency, and the welfare of soci-
should be reported. cess to their systems and data so long ety reduce harm to the public and raise
as the restrictions are consistent with awareness of the influence of technol-
2.6 Have the necessary expertise, or other principles in the Code. ogy in our lives. Therefore, leaders
the ability to obtain that expertise, for should encourage full participation of
completing a work assignment before 2.9 Design and implement systems that all computing professionals in meeting
accepting it. Once accepted, that com- are robustly and usably secure. social responsibilities and discourage
mitment should be honored. Breaches of computer security cause tendencies to do otherwise.
A computing professional is account- harm. It is the responsibility of com-
able for evaluating potential work as- puting professionals to design and 3.3 Manage personnel and resources to
signments. implement systems that are robustly enhance the quality of working life.
Once it is decided that a project secure. Further, security precautions Leaders should ensure that manage-
is feasible and advisable, the pro- are of no use if they cannot or inten- ment enhances, not degrade, the qual-
fessional should make a judgment tionally will not be used appropriately ity of working life. Leaders should con-
about whether the work assignment by their intended audience in prac- sider the personal and professional
is appropriate to the professional’s tice; for example, if those precautions development, accessibility require-
expertise. If the professional does are too confusing, too time consum- ments, physical safety, psychological
not currently have the expertise nec- ing, or situationally inappropriate. well-being, and human dignity of all
essary to complete the assignment, Therefore, the design of security fea- workers. Appropriate human-comput-
the professional should disclose this tures should make usability a priority er ergonomic standards should be used
shortcoming to the employer or cli- design requirement. in the workplace.

JA N UA RY 2 0 1 8 | VO L. 6 1 | N O. 1 | C OM M U N IC AT ION S OF T H E ACM 127


acm code of ethics and professional conduct

3.4 Articulate, apply, and support poli- or unacceptably risky, the developer 4.2 Treat violations of the Code as
cies and processes that reflect the prin- should assist stakeholders’ graceful inconsistent with membership in
ciples in the Code. migration from the system to an al- the ACM.
Leaders should ensure that organi- ternative. When system support ends, Computing professionals who recog-
zational policies are consistent with stakeholders should be notified of the nize breaches of the Code should take
the ethical principles in the Code, are risks of their continued use of the un- actions to resolve the ethical issues they
clearly defined, and are effectively com- supported system. recognize, including, when reasonable,
municated to all stakeholders. In ad- System users should continually expressing their concern to the person
dition, leaders should encourage and monitor the operational viability of or persons thought to be violating the
reward compliance with those policies, their computing systems, accepting the Code. Possible actions also include re-
and take appropriate action when poli- timely replacement of inappropriate or porting the violation to the ACM, which
cies are violated. outdated systems. The primary consid- may result in remedial action by the
Leaders should verify that pro- eration must be the impact on stake- ACM up to and including termination
cesses used in the development of holders, who should be kept informed of the violator’s ACM membership.
systems protect the public good and at all times.
promote the dignity and autonomy Authors
of users. Designing or implementing 3.7 Recognize when a computer system Don Gotterbarn (chair@Ethics.acm.org gotterbarn@acm.
processes that deliberately or inad- is becoming integrated into the infra- org) is chair of the ACM Committee on Professional Ethics
and Professor Emeritus in the Department of Computing at
vertently violate, or tend to enable the structure of society, and adopt an ap- East Tennessee State University, Johnson City.
violation of, the Code’s principles is propriate standard of care for that sys-
Amy Bruckman (asb@cc.gatech.edu) is a professor of
ethically unacceptable. tem and its users. Interactive Computing at Georgia Institute of Technology,
When organizations and groups devel- Atlanta.
3.5 Create opportunities for members op systems that become an important Catherine Flick (cflick@dmu.ac.uk) is a Senior Lecturer
of the organization or group to learn part of the infrastructure of society, in Computing and Social Responsibility at De Montfort
University, Leicester, U.K.
and be accountable for the scope, their leaders have a responsibility to
functions, limitations, and impacts of be good stewards of these socially in- Keith Miller (millerkei@umsl.edu) is the Orthwein
Endowed Professor for Lifelong Learning in the Sciences
systems. tegrated systems. Part of that steward- College of Education, University of Missouri, St. Louis.
Educational opportunities are es- ship requires establishing policies for Marty J. Wolf (mjwolf@acm.org) is a professor of
sential for all organization and group fair system access, including for those Computer Science at Bemidji State University, Bemidji, MN.
members. Leaders should ensure that who may have been excluded. That
opportunities are available to com- stewardship also requires that com-
puting professionals to help them puting professionals monitor the level
improve their knowledge and skills of integration of their systems into the
in professionalism, in the practice infrastructure of society. Continual
of ethics, and in their technical spe- monitoring of how society is using a
cialties. These opportunities should system will allow the organization or
include experiences that familiarize group to remain consistent with their
computing professionals with the ethical obligations outlined in the
consequences and limitations of par- Code. As the level of adoption chang-
ticular types of systems. Computing es, there are likely to be changes in the
professionals should be fully aware of ethical responsibilities of the orga-
the dangers of oversimplified models, nization or group. When appropriate
the improbability of anticipating ev- standards of care do not exist, comput-
ery possible operating condition, the ing professionals have a duty to ensure
inevitability of software errors, the they are developed.
interactions of systems and the con-
texts in which they are deployed, and
other issues related to the complexity 4. COMPLIANCE WITH THE CODE.
of their profession. A computing professional should...

3.6 Retire legacy systems with care. 4.1 Uphold, promote, and respect the
Computing systems should be retired principles of the Code.
when it is judged impractical to contin- The future of computing depends on
ue supporting them. System developers both technical and ethical excellence.
should take care when discontinuing Computing professionals should
support for systems on which people adhere to the principles of the Code.
still depend. Developers should thor- Each ACM member should encourage
oughly investigate viable alternatives to and support adherence by all com-
removing support for a legacy system. puting professionals regardless of
If these alternatives are not practical ACM membership.

128 CO M MUNICATIO NS O F TH E AC M | JA NUA RY 201 8 | VO L . 61 | NO. 1


STILL VALID SUBMISSION DATES
Posters Feb 5, 2018
STILL VALID
Workshop papers
SUBMISSION
Feb 5, 2018
DATES
Posters Feb 5, 2018
Workshop papers Feb 5, 2018

www.icse2018.org
www.icse2018.org

ICSE2018-AD-magasine.indd 1 2017-11-17 16:02:37

Das könnte Ihnen auch gefallen