Skip to main content

Logic program testing based on abstract interpretation

  • Conference paper
  • First Online:
Formal Methods in Programming and Their Applications

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 735))

Abstract

In this paper we present a logic program testing algorithm. This algorithm tests a program against a particular program property each time it is applied. A program property is derived from the program and is compared with the desired program property and the difference between them is used to guide test data generation.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. G. Bernot, M.C. Gaudel, and B. Marre. Software testing based on formal specifications: a theory and a tool. LRI research report no. 581, April 1991.

    Google Scholar 

  2. L. Bouge, N. Choquet, L. Fribourg, and M.-C. Gaudel. Test sets generating from algebraic specifications using Logic Programming. Journal of System and Software, 6(4):343–360, 1986.

    Google Scholar 

  3. M. Bruynooghe and G. Janssens. An instance of abstract interpretation integrating type and mode inferencing. In R.A. Kowalski and K.A. Bowen, editors, Proceedings of the fifth International Conference and Symposium on Logic Programming, pages 669–683. The MIT Press, 1988.

    Google Scholar 

  4. M. Bruynooghe, G. Janssens, A. Callebaut, and B. Demoen. Abstract interpretation: towards the global optimisation of Prolog programs. In Proceedings of the 1987 Symposium on Logic Programming, pages 192–204. The IEEE Society Press, 1987.

    Google Scholar 

  5. P. Cousot and R. Cousot. Abstract interpretation: a unified framework for static analysis of programs by construction or approximation of fixpoints. In Proceedings of the fourth annual ACM symposium on Principles of programming languages, pages 238–252, Los Angeles, California, 1977.

    Google Scholar 

  6. P. Cousot and R. Cousot. Systematic design of program analysis frameworks. In Proceedings of the sixth annual ACM symposium on Principles of programming languages, pages 269–282, San Antonio, Texas, 1979.

    Google Scholar 

  7. N. Dershowitz and Y.-J. Lee. Deductive debugging. In Proceedings of 1987 Symposium of Logic Programming, pages 298–306. The IEEE Computer Society Press, 1987.

    Google Scholar 

  8. T.W. Früehwirth. Using meta-interpreters for polymorphic type checking. In M. Bruynooghe, editor, Proceedings of the Second Workshop on Meta-programming in Logic, pages 339–351, Leuven, Belgium, April 4–6 1990.

    Google Scholar 

  9. W.E. Howden. Reliability of the path analysis testing strategy. IEEE Transactions on Software Engineering, 2(3):208–215, 1976.

    Google Scholar 

  10. N.D. Jones and H. Søndergarrd. A semantics-based framework for abstract interpretation of Prolog. In S. Abramsky and C. Hankin, editors, Abstract interpretation of declarative languages, pages 123–142. Ellis Horwood Limited, 1987.

    Google Scholar 

  11. T. Kanamori and K. Horiuchi. Type inference in Prolog and its application. In Proceedings of the ninth International Joint Conference on Artificial Intelligence, pages 704–707, 1985.

    Google Scholar 

  12. L. Lu and P. Greenfield. Abstract fixpoint semantics and abstract procedural semantics of definite logic programs. In Proceedings of IEEE Computer Society 1992 International Conference on Computer Languages, pages 147–154, Oakland, California, USA, April 20–23 1992. IEEE Computer Society Press.

    Google Scholar 

  13. B. Marre. Toward automatic test data set selection using algebraic specifications and Logic Programming. In K. Furukawa, editor, Proc. of the eighth International Conference on Logic Programming, pages 202–219, Paris, France, 1991. ALP, MIT Press.

    Google Scholar 

  14. K. Marriott and H. Søndergaard. Bottom-up abstract interpretation of logic programs. In R.A. Kowalski and K.A. Bowen, editors, Proceedings of the fifth International Conference and Symposium on Logic Programming, pages 733–748. The MIT Press, 1988.

    Google Scholar 

  15. C. Mellish. Some global optimisations for a Prolog compiler. The Journal of Logic Programming, 2(1):43–66, 1985.

    Google Scholar 

  16. C. Mellish. Abstract interpretation of Prolog programs. In S. Abramsky and C. Hankin, editors, Abstract interpretation of declarative languages, pages 181–198. Ellis Horwood Limited, 1987.

    Google Scholar 

  17. L.J. Morell. A theory of fault-based testing. IEEE Transactions on Software Engineering, 16(8):844–857, 1990.

    Google Scholar 

  18. T. Sato and H. Tamaki. Enumeration of success patterns in logic programs. Theoretical Computer Science, 34(1):227–240, 1984.

    Google Scholar 

  19. D.A. Schmidt. Denotational Semantics: a methodology for language development. Allyn and Bacon, Inc., 1986.

    Google Scholar 

  20. H. Søndergaard. An application of abstract interpretation of logic programs. In Proceedings of the European symposium on programming. Springer-Verlag, 1986.

    Google Scholar 

  21. M.H. van Emden and R.A. Kowalski. The semantics of predicate logic as a programming language. Artificial Intelligence, 23(10):733–742, 1976.

    Google Scholar 

  22. S.Y. Yan. Declarative testing in logic programming. In Proceeding of the third Australian software engineering conference, pages 423–435, 1987.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Dines Bjørner Manfred Broy Igor V. Pottosin

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lu, L., Greenfield, P. (1993). Logic program testing based on abstract interpretation. In: Bjørner, D., Broy, M., Pottosin, I.V. (eds) Formal Methods in Programming and Their Applications. Lecture Notes in Computer Science, vol 735. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0039707

Download citation

  • DOI: https://doi.org/10.1007/BFb0039707

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57316-6

  • Online ISBN: 978-3-540-48056-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics