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

15:30 - 17:00: OOPSLA - Compilation Tools at Salon F
Chair(s): Robert GrimmGoldman Sachs
oopsla2014141407100000015:30 - 15:52
Terence ParrUniversity of San Francisco, Sam HarwellUniversity of Texas at Austin, Kathleen FisherTufts University
Link to publication File Attached
oopsla2014141407235000015:52 - 16:15
Milos GligoricUniversity of Illinois at Urbana-Champaign, Wolfram SchulteMicrosoft, Chandra PrasadMicrosoft, Danny van VelzenMicrosoft, Iman NarasamdyaMicrosoft, Ben LivshitsMicrosoft Research
Link to publication
oopsla2014141407370000016:15 - 16:37
Vineet Kumar, Laurie HendrenMcGill University
Link to publication
oopsla2014141407505000016:37 - 17:00
Manohar JonnalageddaEPFL, Switzerland, Thierry CoppeyEPFL, Switzerland; Google, Sandro StuckiEPFL, Switzerland, Tiark RompfPurdue & Oracle Labs, Martin OderskyEcole Polytechnique Federale de Lausanne
Link to publication