Rapid Refactoring Engine Development Using Ludwig, Eclipse, and the LTK

Jeffrey Overbey

Technology Talks · Long
Thursday, 10:00, 50 minutes | Silchersaal


One ongoing research topic at the University of Illinois addresses language-independent techniques for rapidly building refactoring engines. We will describe how the results of this research complement the Eclipse platform and the Eclipse Language Toolkit (LTK), collectively providing a powerful framework for building production-quality refactoring tools in remarkably little time.

As a proof of concept, over the course of the talk, we will develop an Eclipse-based refactoring tool for a toy language, starting from scratch.

We will begin by using a tool called Ludwig to generate much of the language-specific refactoring infrastructure -- including a parser and rewritable abstract syntax tree -- from an annotated grammar. We will illustrate how grammars are annotated with an abstract syntax specification, and then show how to develop source code transformations using the generated infrastructure. Finally, we will integrate these transformations into Eclipse, contributing actions to an appropriate editor and using the LTK to construct a GUI and provide Undo support.

To conclude, we will describe our experience using this framework to develop the refactoring engine in Photran, the Eclipse feature supporting Fortran development. We will also discuss future work and describe some possible points for collaboration with other Eclipse developers.

Jeff Overbey (http://jeff.over.bz) is a PhD student at the University of Illinois at Urbana-Champaign. He is the developer of Ludwig and a committer on Photran, the Eclipse Technology project providing an IDE and refactoring support for Fortran.

towerbyte logo

brox logo

geensys logo

in2solutions logo


ericsson logo

ilog logo

BIRT-Exchange logo

froglogic logo

innovations logo

exxcellent logo

windriver logo

google logo

Software & Support logo

adacore logo

bredex logo

sopera logo

microdoc logo

OSGi Users Forum logo

versant logo

Methods & Tools logo

instantiations logo

inovex logo

compeople logo

bluage logo

siemens logo

itemis logo

adacore logo

Obeo logo

sap logo

innoopract logo

amd logo

symbian logo

open-xchange logo

united-internet logo

ww-im logo

cloudsmith logo

anyware logo

report a problem with this page