Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Towards Generic Refactoring
[go: Go Back, main page]

Towards Generic Refactoring

Author
Ralf Lämmel

Abstract
We define a challenging and meaningful benchmark for genericity in language processing, namely the notion of generic program refactoring. We provide the first implementation of the benchmark based on functional strategic programming in Haskell. We use the basic refactoring of abstraction extraction as the running example. Our implementation comes as a functional programming framework with hot spots for the language-specific ingredients for refactoring, e.g., means for abstraction construction and destruction, and recognisers for name analysis. The language-parametric framework can be instantiated for various, rather different languages, e.g., Java, Prolog, Haskell, or XML schema.

\category{D.3.1}{Programming Languages}{Formal Definitions and Theory} \category{D.3.4}{Programming Languages}{Processors} \category{D.2.7}{Software Engineering}{Distribution, Maintenance, and Enhancement} \category{D.2.13}{Software Engineering}{Reusable Software}

\keywords{ Refactoring, Program transformation, Reuse, Generic programming, Frameworks, Functional programming, Strafunski}

Bibtex entry
@inproceedings{Laemmel02-TGR,
 author = "Ralf L{\"a}mmel",
 title = "{Towards Generic Refactoring}",
 booktitle = "{Proc.\ of Third ACM SIGPLAN Workshop on Rule-Based Programming RULE'02}",
 publisher = "ACM Press",
 address = "Pittsburgh, USA",
 year = 2002,
 month = oct # 5,
 note = {14 pages}
}

Links