• DocumentCode
    1596351
  • Title

    A test coverage notion for logic programming

  • Author

    Belli, Fievzi ; Jack, Oliver

  • Author_Institution
    Dept. of Electr. & Electron. Eng., Paderborn Univ., Germany
  • fYear
    1995
  • Firstpage
    133
  • Lastpage
    142
  • Abstract
    Reliability determination for software is closely related to software testing. Testing delivers important data for software reliability models. Two important tasks of software testing are test case generation and determination of test coverage. Because of its declarative paradigm, all the well-known approaches to the above mentioned tasks are not applicable to logic programming. Implementation based testing is an approach to tackle the test problem for logic programming. We focus on test coverage aspects for logic programming. Analog to the coverage notion for conventional programming, e.g., path coverage on the control flow graph, we define a coverage measure on an abstract model of the logic program to be tested. Our abstract model is the set of goal-induced instances of program clauses. This is motivated by the computational model of resolution calculus for first-order predicate logic. Anti-unification is utilized to define the coverage measure via least upper bounds of this set. We give an algorithm for test cover determination which is prepared for coverage oriented test input generation, e.g., by declarative program instrumentation or non goal-oriented execution of logic programs using a fair interpreter. We describe syntactic and semantic aspects of our testing approach with respect to the properties of logic programming
  • Keywords
    formal logic; logic programming; program interpreters; program testing; programming theory; software reliability; abstract model; algorithm; antiunification; computational model; control flow graph; declarative program; first-order predicate logic; implementation based testing; interpreter; least upper bounds; logic programming; path coverage; program clauses; resolution calculus; semantic aspects; software reliability; software reliability models; software testing; syntactic aspects; test case generation; test cover determination; test coverage notion; Calculus; Computational modeling; Flow graphs; Fluid flow measurement; Instruments; Logic programming; Logic testing; Software reliability; Software testing; Upper bound;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Reliability Engineering, 1995. Proceedings., Sixth International Symposium on
  • Conference_Location
    Toulouse
  • ISSN
    1071-9458
  • Print_ISBN
    0-8186-7131-9
  • Type

    conf

  • DOI
    10.1109/ISSRE.1995.497651
  • Filename
    497651