GPCE 2018
Mon 5 - Tue 6 November 2018 Boston, Massachusetts, United States
co-located with SPLASH 2018

An issue with the scheduling system prevents the GPCE program from showing the SLE keynote taking place at 8:30am on Tuesday. GPCE attendees are welcome and encouraged to attend!

The ACM SIGPLAN International Conference on Generative Programming: Concepts & Experience (GPCE) is a venue for researchers and practitioners interested in techniques that use program generation, domain-specific languages, and component deployment to increase programmer productivity, improve software quality, and shorten the time-to-market of software products. In addition to exploring cutting-edge techniques of generative software, our goal is to foster further cross-fertilization between the software engineering and the programming languages research communities.

Generative and component approaches and domain-specific abstractions are revolutionizing software development just as automation and componentization revolutionized manufacturing. Raising the level of abstraction in software specification has been a fundamental goal of the computing community for several decades. Key technologies for automating program development and lifting the abstraction level closer to the problem domain are Generative Programming for program synthesis, Domain-Specific Languages (DSLs) for compact problem-oriented programming notations, and corresponding Implementation Technologies aiming at modularity, correctness, reuse, and evolution. As the field matures Applications and Empirical Results are of increasing importance.

Proceedings are available online.

Supporters
Gold Sponsor
Gold Sponsor
Dates
You're viewing the program in a time zone which is different from your device's time zone - change time zone

Mon 5 Nov

Displayed time zone: Guadalajara, Mexico City, Monterrey change

08:30 - 10:00
Keynote: AmarasingheGPCE 2018 at Studio 1
08:30
15m
Talk
Opening
GPCE 2018
Eric Van Wyk University of Minnesota, USA, Tiark Rompf Purdue University, David J. Pearce Victoria University of Wellington, Tanja Mayerhofer TU Wien, Friedrich Steimann Fernuniversität
08:45
75m
Talk
How to Make Sparse FastKeynote
GPCE 2018
10:30 - 12:00
IGPCE 2018 at Studio 2
Chair(s): Shoaib Kamil Adobe
10:30
30m
Talk
A Domain-Specific Language for Exploratory Data Visualization
GPCE 2018
Karl Smeltzer Oregon State University, Martin Erwig Oregon State University
11:00
30m
Talk
A Practical Unification of Multi-Stage Programming and Macros
GPCE 2018
Nicolas Stucki EPFL, Switzerland, Aggelos Biboudis EPFL, Switzerland, Martin Odersky EPFL, Switzerland
11:30
30m
Talk
Rash: From Reckless Interactions to Reliable Programs
GPCE 2018
William G Hatch University of Utah, Matthew Flatt University of Utah
13:30 - 15:00
IIGPCE 2018 at Studio 2
Chair(s): Aggelos Biboudis EPFL, Switzerland
13:30
30m
Talk
Exploring feature interactions without specifications: a controlled experiment
GPCE 2018
Larissa Soares Universidade Federal da Bahia, Jens Meinicke Magdeburg University, Sarah Nadi University of Alberta, Christian Kästner Carnegie Mellon University, Eduardo Santana de Almeida Universidade Federal da Bahia
14:00
30m
Talk
Inferring Ownership Domains From Refinements
GPCE 2018
Ebrahim Khalaj Wayne State University, Marwan Abi-Antoun Wayne State University
14:30
30m
Talk
Implementing a semi-causal domain-specific language for context detection over binary sensors
GPCE 2018
Nic Volanschi Inria Bordeaux, Bernard Serpette Inria, Charles Consel University of Bordeaux
15:30 - 17:00
IIIGPCE 2018 at Studio 2
Chair(s): Sarah Nadi University of Alberta
15:30
30m
Talk
Meta-programming for cross-domain tensor optimizations
GPCE 2018
Adilla Susungi MINES ParisTech, France, Norman A. Rink TU Dresden, Germany, Albert Cohen Google, Jeronimo Castrillon TU Dresden, Germany, Claude Tadonki MINES ParisTech, France
16:00
30m
Talk
Model-based Security Analysis of Feature-oriented Software Product Lines
GPCE 2018
Sven Peldszus University of Koblenz-Landau, Daniel Strüber University of Koblenz-Landau, Germany, Jan Jürjens University of Koblenz-Landau
DOI Pre-print
16:30
30m
Talk
Orchestrating Dynamic Analyses of Distributed Processes for Full-Stack JavaScript Programs
GPCE 2018
Laurent Christophe VUB, Coen De Roover Vrije Universiteit Brussel, Elisa Gonzalez Boix Vrije Universiteit Brussel, Wolfgang De Meuter Vrije Universiteit Brussel

