Logic programming for software testing

  • Sanjay Khanna
Data And Software Engineering
Part of the Lecture Notes in Computer Science book series (LNCS, volume 468)


We propose a methodology for using logic programming to software testing. The methodology is based on logic programming applications for the formation of decision-to-decision graph, path predicate evaluation and symbolic evaluation of output variables. We mention an efficient software testing scheme which utilizes multiple theories in logic, organized as a tree structure. An Algol-like language is used to present our approach.


Logic Programming Software Testing Symbolic Execution Symbolic Evaluation Conditional Expression 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    L.A. Clarke, ”A system to generate test data and symbolically execute programs”, IEEE Trans. Software Eng., vol SE-2, pp 215–222, Sept. 1976.Google Scholar
  2. [2]
    W. F. Clocksin and C.S. Mellish, ”Programming in Prolog”, Springer-Verlag, 1981.Google Scholar
  3. [3]
    William Howden, ”Reliability of the path analysis testing strategy”, IEEE Transactions on Software Engineering, pp 208–215, September 1976, vol. SE-2, No. 3Google Scholar
  4. [4]
    William Howden, ”Symbolic Testing and the DISSECT Symbolic Evaluation System”, IEEE Transactions on Software Engineering, pp 266–278, July 1977, vol. SE-3, No. 4.Google Scholar
  5. [5]
    J.C. King, ”Symbolic execution and program testing”, Comm. of the ACM, vol 19, pp 385–394, July 1976.Google Scholar
  6. [6]
    L. Sterling and E. Shapiro, ”The Art of Prolog”, Chapter 16, MIT Press, 1986.Google Scholar
  7. [7]
    E.J. Weyuker and T.J. Ostrand, ”Theories of program testing and the applications of revealing subdomains”, IEEE Transactions on Software Engineering, pp 236–246, May 1980, vol. SE-6, No. 3.Google Scholar
  8. [8]
    L.J. White and E.I. Cohen, ”A Domain Strategy for Computer Program Testing”, IEEE Trans. on Software Engineering, pp 247–257, May 1980.Google Scholar
  9. [9]
    Clark and McCabe, ”Prolog: A language for implementing Expert Systems”, Machine Intelligence 10, John-Wiley and Sons Publishers, New York. 1980.Google Scholar
  10. [10]
    D. H. D. Warren, ”Logic Programming and Compiler Writing”, Software — Practice and Experience 10, Number II, 1980.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • Sanjay Khanna
    • 1
  1. 1.Dept. of Electrical and Computer EngineeringSyracuse UniversitySyracuseUSA

Personalised recommendations