Title :
A formal pattern language for refactoring of Lisp programs
Author_Institution :
Instituto Superior Tecnico, Instituto Superior Tecnico, Lisbon
Abstract :
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 operations. Pattern languages exist that describe several techniques to refactor a program. However, they are usually described at a very abstract level that is understandable only by a human programmer and that is hard to implement in refactoring tools. We present a formal pattern language that solves these problems. The pattern language is used to define refactoring operations that can be as powerful as is computationally possible but that are very, easy to write. The language simplicity also allows for the automatic learning of new refactoring operations from the observation of manual code transformations
Keywords :
LISP; formal languages; software maintenance; systems re-engineering; Lisp programs; formal pattern language; legacy systems restructuring; manual code transformations; pattern languages; programming language expressiveness; refactoring operations; refactoring tools; restructured programs; Computer errors; Computer languages; Documentation; Humans; Impedance; Manuals; Natural languages; Programming profession; Software maintenance;
Conference_Titel :
Software Maintenance and Reengineering, 2002. Proceedings. Sixth European Conference on
Conference_Location :
Budapest
Print_ISBN :
0-7695-1438-3
DOI :
10.1109/CSMR.2002.995803