The systematic approaches to testing and reliability determination of programs e.g. are applicable to imperative programming but not immediately to declarative programming, such as logic programming, which is of great importance to develop knowledge-based systems. We describe an approach to implementation-based testing and reliability determination of logic programs materialized in a product assurance environment, presently limited to two major components: the test environment PROTest and the reliability assessment environment PRORool, with the results of the former serving as input for the latter. The test environment consists of structure analysis of logic programs, automatic test case generation and execution, test coverage determination, and generation of test reports. The reliability assessment environment provides an approach to reliability prediction and estimation of Prolog programs, introducing two measures describing Prolog programs complexity, which are used to determine the program reliability. It implements also several well-known software reliability models for comparison purposes.
展开▼