Skip to main content
Log in

Logic programming and software maintenance

  • Published:
Annals of Mathematics and Artificial Intelligence Aims and scope Submit manuscript

Abstract

The main objective of this short paper is to describe the relationship between software maintenance and logic programming (both declarative and procedural), and to show how ideas and methods from logic programming (in particular, methods invented by M. Gelfond) can be used in software maintenance. The material presented in this paper partly appeared in (Luqi and Cooke, 1995). The main difference is that (Luqi and Cooke, 1995) is aimed mainly at software engineers, so it only briefly touches on the software engineering problems, while describing in great detail the basics of logic programming. In contrast, in this paper, we assume that the corresponding logic programming notions are well known, but describe the corresponding software engineering applications in greater detail.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. K. Apt and H. Blair, Arithmetic classification of perfect models of stratified programs, Fundamenta Informaticae 13 (1990) 1–18.

    MATH  MathSciNet  Google Scholar 

  2. V.R. Basili, Viewing maintenance as reuse-oriented software development, IEEE Software 7(2) (1990) 19–25.

    Article  Google Scholar 

  3. C. Baral and M. Gelfond, Logic programming and knowledge representation, Journal of Logic Programming 19 (1994) 73–148.

    Article  MATH  MathSciNet  Google Scholar 

  4. D. Cooke, A. Gates, E. Demirors, O. Demirors, M. Tanik and B. Kraemer, Languages for the specification of software, Journal of Systems and Software 32 (1996) 269–308.

    Article  Google Scholar 

  5. A.M. Davis, A comparison of techniques for the specification of external system behavior, Communications of ACM 31(9) (1988) 1098–1115.

    Article  Google Scholar 

  6. M. Gelfond and V. Lifschitz, The stable model semantics for logic programming, in: Proc. 5th International Conference and Symposium on Logic Programming, Seattle, Washington (August 15–19, 1988), eds. R. Kowalski and K. Bowen, pp. 1070–1080.

  7. M. Gelfond and V. Lifschitz, Logic programs with classical negation, in: Proceedings of 7th International Conference on Logic Programming (Jerusalem, 1990) pp. 579–597.

  8. M. Gelfond and V. Lifschitz, Classical negation in logic programs and deductive databases, Journal of New Generation Computing 9(3,4) (1991) 365–387.

    Article  MATH  Google Scholar 

  9. M. Gelfond and H. Przymusinska, Stratified extended logic programs. Draft copy of a paper in preparation.

  10. M. Lehman, Programs, life cycles, and laws of software evolution, Proceedings of the IEEE 68(9) (1980) 1060–1075.

    Article  Google Scholar 

  11. Luqi and D.E. Cooke, How to combine nonmonotonic logic and rapid prototyping to help maintain software, International Journal of Software Engineering and Knowledge Engineering 5(1) (1995) 89–118.

    Article  Google Scholar 

  12. C.V. Ramamoorthy and D. Cooke, The correspondence between methods of artificial intelligence and the production and maintenance of evolutionary software, in: Proceedings of the Third International IEEE Conference on Tools for Artificial Intelligence (November, 1991) pp. 114–118.

  13. C.V. Ramamoorthy, D. Cooke and C. Baral, Maintaining the truth of specifications in evolutionary software, International Journal of Artificial Intelligence Tools 2(1) (1993) 15–31.

    Article  Google Scholar 

  14. J.-P. Tsai and T. Weigert, A knowledge-based approach for checking software information using a non-monotonic reasoning system, Knowledge-Based Systems 3(3) (1990) 131–138.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Cooke, D., Luqi Logic programming and software maintenance. Annals of Mathematics and Artificial Intelligence 21, 221–229 (1997). https://doi.org/10.1023/A:1018917502968

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1018917502968

Keywords

Navigation