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.