Personal tools
You are here: Home Projects JunGL
Document Actions

JunGL: a Scripting Language for Refactoring

JunGL is a domain-specific language to script refactoring transformations. It is being designed to enable developers and tool authors to easily, correctly implement refactoring support for any language.

JunGL is a hybrid of a functional language in the style of ML and a logic query language akin to Datalog. It manipulates a graph data structure that represents all information about a program including ASTs, variable binding, control flow and dataflow. It has a notion of demand-driven evaluation for constructing edges of the graph, and allows powerful path queries to be run over the program.

All logical constructs translate to a variant of Datalog that works on duplicate-free sequences rather than sets, with the rationale to present logical matches in a meaningful deterministic order.

Resources

JunGL: a Scripting Language for Refactoring (ICSE 2006)

Type-based Refactoring using JunGL (Arnaud's MSc thesis - September 2006)

Scripting Refactorings with JunGL (OOPSLA 2006 - poster)

Designers

Mathieu Verbaere, Ran Ettinger and Oege de Moor

Contributors

Arnaud Payement: Type-based refactoring


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: