Improving Prolog Programs: Refactoring for Prolog

dc.creatorSchrijvers, Tom
dc.creatorSerebrenik, Alexander
dc.date2004-06-16
dc.date.accessioned2026-07-07T03:21:27Z
dc.date.available2026-07-07T03:21:27Z
dc.descriptionRefactoring is an established technique from the OO-community to restructure code: it aims at improving software readability, maintainability and extensibility. Although refactoring is not tied to the OO-paradigm in particular, its ideas have not been applied to Logic Programming until now. This paper applies the ideas of refactoring to Prolog programs. A catalogue is presented listing refactorings classified according to scope. Some of the refactorings have been adapted from the OO-paradigm, while others have been specifically designed for Prolog. Also the discrepancy between intended and operational semantics in Prolog is addressed by some of the refactorings. In addition, ViPReSS, a semi-automatic refactoring browser, is discussed and the experience with applying \vipress to a large Prolog legacy system is reported. Our main conclusion is that refactoring is not only a viable technique in Prolog but also a rather desirable one.
dc.descriptionTo appear in ICLP 2004
dc.identifierhttps://arxiv.org/abs/cs/0406026
dc.identifierhttp://arxiv.org/abs/cs/0406026
dc.identifier.urihttp://salesiana.dossiersoluciones.com/handle/123456789/32198
dc.subjectSoftware Engineering
dc.subjectProgramming Languages
dc.subjectD.2.7; D.1.6
dc.titleImproving Prolog Programs: Refactoring for Prolog
dc.typetext

Files

Collections