Write a Blog >>
PEPM 2017
Mon 16 - Tue 17 January 2017
co-located with POPL 2017
Mon 16 Jan 2017 16:30 - 17:00 at Salle 109, Barre 44-54 - Transformation (part I) Chair(s): Chung-chieh Shan

Data representation migration is a program transformation that involves changing the type of a particular data structure, and then updating all of the operations that somehow depend on that data structure. Changing the data representation can provide benefits such as improving efficiency and improving the quality of the computed results. Performing such a transformation is challenging because it requires applying data-type specific changes to code fragments that may be widely scattered throughout the source code connected by data flow dependencies. Refactoring systems are typically sensitive to data flow dependencies but are not programmable with respect to the features of particular data types. Existing program transformation languages provide the needed flexibility, but do not concisely support reasoning about data flow dependencies. To address the needs of data representation migration, we propose a new approach to program transformation that relies on a notion of semantic dependency: every transformation step propagates the transformation process onward to code that somehow depends on the transformed code. Our approach provides a declarative transformation specification language, for expressing type-specific transformation rules. We further provide scoped rules, a mechanism for guiding rule application, and tags, a device for simple program analysis within our framework, to enable more powerful program transformations. We have implemented a prototype transformation system based on these ideas for C and C++ code and evaluate it against three example specifications, including vectorization, a transformation of integers to big integers, and transformation of array-of-structs data types to struct-of-arrays format. Our evaluation shows that our approach can improve program performance and the precision of the computed results, and that it scales to programs of up to 3700 lines.

Mon 16 Jan

pepm-workshop
16:00 - 17:00: PEPM 2017 - Transformation (part I) at Salle 109, Barre 44-54
Chair(s): Chung-chieh ShanIndiana University, USA
pepm-workshop16:00 - 16:30
Talk
Takashi SuwaUniversity of Tokyo, Japan, Takeshi TsukadaUniversity of Tokyo, Japan, Naoki KobayashiUniversity of Tokyo, Japan, Atsushi IgarashiKyoto University
pepm-workshop16:30 - 17:00
Talk
Krishna NarasimhanGoethe University, Julia LawallInria/LIP6, Christoph ReichenbachGoethe University