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)
Opening
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
- Assistant professor at Purdue University
- Runtime code generation, advanced compiler technology, and associated language support
- CS590: Metaprogramming and Program Generation
- 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
- Sparrow decks
- Train intuition
- Sparrow decks
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 ★
- Martin Erwig
- Eric Walkingshaw
- Quorum (Evidence-oriented programming language, check)
- 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
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)
Opening
[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
- Time cost reduced by 30%
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
- Undergraduate courses
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
Synthesizing Regular Expressions from Examples for Introductory Automata Assignments
Mina Lee, Sunbeom So, Hakjoo Oh
Dinner & Drink @ Delirium Café Amsterdam
Nov 3
OOPSLA Awards
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
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
SPLASH 2017
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
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
Leave a Reply