Programming Languages

Integrated Environment for Uroboro Refactorings

Implement an editor for Uroboro that supports some features of an integrated development environment. In particular, we want to support experimentation with various refactorings based on program transformations that we are developing as part of the Uroboro project.

Eventually, users of the editor should be able to apply a series of refactorings, then go back and change their order or change the input to the composite refactoring, or explore alternatives for some of the refactoring steps. Since some refactorings are invertible, we also consider letting users edit the result of refactoring and automatically updating the input of refactoring. The focus of this thesis project is not about implementing the refactorings itself, but about an effective presentation of the refactoring options in the editor’s user interface.

This thesis project can be adapted to be suitable for Bachelor or Master students. As a Bachelor thesis project, the focus would be on the implementation of basic features (syntax highlighting, annotation of type errors as reported by the existing Uroboro implementation, …) and simple support for refactoring. As a Master thesis project, we additionally expect a contribution about the user interface to refactorings as described above.

Further Information


Tillmann Rendel