Improving Prolog programs: Refactoring for Prolog

Computer Science – Software Engineering

Scientific paper

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

To appear in Theory and Practice of Logic Programming (TPLP)

Scientific paper

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.

No associations

LandOfFree

Say what you really think

Search LandOfFree.com for scientists and scientific papers. Rate them and share your experience with other people.

Rating

Improving Prolog programs: Refactoring for Prolog does not yet have a rating. At this time, there are no reviews or comments for this scientific paper.

If you have personal experience with Improving Prolog programs: Refactoring for Prolog, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Improving Prolog programs: Refactoring for Prolog will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFWR-SCP-O-209686

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.