Proceedings of the 28th International Conference on Software Engineering 2006
DOI: 10.1145/1134285.1134311
|View full text |Cite
|
Sign up to set email alerts
|

JunGL

Abstract: Refactorings are behaviour-preserving program transformations, typically for improving the structure of existing code. A few of these transformations have been mechanised in interactive development environments. Many more refactorings have been proposed, and it would be desirable for programmers to script their own refactorings. Implementing such source-to-source transformations, however, is quite complex: even the most sophisticated development environments contain significant bugs in their refactoring tools.… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
3
0

Year Published

2006
2006
2020
2020

Publication Types

Select...
6
2

Relationship

0
8

Authors

Journals

citations
Cited by 76 publications
(3 citation statements)
references
References 39 publications
0
3
0
Order By: Relevance
“…Some of these define the entire code transformation logic including term-level rewriting, while some only offer a formalism for composing atomic steps in a convenient way. Leitdo [9] gives an executable, rewritebased refactoring language with expressive patterns, Verbaere [21] proposes a compact, representationlevel formalism for executable definitions. These formalisms are expressive and language-independent, but at this generality they cannot support correctness checks for refactoring definitions.…”
Section: Transformation Definitionmentioning
confidence: 99%
“…Some of these define the entire code transformation logic including term-level rewriting, while some only offer a formalism for composing atomic steps in a convenient way. Leitdo [9] gives an executable, rewritebased refactoring language with expressive patterns, Verbaere [21] proposes a compact, representationlevel formalism for executable definitions. These formalisms are expressive and language-independent, but at this generality they cannot support correctness checks for refactoring definitions.…”
Section: Transformation Definitionmentioning
confidence: 99%
“…Padioleau et al [16] propose a transformation language incorporating semantic conditions into the textual patterns; however, they use it for specifying patches rather than refactorings. Verbaere [23] proposes a compact, representation-level formalism for executable definitions; it is language-independent, but does not give support for verifying the correctness of refactorings. For Erlang, our previous work [2] drafts a refactoring language, solely focusing on simplicity and interpretability.…”
Section: Related Workmentioning
confidence: 99%
“…Early work in this area was done by Darlington and Burstall, concerning transformations to improve the performance of functional programs [5]. More recent systems include Stratego [30], TXL [11], and JunGL [29]. Stratego is a transformation system based on the paradigm of rewriting rules and strategies to control the process of transforming the program code.…”
Section: Object-oriented Refactoring Toolsmentioning
confidence: 99%