The ACM SIGPLAN conference on Systems, Programming, Languages and Applications: Software for Humanity

Amsterdam, The Netherlands
Oct 30-Nov 4, 2016


Oct 31

Breakfast @ Omelegg – City Centre

Generative Programming: Concepts and Experiences (GPCE)

Ina Schaefer (Program Chair in Program Committee for GPCE 2016)

  • Statistics
    • Submission: 44 full papers, 7 short papers, 1 tool paper
    • Accepted: 17 full papers, 2 short papers, 1 tool paper
    • 38% acceptance rate
    • 162 reviews, at least 3 per paper
    • 155 authors from 25 countries
  • Best Paper Award, “Synthesizing Regular Expressions from Examples for Introductory Automata Assignments”


[Keynote] Lightweight Modular Staging (LMS): Generate all the things!
Tiark Rompf

  • Tiark Rompf
  • Lightweight Modular Staging (LMS)
    • A library for generating high performance (low-level) code from high-level specification
    • Killer applications: data processing (database)
      • 1M LOC for generic DBMS
      • Manual specialization for performance is required
      • Previous approaches are still 10-100x slower than hand-written code

Domain-Specific Language Design and Implementation (DSLDI)

[Keynote] Small, simple and smelly: What we can learn from examining end-user artifacts?
Felienne Hermans

  • Two ways towards good, flawless programs
    • A better language
    • Education
  • Excel
    • The world’s most popular programming language
    • Common characteristics with programming languages
      • It is used for similar problems
      • Its formulas are Turing complete
      • It suffers from typical programming problems
        • Many variables
        • Long methods
        • Complexity
        • Code clones
  • Programming education for non-developers

The DSGA Model of DSL Design: Domain, Schema, Grammar, Actions
Vadim Zaytsev

Naturally Embedded DSLs
Jonathan Aldrich, Alex Potanin

  • Control multiple DSLs with one general purpose embedded DSL
    • e.g. serve: (URL, HTML) -> ()
    • Execute a parser and interpreter for each DSL (in this case, URL and HTML)

Towards explanation-oriented introductory programming
Julian Jabs

  • Explanation-oriented programming 
  • Insight: interpretation is just another explanation
    • Add natural language explanation within interpreter
  • Challenges
    • Difficulty to describe the intended behavior
    • Usability of line-by-line explanation
    • Necessity to provide all the explanations in advance

DesignScript: a scalable multi-paradigm domain-specific end-user language and modelling environment for architectural computation
Robert Aish, Emmanuel Mendoza

Generative Programming: Concepts and Experiences (GPCE)

Synthesizing Regular Expressions from Examples for Introductory Automata Assignments
Mina Lee, Sunbeom So, Hakjoo Oh

Programmable Semantic Fragments: The Design and Implementation of typy
Cyrus Omar, Jonathan Aldrich

Delaying Decisions in Variable Concern Hierarchies
Jörg Kienzle, Gunter Mussbacher, Omar Alam, Philippe Collet

Automatic Code Generation in Practice: Experiences with Embedded Robot Controllers
Sorin Adam, Marco Kuhrmann, Ulrik Schultz

Monday Poster Reception

A Web Application is a Domain-Specific Language
David H. Lorenz, Boaz Rosenan

Principled Syntactic Code Completion using Placeholders
Luís Eduardo de Souza Amorim, Sebastian Erdweg, Guido Wachsmuth, Eelco Visser

Dinner @ Bravi Ragazzi

Nov 1

Evaluation and Usability of Programming Languages and Tools (PLATEAU)


[Keynote] How to Design a Programming Language
Alan Blackwell

Software Engineering for Parallel Systems (SEPS)

Reducing Parallelizing Compilation Time by Removing Redundant Analysis
Jixin Han, Rina Fujino, Ryota Tamura, Mamoru Shimaoka, Hiroki Mikami, Moriyuki Takamura, Sachio Kamiya, Kazuhiko Suzuki, Takahiro Miyajima, Keiji Kimura , Hironori Kasahara

  • Top 3 most time-consuming analysis
    • Def-use analysis
    • Pointer analysis
    • Dependency analysis
  • Evaluation
    • Time cost reduced by 30%
      • 51.7% in terms of pointer analysis

LWC@SLE 2016 Language Workbench Challenge

Whole Platform Solution to a Selection of LWC16 Benchmark Problems
Riccardo Solmi, Enrico Persiani

Software Language Engineering (SLE)

Towards a Universal Code Formatter through Machine Learning
Terence Parr, Jurgen Vinju

Principled Syntactic Code Completion using Placeholders
Luís Eduardo de Souza Amorim, Sebastian Erdweg, Guido Wachsmuth, Eelco Visser


DrAST: An Inspection Tool for Attributed Syntax Trees (Tool Demo)
Joel Lindholm, Johan Thorsberg, Görel Hedin

Dynamic Languages Symposium (DLS)

A Small Embedding of Logic Programming with a Simple Complete Search
Jason Hemann, Daniel P. Friedman, William E. Byrd, Matthew Might


Generative Programming: Concepts and Experiences (GPCE)

A Vision for Online Verification-Validation
Matthew Hammer, Bor-Yuh Evan Chang, David Van Horn

