GPCE 2018 - 17th International Conference on Generative Programming: Concepts & Experiences
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.
Mon 5 NovDisplayed time zone: Guadalajara, Mexico City, Monterrey change
08:30 - 10:00 | |||
08:30 15mTalk | 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 75mTalk | How to Make Sparse FastKeynote GPCE 2018 |
10:30 - 12:00 | |||
10:30 30mTalk | A Domain-Specific Language for Exploratory Data Visualization GPCE 2018 | ||
11:00 30mTalk | 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 30mTalk | Rash: From Reckless Interactions to Reliable Programs GPCE 2018 |
13:30 - 15:00 | |||
13:30 30mTalk | 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 30mTalk | Inferring Ownership Domains From Refinements GPCE 2018 | ||
14:30 30mTalk | Implementing a semi-causal domain-specific language for context detection over binary sensors GPCE 2018 |
15:30 - 17:00 | |||
15:30 30mTalk | 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 30mTalk | 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 30mTalk | 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 NovDisplayed time zone: Guadalajara, Mexico City, Monterrey change
10:30 - 12:00 | |||
10:30 30mTalk | 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 University of Ulm, Malte Lochau , Márcio Ribeiro Federal University of Alagoas, Brazil | ||
11:00 30mTalk | Pattern Matching in an Open World GPCE 2018 | ||
11:30 30mTalk | 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 | |||
13:30 60mTalk | TensorFlow AutoGraph: Imperative-Style Coding with Graph-based PerformanceInvited Talk GPCE 2018 | ||
14:30 15mTalk | 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 15mTalk | 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 | |||
15:30 30mTalk | 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 University of Ulm, Ingrid Chieh Yu University of Oslo, Felix Franzke TU Braunschweig | ||
16:00 30mTalk | Regenerate: A Language Generator for Extended Regular Expressions GPCE 2018 DOI Pre-print | ||
16:30 30mTalk | RT-Trust: Automated Refactoring for Trusted Execution Under Real-Time Constraints GPCE 2018 |
Unscheduled Events
Not scheduled Talk | SLE Keynote: A New Approach for Software Correctness and ReliabilityKeynote GPCE 2018 Martin C. Rinard Massachusetts Institute of Technology | ||
Not scheduled 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 Dinner | GPCE/SLE Banquet at Stephanie's GPCE 2018 |
Contributed Research Papers
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.
Invited Talk
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.