From Augmented Humans to Internet of Things—SPLASH 2017 Features Latest Innovations in Programming Languages and Software Engineering
Annual Event Features Cutting-Edge Presentations on Automation, Crowdsourcing, Domain-Specific Languages, and More
New York, October 19, 2017 —The Association for Computing Machinery’s Special Interest Group on Programming Languages (ACM SIGPLAN) is pleased to announce that the annual Conference on Systems, Programming, Languages and Applications: Software for Humanity (SPLASH 2017), will be held from October 22-27, 2017 at the Hyatt Regency, Vancouver, Canada. The mission of the conference is to bring together practitioners and researchers who are passionate about software, programming design and software engineering to explore the frontiers of software and software practice.
"SPLASH is an umbrella conference that provides original research exploring all aspects of software and programming languages,” said SPLASH 2017 General Chair Gail Murphy of the University of British Columbia. “Now in our eighth year as a combined conference, we are excited to expand our event even further to include four co-hosted conferences, two co-hosted symposiums and 19 co-hosted workshops.”
SPLASH 2017 Highlights
Keynote Presentation: Wednesday, October 25
Eve: Tackling a Giant with a Change in Perspective
Chris Granger, Kodowa
Few perspectives on programming have consequences as far reaching as that of augmenting humans. With computers so ubiquitous, what can we do to help realize the vision of programming for everyone? To even begin answering that, we have to dig into what “augmenting humans” really means and see how that perspective leads us to somewhere very different than our current programming systems.
Keynote Presentation: Friday, October 27
How the Languages We Speak Shape the Ways We Think
Lera Boroditsky, UC San Diego
Humans communicate with one another using 7,000 or so different languages, and each language differs from the next in innumerable ways. The question of whether the languages we speak shape the ways we think has been at the center of controversy for centuries, and with good reason. At stake are basic questions all of us have about ourselves, human nature, and reality.
Research Paper Highlights
It’s Time for Secure Languages
Christina Cifuentes, Oracle Labs, Australia
Language designers and developers want better ways to write good code– languages designed with simpler, more powerful abstractions accessible to a larger community of developers. However, language design does not seem to take into account security, leaving developers with the onerous task of writing attack-proof code. In 20 years, we have gone from 25 reported vulnerabilities to 6,000+ vulnerabilities reported in a year. Cifuentes will summarize data on vulnerabilities during 2013-2015 and argue that our languages must take security seriously. She argues we need to empower developers with the concept of “security for the masses” by making available languages that do not necessarily require an expert in order to determine whether the code being written is vulnerable to attack or not.
Bridging the Digital Divide in Data Science
Hridesh Rajan, Iowa State University
Data-driven sciences are poised to transform our society by fostering innovation, enabling better decision making, and driving organizational and sector changes. Availability of data with adequate permission, the so called “open data,” is the secret sauce enabling this transformation. But, access to data alone is insufficient because of significant barriers that exist in obtaining and using big data. Data-driven scientists are effectively facing a new digital divide between those who have data, bandwidth, deep expertise, well-established data-mining infrastructures, and those who don’t. In this talk, Rajan will argue that the programming language community can help bridge this digital divide by invention and refinement of what he calls “shared data science infrastructures (SDSIs).” He will also present three examples of SDSIs in such diverse domains as software analytics, data-driven genomics, and transportation.
IoTa: A Calculus for Internet of Things Automation
Julie L. Newcomb, University of California, Berkeley; Satish Chandra, Facebook; Jean-Baptiste Jeannin, Carnegie Mellon University; Cole Schlesinger, Samsung Research America; Manu Sridharan, Uber
In this work, the authors present the Internet of Things Automation (IoTa) calculus, the first calculus for the domain of home automation. IoTa models an ECA language equipped with first-class notions of time, state, and device aggregation, and comes equipped with a precise semantics inspired by a careful analysis of five existing home automation platforms. The authors show that the IoTa calculus is useful by implementing two analyses from the software engineering literature, and expressive by encoding sixteen programs from these home automation platforms.
Better Call the Crowd. Using Crowdsourcing to Shape the Notation of Domain-Specific Languages
Marco Brambilla, Politecnico di Milano; Jordi Cabot, ICREA-UOC; Javier Luis Cánovas Izquierdo, IN3-UOC; Andrea Mauri, Politecnico di Milano
Crowdsourcing has emerged as a novel paradigm where humans are employed to perform computational tasks. By relying on the crowd, it is possible to show an early version of the language to a wider spectrum of users, thus increasing the validation scope and eventually promoting its acceptance and adoption. The authors propose a systematic method for creating crowdsourcing campaigns aimed at refining the graphical notation of languages.
Generating Chat Bots from Web API Specifications
Mandana Vaziri, Louis Mandel; Avraham Shinnar, Jerome Simeon, Martin Hirzel, IBM Research
Companies want to offer chat bots to their customers and employees to answer questions, enable self-service, and showcase their products and services. Implementing and maintaining chat bots by hand costs time and is expensive. This paper presents a compiler that takes a Swagger API specification and automatically generates a chat bot that helps the user make API calls. Unfortunately, Swagger specifications are not always good enough to generate high-quality chat bots. This paper addresses this problem via a novel in-dialogue curation approach: the power user can improve the generated chat bot by interacting with it.
An Auditing Language for Preventing Correlated Failures in the Cloud
Ennan Zhai, Ruzica Piskac, Xun Lao, Xi Wang, Yale University, Ronghui Gu, Columbia University
Today’s cloud services extensively rely on replication techniques to ensure availability and reliability. In this presentation, the authors propose a novel language framework, named RepAudit, that manages to prevent correlated failure risks before service outages occur, by allowing cloud administrators to proactively audit the replication deployments of interest.
Conference Workshops Highlights
- Software for Augmented and Virtual Reality (SAVR 2017)
- Virtual Machines and Intermediate Languages (VMIL 2017)
- New Object-Oriented Languages (NOOL 2017)
- Object-Capability Languages, Systems, and Applications (OCAP 2017)
SIGPLAN is a Special Interest Group of ACM that focuses on Programming Languages. In particular, SIGPLAN explores the design, implementation, theory, and efficient use of programming languages and associated tools. Its members are programming language users, developers, implementers, theoreticians, researchers and educators.
ACM, the Association for Computing Machinery, is the world's largest educational and scientific computing society, uniting educators, researchers, and professionals to inspire dialogue, share resources and address the field's challenges. ACM strengthens the computing profession's collective voice through strong leadership, promotion of the highest standards, and recognition of technical excellence. ACM supports the professional growth of its members by providing opportunities for life-long learning, career development, and professional networking.