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 Serebrenik | 1 | 1745 | 150.69 |
tom schrijvers | 2 | 652 | 63.35 |
bart demoen | 3 | 956 | 77.58 |