Using a Software Testing Technique to Improve Theorem Proving
Paper i proceeding, 2004

Most efforts to combine formal methods and software testing go in the direction of exploiting formal methods to solve testing problems, most commonly test case generation. Here we take the reverse viewpoint and show how the technique of partition testing can be used to improve a formal proof technique (induction for correctness of loops). We first compute a partition of the domain of the induction variable, based on the branch predicates in the program code of the loop we wish to prove. Based on this partition we derive a partitioned induction rule, which is (hopefully) easier to use than the standard induction rule. In particular, with an induction rule that is tailored to the program to be verified, less user interaction can be expected to be required in the proof. We demonstrate with a number of examples the practical efficiency of our method.

mathematical induction

software testing

interactive theorem proving

partition analysis

program verification


Angela Wallenburg

Göteborgs universitet

Reiner Hähnle

Chalmers, Institutionen för datavetenskap

Chalmers, Institutionen för datavetenskap, Formella metoder

Formal Approaches to Software Testing

Vol. LNCS 2931 30-41
3-540-20894-1 (ISBN)


Datavetenskap (datalogi)



Mer information