A Formal Pattern Language for Refactoring of Lisp Programs

Refactoring tools are extremely important to prevent errors in legacy systems restructuring. Unfortunately, to be effective, these tools require huge computer resources that cause unacceptable inefficiencies or limit the size of the restructured programs or even the programming language expressiveness. Previous approaches also made it difficult for the programmer to extend the tool with new refactoring op-

[1]  David Gries,et al.  Specification and Transformation of Programs: A Formal Approach to Software Development , 1990 .

[2]  William G. Griswold,et al.  Computer-aided vs. manual program restructuring , 1992, SOEN.

[3]  Fábio Bauermann Leitão UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA DE PRODUÇÃO DESENVOLVIMENTO E AVALIAÇÃO DE UMA FERRAMENTA COMPUTACIONAL MULTIMEIOS UTILIZADA NO AUXÍLIO AO APRENDIZADO DE PROJETOS DE EXPERIMENTOS BÁSICOS , 2000 .

[4]  Ralph E. Johnson,et al.  A Refactoring Tool for Smalltalk , 1997, Theory Pract. Object Syst..

[5]  Cristina Cifuentes,et al.  A Methodology for Decompilation , 1993 .

[6]  Ralph E. Johnson,et al.  Refactoring and Aggregation , 1993, ISOTAS.

[7]  Robert S. Arnold Tutorial on software restructuring , 1986 .

[8]  R. Kent Dybvig,et al.  Revised5 Report on the Algorithmic Language Scheme , 1986, SIGP.

[9]  William G. Griswold Program restructuring as an aid to software maintenance , 1992 .

[10]  Sonya E. Keene,et al.  Object-oriented programming in COMMON LISP - a programmer's guide to CLOS , 1989 .

[11]  Ansgar Radermacher,et al.  Support for Design Patterns Through Graph Transformation Tools , 1999, AGTIVE.

[12]  Stéphane Ducasse,et al.  A Pattern Language for Reverse Engineering , 1999, EuroPLoP.

[13]  Peter Norvig,et al.  Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp , 1991 .

[14]  Albert Zündorf,et al.  Rewriting poor Design Patterns by good Design Patterns , 1997 .

[15]  William F. Opdyke,et al.  Refactoring object-oriented frameworks , 1992 .

[16]  James H. Cross,et al.  Reverse engineering and design recovery: a taxonomy , 1990, IEEE Software.

[17]  Alan Bawden,et al.  Quasiquotation in Lisp , 1999, PEPM.

[18]  W. Rapaport,et al.  The SNePS family , 1992 .

[19]  John David Morgenthaler,et al.  Static analysis for a software transformation tool , 1998 .