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.
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
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.
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.
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.
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.
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.
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.
W.E. Howden. Reliability of the path analysis testing strategy. IEEE Transactions on Software Engineering, 2(3):208–215, 1976.
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.
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.
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.
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.
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.
C. Mellish. Some global optimisations for a Prolog compiler. The Journal of Logic Programming, 2(1):43–66, 1985.
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.
L.J. Morell. A theory of fault-based testing. IEEE Transactions on Software Engineering, 16(8):844–857, 1990.
T. Sato and H. Tamaki. Enumeration of success patterns in logic programs. Theoretical Computer Science, 34(1):227–240, 1984.
D.A. Schmidt. Denotational Semantics: a methodology for language development. Allyn and Bacon, Inc., 1986.
H. Søndergaard. An application of abstract interpretation of logic programs. In Proceedings of the European symposium on programming. Springer-Verlag, 1986.
M.H. van Emden and R.A. Kowalski. The semantics of predicate logic as a programming language. Artificial Intelligence, 23(10):733–742, 1976.
S.Y. Yan. Declarative testing in logic programming. In Proceeding of the third Australian software engineering conference, pages 423–435, 1987.
Author information
Authors and Affiliations
Editor information
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