Generative Programming: Concepts and Experiences

October 26, 2013

FOSD Workshop

October 27, 2013

Opening and Keynote Address
  • 08:30-08:40 Welcome and Introduction
  • 08:40-10:00 Don Batory. Dark Knowledge and Graph Grammars in Automated Software Design
Session 1: Extensible and Domain-Specific Languages (Session Chair: Eelco Visser)
  • 10:30-10:40 PC Chair's Welcome
  • 10:40-11:05 Sebastian Erdweg, Felix Rieger. A Framework for Extensible Languages
  • 11:05-11:30 Matthew Flatt. Submodules in Racket: You Want it When, Again? -- Best Paper Award
  • 11:30-11:55 Robert Dyer, Hridesh Rajan, Tien Nguyen. Declarative Visitors to Ease Fine-grained Source Code Mining with Full History on Billions of AST Nodes
Session 2: Programming Languages (Session Chair: Matthew Flatt)
  • 13:30-13:55 Yuriy Solodkyy, Gabriel Dos Reis, Bjarne Stroustrup. Open Pattern Matching for C++
  • 13:55-14:20 Marko Martin, Mira Mezini, Sebastian Erdweg. Template Constructors for Reusable Object Initialization
  • 14:20-14:45 Julien Richard-Foy, Olivier Barais, Jean-Marc Jézéquel. Efficient High-Level Abstractions for Web Programming
  • 14:45-15:00 Prodromos Gerakios, Aggelos Biboudis, Yannis Smaragdakis. Reified Type Parameters Using Java Annotations
Session 3: Product-Line Implementation (Session Chair: Julia Lawall)
  • 15:30-15:55 Sandro Schulze, Jörg Liebig, Janet Siegmund, Sven Apel. Does the Discipline of Preprocessor Annotations Matter? A Controlled Experiment
  • 15:55-16:20 Flávio Medeiros, Márcio Ribeiro, Rohit Gheyi. Investigating Preprocessor-Based Syntax Errors
  • 16:20-16:45 Dean Kramer, Samia Oussena, Tony Clark, Peter Komisarczuk. Using Document-Oriented GUIs in Dynamic Software Product Lines

Reception, joint with SLE and SPLASH workshops

October 28, 2013

Keynote Address
  • 08:30-10:00 Ras Bodik. Modeling Biology with Solver-Aided Programming Languages
Session 4: Analysis (Session Chair: Jan Vitek)
  • 10:30-10:55 Norbert Siegmund, Alexander von Rhein, Sven Apel. Family-Based Performance Measurement
  • 10:55-11:20 Lukas Marek, Stephen Kell, Yudi Zheng, Lubomír Bulej, Petr Tuma, Walter Binder, Danilo Ansaloni, Aibek Sarimbekov, Andreas Sewe. ShadowVM: Robust and Comprehensive Dynamic Program Analysis for the Java Platform
  • 11:20-11:45 Sergiy Kolesnikov, Alexander von Rhein, Claus Hunsen, Sven Apel. A Comparison of Product-based, Feature-based, and Family-based Type Checking
Session 5: Staging and Synthesis (Session Chair: Sebastian Erdweg)
  • 13:30-13:55 Georg Ofenbeck, Tiark Rompf, Alen Stojanov, Martin Odersky, Markus Püschel. Spiral in Scala: Towards the Systematic Construction of Generators for Performance Libraries
  • 13:55-14:20 Peter Chapin, Christian Skalka, Scott Smith, Michael Watson. Scalaness/nesT: Type Specialized Staged Programming for Sensor Networks
  • 14:20-14:45 Arvind Sujeeth, Austin Gibbons, Kevin Brown, Hyoukjoong Lee, Tiark Rompf, Martin Odersky, Kunle Olukotun. Forge: Generating a High Performance DSL Implementation from a Declarative Specification -- Best Presentation Award
  • 14:45-15:00 Darya Kurilova, Derek Rayside. On the Simplicity of Synthesizing Linked Data Structure Operations
Session 6: Industrial Applications (Session Chair: Yannis Smaragdakis)
  • 15:30-15:55 Deepak Dhungana, Andreas Falkner, Alois Haselboeck. Generation of Conjoint Domain Models for System-of-Systems
  • 15:55-16:20 Fábio Basso, Raquel Pillat. Supporting Large Scale Model Transformation Reuse
  • 16:20-16:35 Kyoungho An, Takayuki Kuroda, Aniruddha Gokhale, Sumant Tambe, Andrea Sorbini. Model-driven Generative Framework for Automated OMG DDS Performance Testing in the Cloud