• DocumentCode
    2417564
  • Title

    A formal pattern language for refactoring of Lisp programs

  • Author

    Leitdo, A.M.

  • Author_Institution
    Instituto Superior Tecnico, Instituto Superior Tecnico, Lisbon
  • fYear
    2002
  • fDate
    2002
  • Firstpage
    186
  • Lastpage
    192
  • 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;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance and Reengineering, 2002. Proceedings. Sixth European Conference on
  • Conference_Location
    Budapest
  • ISSN
    1534-5351
  • Print_ISBN
    0-7695-1438-3
  • Type

    conf

  • DOI
    10.1109/CSMR.2002.995803
  • Filename
    995803