Loading...
Please wait, while we are loading the content...
Similar Documents
Improving Prolog programs: Refactoring for Prolog
| Content Provider | Scilit |
|---|---|
| Author | Serebrenik, Alexander Schrijvers, Tom Demoen, Bart |
| Copyright Year | 2008 |
| 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. |
| Related Links | https://arxiv.org/pdf/cs/0702083 https://core.ac.uk/download/pdf/34369172.pdf https://www.cambridge.org/core/services/aop-cambridge-core/content/view/B365F9AB1009D368252CA225237E0DB3/S1471068407003134a.pdf/div-class-title-improving-prolog-programs-refactoring-for-prolog-div.pdf |
| Ending Page | 215 |
| Page Count | 15 |
| Starting Page | 201 |
| ISSN | 14710684 |
| e-ISSN | 14753081 |
| DOI | 10.1017/s1471068407003134 |
| Journal | Theory and Practice of Logic Programming |
| Issue Number | 2 |
| Volume Number | 8 |
| Language | English |
| Publisher | Cambridge University Press (CUP) |
| Publisher Date | 2008-03-01 |
| Access Restriction | Open |
| Subject Keyword | Theory and Practice of Logic Programming Software Engineering Program Transformation Programming Environments |
| Content Type | Text |
| Resource Type | Article |
| Subject | Artificial Intelligence Theoretical Computer Science Computational Theory and Mathematics Hardware and Architecture Software |