Tue 6 Nov

Displayed time zone: Guadalajara, Mexico City, Monterrey change

10:30 - 12:00
IVGPCE 2018 at Studio 2
Chair(s): Sebastian Erdweg TU Delft
10:30
30m
Talk
Measuring Effectiveness of Sample-based Product-Line Testing
GPCE 2018
Sebastian Ruland , Lars Luthmann TU Darmstadt, Real-time Systems Lab, Johannes Bürdek TU Darmstadt, Real-time Systems Lab, Sascha Lity Technische Universität Braunschweig, Thomas Thüm TU Braunschweig, Germany, Malte Lochau , Márcio Ribeiro Federal University of Alagoas, Brazil
11:00
30m
Talk
Pattern Matching in an Open World
GPCE 2018
Weixin Zhang The University of Hong Kong, Bruno C. d. S. Oliveira The University of Hong Kong
11:30
30m
Talk
Verification of High-Level Transformations with Inductive Refinement Types
GPCE 2018
Ahmad Salim Al-Sibahi Department of Computer Science, University of Copenhagen (DIKU) & BilagScan, Thomas P. Jensen INRIA Rennes, Aleksandar S. Dimovski IT University of Copenhagen, Denmark, Andrzej Wąsowski IT University of Copenhagen, Denmark
13:30 - 15:00
VGPCE 2018 at Studio 2
Chair(s): Tijs van der Storm CWI & University of Groningen
13:30
60m
Talk
TensorFlow AutoGraph: Imperative-Style Coding with Graph-based PerformanceInvited Talk
GPCE 2018
I: Alexander B. Wiltschko Google Brain
14:30
15m
Talk
Funcons for HGMP - The Fundamental Constructs of Homogeneous Generative Meta-Programming (Short paper)
GPCE 2018
L. Thomas van Binsbergen Royal Holloway University of London
14:45
15m
Talk
Explaining Spreadsheets with Spreadsheets (Short Paper)
GPCE 2018
Jácome Cunha University of Minho, Mihai Dan Oregon State University, Martin Erwig Oregon State University, Danila Fedorin Oregon State University, Alex Grejuc Oregon State University
15:30 - 17:00
VIGPCE 2018 at Studio 2
Chair(s): Stefan Marr University of Kent
15:30
30m
Talk
Anomaly Analyses for Feature-Model Evolution
GPCE 2018
Michael Nieke TU Braunschweig, Germany, Jacopo Mauro University of Southern Denmark, Christoph Seidl Technische Universität Braunschweig, Thomas Thüm TU Braunschweig, Germany, Ingrid Chieh Yu University of Oslo, Felix Franzke TU Braunschweig
16:00
30m
Talk
Regenerate: A Language Generator for Extended Regular Expressions
GPCE 2018
Gabriel Radanne University of Freiburg, Peter Thiemann University of Freiburg
DOI Pre-print
16:30
30m
Talk
RT-Trust: Automated Refactoring for Trusted Execution Under Real-Time Constraints
GPCE 2018
Yin Liu Virginia Tech, Kijin An Virginia Tech, Eli Tilevich Virginia Tech

Not scheduled yet