Automatic Non-functional Testing of Code Generators Families
Mohamed Boussaa, Olivier Barais, Benoit Baudry, Gerson Sunyé

Beer @ Hannekes Boom

Dinner @ DoubleTree by Hilton Hotel Amsterdam Centraal Station

Nov 2

Breakfast @ Starbucks


Welcome to SPLASH 2016
Eelco Visser


OOPSLA 10-year Most Influential Paper Award
Eelco Visser

[Keynote] The Science of Deep Specification
Benjamin C. Pierce

  • Course design
    • Undergraduate courses
      • Drop-in replacements for standard compiler and OS courses
      • Pedagogical versions of Vellvm and CertiKOS
      • Reading and interacting with specifications
      • Code connected to specifications via random testing
    • Graduate courses
      • New course on formally specifying and verifying systems software and hardware

OOPSLA – Semantics and Verification

Semantics-Based Program Verifiers for All Languages
Andrei Stefanescu, Daejun Park, Shijiao Yuwen, Yilong Li, Grigore Rosu

Hoare-Style Specifications as Correctness Conditions for Non-linearizable Concurrent Objects
Ilya Sergey, Aleksandar Nanevski, Anindya Banerjee, Germán Andrés Delbianco

OOPSLA – Program Synthesis

Deriving Divide-and-Conquer Dynamic Programming Algorithms using Solver-Aided Transformations
Shachar Itzhaky, Rohit Singh, Rezaul Chowdhury, Kuat Yessenov, Yongquan Lu, Charles E. Leiserson, Armando Solar-Lezama

Speeding Up Machine-Code Synthesis
Venkatesh Srinivasan, Tushar Sharma, Thomas Reps

Automated Reasoning for Web Page Layout
Pavel Panchekha, Emina Torlak

FIDEX: Filtering Spreadsheet Data using Examples
Xinyu Wang, Sumit Gulwani, Rishabh Singh

OOPSLA – Programming Frameworks, Tools, and Methodologies

Purposes, Concepts, Misfits, and a Redesign of Git
Santiago Perez De Rosso, Daniel Jackson

  • So many people want better Git :)

Apex: Automatic Programming Assignment Error Explanation
Dohyeong Kim, Yonghwi Kwon, Peng Liu, I Luk Kim, David Mitchel Perry, Xiangyu Zhang, Gustavo Rodriguez-Rivera

Wednesday Poster Reception

Synthesizing Regular Expressions from Examples for Introductory Automata Assignments
Mina Lee, Sunbeom So, Hakjoo Oh

Dinner & Drink @ Delirium Café Amsterdam

Nov 3


Yannis Smaragdakis, Michael Bond

[Keynote] From DOT to Dotty — Foundations and Types for Objects As Modules
Martin Odersky

OOPSLA – Language Design and Programming Models II

Automatic Enforcement of Expressive Security Policies using Enclaves
Anitha Gollamudi, Stephen Chong

Chain: Tasks and Channels for Reliable Intermittent Programs
Alexei Colin, Brandon Lucia

Lunch @ Cau Restaurant

Cruise @ Rederij Kooij

Onward! Papers

Object Spreadsheets: A New Computational Model for End-User Development of Data-Centric Web Applications
Matt McCutchen, Shachar Itzhaky, Daniel Jackson

Moldable, Context-Aware Searching with Spotter
Andrei Chiş, Tudor Gîrba, Juraj Kubelka, Oscar Nierstrasz, Stefan Reichhart, Aliaksei Syrel

OOPSLA– Program Modeling and Learning

Ringer: Web Automation by Demonstration
Shaon Barman, Sarah Chasins, Rastislav Bodik, Sumit Gulwani

Scalable Verification of Border Gateway Protocol Configurations with an SMT Solver
Konstantin Weitz, Doug Woos, Emina Torlak, Michael D. Ernst, Arvind Krishnamurthy, Zachary Tatlock

Banquet @ Beurs van Berlage

Nov 4


Gail Murphy

Onward! Most Notable Paper Award
Guy L. Steele Jr., Robert Hirschfeld

Student Awards
Sam Guyer, Matthew Flatt

[Keynote] A Human View of Programming Languages
Andrew J. Ko

Onward! Papers

Exploring the Role of Sequential Computation in Distributed Systems: Motivating a Programming Paradigm Shift
Ivan Kuraj, Daniel Jackson

Gramada: Immediacy in Programming Language Development
Patrick Rein, Marcel Taeumel, Robert Hirschfeld

Helping Johnny Encrypt: Toward Semantic Interfaces for Cryptographic Frameworks
Soumya Indela, Mukul Kulkarni, Kartik Nayak, Tudor Dumitras

  • Separate security part of code with functionality code
  • Developers for functionality use abstracted calls
  • Developers for security then deals with encapsulated security part with expertise

Leveraging a Corpus of Natural Language Descriptions for Program Similarity
Meital Zilberstein, Eran Yahav

  • Apply NLP techniques to suggest similar codes
    • Dataset from Stack Overflow
    • TF-IDF
  • How effectively does this data-driven approach work?
  • Many remaining challenges to resolve
    • Context (e.g. counterexamples)
    • Partial program

One Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s