SPLASH 2014
Mon 20 - Fri 24 October 2014 Portland, Oregon, United States
Thu 23 Oct 2014 15:52 - 16:15 at Salon F - Compilation Tools Chair(s): Robert Grimm

The efficiency of a build system is an important enabler of the productivity of software developers. As a result, developer teams have been adopting build systems that allow them to maximize build parallelization. However, migrating the existing legacy build scripts to new build systems is tedious and error-prone. Yet, there has been no prior work that automate migration of build scripts.

This paper proposes the first approach for migrating legacy build scripts to new build systems. Our approach works in two phases. In the first phase, from a set of build execution traces, we synthesize build scripts that accurately capture the intent of the original build. However, the synthesized build scripts are typically long and hard to maintain. In the second phase, we apply refactorings that raise the level of abstraction of the synthesized scripts (e.g., extracting common code). As the application order of refactorings may lead to different build scripts, we use a search-based approach that explores various refactoring sequences to identify the best (e.g., shortest) build script. We optimize search-based refactoring with state matching and partial-order reduction to explore more sequences in the same amount of time. We implemented the proposed two-phase migration approach in a tool, called Metamorphosis, which has recently been used within Microsoft.

Thu 23 Oct

Displayed time zone: Tijuana, Baja California change

15:30 - 17:00
Compilation ToolsOOPSLA at Salon F
Chair(s): Robert Grimm Goldman Sachs
15:30
22m
Talk
Adaptive LL(*) Parsing: The Power of Dynamic Analysis
OOPSLA
Terence Parr University of San Francisco, Sam Harwell University of Texas at Austin, Kathleen Fisher Tufts University
Link to publication File Attached
15:52
22m
Talk
Automated Migration of Build Scripts using Dynamic Analysis and Search-Based Refactoring
OOPSLA
Milos Gligoric University of Illinois at Urbana-Champaign, Wolfram Schulte Microsoft, Chandra Prasad Microsoft, Danny van Velzen Microsoft, Iman Narasamdya Microsoft, Ben Livshits Microsoft Research
Link to publication
16:15
22m
Talk
Mix10: Compiling MATLAB to X10 for High Performance
OOPSLA
Vineet Kumar , Laurie Hendren McGill University
Link to publication
16:37
22m
Talk
Staged Parser Combinators for Efficient Data Processing
OOPSLA
Manohar Jonnalagedda EPFL, Switzerland, Thierry Coppey EPFL, Switzerland; Google, Sandro Stucki EPFL, Switzerland, Tiark Rompf Purdue & Oracle Labs, Martin Odersky Ecole Polytechnique Federale de Lausanne
Link to publication