Not scheduled yet
Talk
SLE Keynote: A New Approach for Software Correctness and ReliabilityKeynote
GPCE 2018
Martin C. Rinard Massachusetts Institute of Technology
Not scheduled yet
Talk
Awards
GPCE 2018
Eric Van Wyk University of Minnesota, USA, Tiark Rompf Purdue University, David J. Pearce Victoria University of Wellington, Tanja Mayerhofer TU Wien, Friedrich Steimann Fernuniversität
Not scheduled yet
Dinner
GPCE/SLE Banquet at Stephanie's
GPCE 2018

Call for Papers

The ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences is a programming languages conference focusing on techniques and tools for code generation, language implementation, and product-line development. GPCE seeks conceptual, theoretical, empirical, and technical contributions to its topics of interest, which include but are not limited to

  • program transformation, staging, macro systems, preprocessors, program synthesis, and code-recommendation systems,
  • domain-specific languages, language embedding, language design, and language workbenches,
  • feature-oriented programming, domain engineering, and feature interactions,
  • applications and properties of code generation, language implementation, and product-line development.

Authors are welcome to check with the PC chair whether their planned papers are in scope.

Paper selection

The GPCE program committee will evaluate each submission according to the following selection criteria:

  • Novelty. Papers must present new ideas or evidence and place them appropriately within the context established by previous research in the field.
  • Significance. The results in the paper must have the potential to add to the state of the art or practice in significant ways.
  • Evidence. The paper must present evidence supporting its claims. Examples of evidence include formalizations and proofs, implemented systems, experimental results, statistical analyses, and case studies.
  • Clarity. The paper must present its contributions and results clearly.

Paper categories

GPCE solicits three kinds of submissions.

  • Full Papers reporting original and unpublished results of research that contribute to scientific knowledge in any GPCE topic listed above. Full paper submissions must not exceed 12 pages excluding bibliography.

  • Short Papers presenting unconventional ideas or visions about any GPCE topic listed above. Short papers do not always require complete results as in the case of a full paper. In this way, authors can introduce new ideas to the community and get early feedback. Please note that short papers are not intended to be position statements. Short papers are included in the proceedings and will be presented at the conference. Short paper submissions must not exceed 6 pages excluding bibliography.

  • Tool Demonstrations presenting tools for any GPCE topic listed above. Tools must be available for use and must not be purely commercial. Submissions must provide a tool description not exceeding 6 pages excluding bibliography and a separate demonstration outline including screenshots also not exceeding 6 pages. Tool demonstrations must have the keywords “Tool Demo” or “Tool Demonstration” in their title. If the submission is accepted, the tool description will be published in the proceedings. The demonstration outline will only be used by the program committee for evaluating the submission.

Paper submission

All submissions must use the ACM SIGPLAN Conference Format “acmart”. Please be sure to use the latest LaTeX templates and class files. the sigplan sub-format, and 10 point font. Consult the sample-sigplan.tex template and use the document-class \documentclass[sigplan,anonymous,review]{acmart}.

To increase fairness in reviewing, a double-blind review process has become standard across SIGPLAN conferences. GPCE will follow a very lightweight model, where author identities are revealed to reviewers after submitting their initial reviews. Hence, the purpose is not to conceal author identities at all cost, but merely to provide reviewers with an unbiased first look at a submission. Author names and institutions should be omitted from submitted papers, and references to the authors’ own related work should be in the third person. No other changes are necessary, and authors will not be penalized if reviewers are able to infer their identities in implicit ways.

Papers must be submitted using HotCRP: https://gpce18.hotcrp.com/

For additional information, clarification, or answers to questions please contact the program chair.

Authors take note

The official publication date is the date the proceedings are made available in the ACM Digital Library. Papers must describe work not currently submitted for publication elsewhere as described by the SIGPLAN Republication Policy. Authors should also be aware of the ACM Policy on Plagiarism.

Contributed Research Papers

