Refactoring Logic Programs: Extended Abstract

Program changes take up a substantial part of the entire programming effort. Often a preliminary step of improving the design without altering the external behaviour can be recommended. This is the idea behind refactoring, a source-to-source program transformation that recently came to prominence in the OO-community [1]. Unlike the existing results on automated program transformation, refactoring does not aim at transforming the program entirely automatically. The decision on whether the transformation should be applied and how it should be done is left to the program developer. However, providing automated support for refactoring is useful and an important challenge.

[1]  Tom Mens,et al.  Identifying refactoring opportunities using logic meta programming , 2003, Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings..

[2]  Paul Tarau,et al.  Fluents: A Refactoring of Prolog for Uniform Reflection an Interoperation with External Objects , 2000, Computational Logic.

[3]  Joachim Schimpf Logical Loops , 2002, ICLP.

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

[5]  Martin Fowler,et al.  Refactoring - Improving the Design of Existing Code , 1999, Addison Wesley object technology series.