Instantiation of parameterized data structures for model-based testing

  • Authors:
  • Fabrice Bouquet;Jean-François Couchot;Frédéric Dadeau;Alain Giorgetti

  • Affiliations:
  • LIFC – INRIA Cassis project, FRE CNRS 2661, University of Franche-Comté, Besançon cedex, France;LIFC – INRIA Cassis project, FRE CNRS 2661, University of Franche-Comté, Besançon cedex, France;LIFC – INRIA Cassis project, FRE CNRS 2661, University of Franche-Comté, Besançon cedex, France;LIFC – INRIA Cassis project, FRE CNRS 2661, University of Franche-Comté, Besançon cedex, France

  • Venue:
  • B'07 Proceedings of the 7th international conference on Formal Specification and Development in B
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Model-based testing is bound, by essence, to use the enumerated data structures of the system under test (SUT). On the other hand, formal modeling often involves the use of parameterized data structures in order to be more general (such a model should be sufficient to test many implementation variants) and to abstract irrelevant details. Consequently, the validation engineer is sooner or later required to instantiate these parameters. At the current time, this instantiation activity is a matter of experience and knowledge of the SUT. This work investigates how to rationalize the instantiation of the model parameters. It is obvious that a poor instantiation may badly influence the quality of the resulting tests. However, recent results in instantiation-based theorem proving and their application to software verification show that it is often possible to guess the smallest most general data enumeration. We first provide a formal characterization of what a most general instantiation is, in the framework of functional testing. Then, we propose an approach to automate the instantiation of the model parameters, which leaves the specifier and the validation engineer free to use the desired level of abstraction, during the model design process, without having to satisfy any finiteness requirement. We investigate cases where delaying the instantiation is not a problem. This work is illustrated by a realistic running example. It is presented in the framework of the BZ-Testing-Tools methodology, which uses a B abstract machine for model-based testing and targets many implementation languages.