Section: New Results
Property based testing
Participants : Horatiu Cirstea, Pierre-Etienne Moreau, Cosay Topaktas.
Quality is crucial for software systems and several aspects should be taken into account. Formal verification techniques like model checking and automated theorem proving can be used to guarantee the correctness of finite or infinite systems. While these approaches provide a high level of confidence they are sometimes difficult and expensive to apply. Software testing is another approach and although it cannot guarantee correctness it can be very efficient in finding errors.
We have proposed a property based testing framework for the Tom language inspired from the ones prosed in the context of functional programming. In the current version relatively simple properties can be already expressed and tested on Tom programs. It consists of an exhaustive approach testing all possible input values and guaranteeing that the discovered counter-examples are the smallest ones (the size of the inputs is clearly limited by the execution time) and a random approach where inputs of bigger size could be tested but the minimal counter-example is not guaranteed. A relatively simple shrinking method which searches a smaller counter-example starting from an initial relatively complex one has been also proposed. There is ongoing work on the expressiveness of the property language and the efficiency of the shrinking method. The library is available at http://gforge.inria.fr/projects/tom .