Improving Prolog programs: Refactoring for Prolog
| dc.creator | Serebrenik, Alexander | |
| dc.creator | Schrijvers, Tom | |
| dc.creator | Demoen, Bart | |
| dc.date | 2007-02-14 | |
| dc.date.accessioned | 2026-07-07T07:47:01Z | |
| dc.date.available | 2026-07-07T07:47:01Z | |
| dc.description | Refactoring is an established technique from the object-oriented (OO) programming 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. The discrepancy between intended and operational semantics in Prolog is also 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. The main conclusion is that refactoring is both a viable technique in Prolog and a rather desirable one. | |
| dc.description | To appear in Theory and Practice of Logic Programming (TPLP) | |
| dc.identifier | https://arxiv.org/abs/cs/0702083 | |
| dc.identifier | http://arxiv.org/abs/cs/0702083 | |
| dc.identifier.uri | http://salesiana.dossiersoluciones.com/handle/123456789/124024 | |
| dc.subject | Software Engineering | |
| dc.subject | D.2.7; D.1.6 | |
| dc.title | Improving Prolog programs: Refactoring for Prolog | |
| dc.type | text |