Improving And Customizing Data-flowTransformationsForObject-OrientedPrograms

Stc
Date: 2006-11-29

Time: 15.30

Room: BBL room 509

Speaker: Bogdan Dumitriu

Title: Improving and Customizing Data-flow Transformations for Object-Oriented Programs

(masters' thesis defense)

Abstract

Stratego's dynamic rule library provides a number of strategies that help users write data-flow transformations more easily. But the library only provides support for dealing with control flow that is sequential. This means that statements like break, continue or throw (of an exception) have to be handled without any aid from the library. To fix this, we have created a number of strategies that offer support for such non-sequential control flow and we begin by presenting them.

The next topic of our presentation will be the implementation of pointer analysis in Stratego. We explain why this was necessary, how it has been done and how its results can be used in data-flow transformations.

We end by discussing a sample transformation that we have implemented in order to experiment with the concept of customizable transformations. The transformation works by using information provided by the users in the form of method annotations in order to (1) propagate custom typestate through a program and (2) perform certain user-defined actions, if given preconditions are met.