Title
A Domain-Specific Language for Exploratory Data Visualization
GPCE 2018
A Practical Unification of Multi-Stage Programming and Macros
GPCE 2018
Anomaly Analyses for Feature-Model Evolution
GPCE 2018
Awards
GPCE 2018
Explaining Spreadsheets with Spreadsheets (Short Paper)
GPCE 2018
Exploring feature interactions without specifications: a controlled experiment
GPCE 2018
Funcons for HGMP - The Fundamental Constructs of Homogeneous Generative Meta-Programming (Short paper)
GPCE 2018
GPCE/SLE Banquet at Stephanie's
GPCE 2018

How to Make Sparse FastKeynote
GPCE 2018
Implementing a semi-causal domain-specific language for context detection over binary sensors
GPCE 2018
Inferring Ownership Domains From Refinements
GPCE 2018
Measuring Effectiveness of Sample-based Product-Line Testing
GPCE 2018
Meta-programming for cross-domain tensor optimizations
GPCE 2018
Model-based Security Analysis of Feature-oriented Software Product Lines
GPCE 2018
DOI Pre-print
Opening
GPCE 2018
Orchestrating Dynamic Analyses of Distributed Processes for Full-Stack JavaScript Programs
GPCE 2018
Pattern Matching in an Open World
GPCE 2018
RT-Trust: Automated Refactoring for Trusted Execution Under Real-Time Constraints
GPCE 2018
Rash: From Reckless Interactions to Reliable Programs
GPCE 2018
Regenerate: A Language Generator for Extended Regular Expressions
GPCE 2018
DOI Pre-print
SLE Keynote: A New Approach for Software Correctness and ReliabilityKeynote
GPCE 2018
Verification of High-Level Transformations with Inductive Refinement Types
GPCE 2018

How to Make Sparse Fast

Saman Amarasinghe

Abstract

Achieving high performance is no easy task. When it comes to program operating on sparse data, where there is very little hardware, language or compiler support, getting high performance is nearly impossible. As important modern applications such as data analytics and simulations operate on sparse data, lack of performance is becoming a critical issue. Achieving high performance was so important from the early days of computing, many researchers have spent their lifetime trying to extract more FLOPS out of critical codes. Hardcore performance engineers try to get to this performance nirvana single handedly without any help from languages, compilers or tools. In this talk, using two examples, TACO and GraphIt, I’ll argue that domain specific languages and compiler technology can reduce most of the performance optimization burden even in a very difficult domain such as sparse computations.

TACO is an optimizing code generator for linear and tensor algebra. TACO introduces a new technique for compiling compound tensor algebra expressions into efficient loops. TACO-generated code has competitive performance to best-in-class hand-written codes for tensor and matrix operations.

GraphIt is a DSL and compiler for high-performance graph computing. GraphIt separates algorithm, schedule and physical data layout, providing the programmer with the ultimate control over optimization. GraphIt outperforms the state-of-the-art libraries and DLSs up to 2.4× on scale-free graphs and 4.7× on road graphs.

Bio

Saman P. Amarasinghe is a Professor and Associate Department Head in the Department of Electrical Engineering and Computer Science at Massachusetts Institute of Technology and a member of the Computer Science and Artificial Intelligence Laboratory (CSAIL) where he leads the Commit compiler group. Under Saman’s guidance, the Commit group developed the StreamIt, PetaBricks, StreamJIT, Halide, Simit, MILK and GraphIt programming languages and compilers, DynamoRIO dynamic instrumentation system, Superword level parallelism for SIMD vectorization, Program Shepherding to protect programs against external attacks, the OpenTuner extendable autotuner, and the Kendo deterministic execution system. He was the co-leader of the Raw architecture project. His research interests are in discovering novel approaches to improve the performance of modern computer systems without unduly increasing the complexity faced by the end users, application developers, compiler writers, or computer architects. Saman was the founder of Determina Corporation, which was acquired by VMware, and a co-founder of Lanka Internet Services Ltd. Saman received his BS in Electrical Engineering and Computer Science from Cornell University in 1988, and his MSEE and Ph.D from Stanford University in 1990 and 1997, respectively.