Wed 28 Oct 2015 10:52 - 11:15 at Grand Station 2 - 2. Domain Specific Languages Chair(s): Eelco Visser

Build systems are used in all but the smallest software projects to invoke the right build tools on the right files in the right order. A build system must be sound (after a build, generated files consistently reflect the latest source files) and efficient (recheck and rebuild as few build units as possible). Contemporary build systems provide limited efficiency because they lack support for expressing fine-grained file dependencies. We present a build system called pluto that supports the definition of reusable, parameterized, interconnected builders. When run, a builder notifies the build system about dynamically required and produced files as well as about other builders whose results are needed. To support fine-grained file dependencies, we generalize the traditional notion of time stamps to allow builders to declare their actual requirements on a file’s content. pluto collects the requirements and products of a builder with their stamps in a build summary. This enables pluto to provides provably sound and optimal incremental rebuilding. To support dynamic dependencies, our rebuild algorithm interleaves dependency analysis and builder execution and enforces invariants on the dependency graph through a dynamic analysis. We have developed pluto as a Java API and used it to implement more than 25 builders. We describe our experience with migrating a larger Ant build script to pluto and compare the respective build times.

Wed 28 Oct

Displayed time zone: Eastern Time (US & Canada) change

10:30 - 12:00
2. Domain Specific LanguagesOOPSLA at Grand Station 2
Chair(s): Eelco Visser Delft University of Technology
10:30
22m
Talk
Synthesis of Layout Engines from Relational Constraints
OOPSLA
Thibaud Hottelier Graphistry, Inc, Rastislav Bodík University of Washington, USA
Link to publication Media Attached
10:52
22m
Talk
A Sound and Optimal Incremental Build System with Dynamic DependenciesOOPSLA Artifact
OOPSLA
Sebastian Erdweg TU Darmstadt, Germany, Moritz Lichter TU Darmstadt, Germany, Manuel Weiel TU Darmstadt, Germany
Link to publication Media Attached
11:15
22m
Talk
FlashMeta: A Framework for Inductive Program Synthesis
OOPSLA
Alex Polozov University of Washington, USA, Sumit Gulwani Microsoft Research, USA
Link to publication DOI Media Attached
11:37
22m
Talk
Scrap your Boilerplate with Object AlgebrasOOPSLA Artifact
OOPSLA
Haoyuan Zhang University of Hong Kong, China, Zewei Chu University of Hong Kong, China, Bruno C. d. S. Oliveira University of Hong Kong, China, Tijs van der Storm CWI
Link to publication Media Attached