ProTest: An Automatic Test Environment for B Specifications

  • Authors:
  • Manoranjan Satpathy;Michael Leuschel;Michael Butler

  • Affiliations:
  • Department of Computer Science, University of Reading, Reading RG6 6AY, UK;School of Electronics and Computer Science, University of Southampton, Highfield, Southampton, SO17 1BJ, UK;School of Electronics and Computer Science, University of Southampton, Highfield, Southampton, SO17 1BJ, UK

  • Venue:
  • Electronic Notes in Theoretical Computer Science (ENTCS)
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present ProTest, an automatic test environment for B specifications. B is a model-oriented notation where systems are specified in terms of abstract states and operations on abstract states. ProTest first generates a state coverage graph of a B specification through exhaustive model checking, and the coverage graph is traversed to generate a set of test cases, each being a sequence of B operations. For the model checking to be exhaustive, some transformations are applied to the sets used in the B machine. The approach also works if it is not exhaustive; one can stop at any point in time during the state space exploration and generate test cases from the coverage graph obtained so far. ProTest then simultaneously performs animation of the B machine and the execution of the corresponding implementation in Java, and assigns verdicts on the test results. With some restrictions imposed on the B operations, the whole of the testing process is performed mechanically. We demonstrate the efficacy of our test environment by performing a small case study from industry. Furthermore, we present a solution to the problem of handling non-determinism in B operations.