The Circus Testing Theory Revisited in Isabelle/HOL
Formal specifications provide strong bases for testing and bring powerful techniques and technologies. Expressive formal specification languages combine large data domain and behavior. Thus, symbolic methods have raised particular interest for test generation techniques.
Integrating formal testing in proof environments such as Isabelle/HOL is referred to as “theorem-prover based testing”. Theorem-prover based testing can be adapted to a specific specification language via a representation of its formal semantics, paving the way for specific support of its constructs. The main challenge of this approach is to reduce the gap between pen-and-paper semantics and formal mechanized theories.
In this paper we consider testing based on the Circus specification language. This language integrates the notions of states and of complex data in a Z-like fashion with communicating processes inspired from CSP. We present a machine-checked formalization in Isabelle/HOL of this language and its testing theory. Based on this formal representation of the semantics we revisit the original associated testing theory.
We discovered unforeseen simplifications in both definitions and symbolic computations. The approach lends itself to the construction of a tool, that directly uses semantic definitions of the language as well as derived rules of its testing theory, and thus provides some powerful symbolic computation machinery to seamlessly implement them both in a technical environment.
KeywordsFormal Testing Symbolic Computations Isabelle/HOL Circus
Unable to display preview. Download preview PDF.
- 1.Brucker, A.D., Wolff, B.: On Theorem Prover-based Testing. In: Formal Aspects of Computing, FAOC (2012)Google Scholar
- 5.Feliachi, A.: Semantics-Based Testing for Circus. PhD thesis, Université Paris-Sud 11 (2012)Google Scholar
- 7.Feliachi, A., Gaudel, M.-C., Wolff, B.: Exhaustive testing in hol-testgen/cirta – a case study. Technical Report 1562, LRI (July 2013)Google Scholar
- 8.Gaudel, M.-C., Gall, P.L.: Testing data types implementations from algebraic specifications. In: Hierons, et al (eds.) , pp. 209–239Google Scholar
- 9.Hierons, R.M., Bowen, J.P., Harman, M. (eds.): FORTEST. LNCS, vol. 4949. Springer, Heidelberg (2008)Google Scholar
- 10.Hoare, C., He, J.: Unifying theories of programming. Prentice Hall (1998)Google Scholar
- 11.Jard, C., Jéron, T.: TGV: theory, principles and algorithms, a tool for the automatic synthesis of conformance test cases for non-deterministic reactive systems. In: STTT, vol. 6 ( October 2004)Google Scholar
- 17.Visser, W., Pasareanu, C.S., Khurshid, S.: Test input generation with Java PathFinder. In: ISSTA 2004, pp. 97–107. ACM (2004)Google Scholar