Exploiting Symmetries to Test Programs

Arnaud Gotlieb 1
1 Lande - Logiciel : ANalyse et DEveloppement
IRISA - Institut de Recherche en Informatique et Systèmes Aléatoires, Inria Rennes – Bretagne Atlantique
Abstract : Symmetries often appear as properties of many artifical settings. In Program Testing, they can be viewed as properties of programs and can be used to check the correctness of the computed outcomes. In this paper, we consider symmetries to be permutation relations between program executions and use them to automate the testing process. We introduce a software testing paradigm called Symmetric Testing, where automatic test data generation is coupled with symmetries checking to uncover faults inside the programs. A practical procedure for checking that a program satisfies a given symmetry relation is described. The paradigm makes use of Group theoretic results as a formal basis to minimize the number of program executions required by the method. This approach appears to be of particular interest for programs for which neither an oracle, nor any formal specification is available. We implemented Symmetric Testing by using the primitive operations of Roast : a Java unit testing tool developped by N. Daley, D. Hoffman and P. Strooper. The experimental results we got on faulty versions of classical programs of the Software Testing community show the effectiveness of the approach.
Document type :
Reports
Complete list of metadatas

https://hal.inria.fr/inria-00071776
Contributor : Rapport de Recherche Inria <>
Submitted on : Tuesday, May 23, 2006 - 6:44:26 PM
Last modification on : Friday, November 16, 2018 - 1:23:38 AM
Long-term archiving on : Sunday, April 4, 2010 - 10:37:25 PM

Identifiers

  • HAL Id : inria-00071776, version 1

Citation

Arnaud Gotlieb. Exploiting Symmetries to Test Programs. [Research Report] RR-4810, INRIA. 2003. ⟨inria-00071776⟩

Share

Metrics

Record views

122

Files downloads

762