Title
Improving prolog programs: Refactoring for prolog
Abstract
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.
Year
DOI
Venue
2007
10.1017/S1471068407003134
Theory and Practice of Logic Programming
Keywords
DocType
Volume
software readability,programming community,prolog program,logic programming,large prolog legacy system,semi-automatic refactoring browser,operational semantics,main conclusion,viable technique,established technique,improving prolog program,object oriented,software engineering,programming language,legacy system
Journal
8
Issue
ISSN
Citations 
2
1471-0684
10
PageRank 
References 
Authors
0.74
16
3
Name
Order
Citations
PageRank
Alexander Serebrenik11745150.69
tom schrijvers265263.35
bart demoen395677.58