The Circus Testing Theory Revisited in Isabelle/HOL

  • Abderrahmane Feliachi
  • Marie-Claude Gaudel
  • Makarius Wenzel
  • Burkhart Wolff
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8144)

Abstract

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.

Keywords

Formal Testing Symbolic Computations Isabelle/HOL Circus 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Brucker, A.D., Wolff, B.: On Theorem Prover-based Testing. In: Formal Aspects of Computing, FAOC (2012)Google Scholar
  2. 2.
    Cavalcanti, A., Gaudel, M.-C.: Testing for refinement in circus. Acta Inf. 48(2), 97–147 (2011)MathSciNetCrossRefMATHGoogle Scholar
  3. 3.
    Clarke, D., Jéron, T., Rusu, V., Zinovieva, E.: STG: A symbolic test generation tool. In: Katoen, J.-P., Stevens, P. (eds.) TACAS 2002. LNCS, vol. 2280, pp. 470–475. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  4. 4.
    de Moura, L., Bjørner, N.S.: Z3: An efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  5. 5.
    Feliachi, A.: Semantics-Based Testing for Circus. PhD thesis, Université Paris-Sud 11 (2012)Google Scholar
  6. 6.
    Feliachi, A., Gaudel, M.-C., Wolff, B.: Isabelle/Circus: A process specification and verification environment. In: Joshi, R., Müller, P., Podelski, A. (eds.) VSTTE 2012. LNCS, vol. 7152, pp. 243–250. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  7. 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. 8.
    Gaudel, M.-C., Gall, P.L.: Testing data types implementations from algebraic specifications. In: Hierons, et al (eds.) [9], pp. 209–239Google Scholar
  9. 9.
    Hierons, R.M., Bowen, J.P., Harman, M. (eds.): FORTEST. LNCS, vol. 4949. Springer, Heidelberg (2008)Google Scholar
  10. 10.
    Hoare, C., He, J.: Unifying theories of programming. Prentice Hall (1998)Google Scholar
  11. 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
  12. 12.
    Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL — A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, Heidelberg (2002)MATHGoogle Scholar
  13. 13.
    Nogueira, S., Sampaio, A., Mota, A.: Guided test generation from CSP models. In: Fitzgerald, J.S., Haxthausen, A.E., Yenigun, H. (eds.) ICTAC 2008. LNCS, vol. 5160, pp. 258–273. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  14. 14.
    Oliveira, M., Cavalcanti, A., Woodcock, J.: A denotational semantics for Circus. Electron. Notes Theor. Comput. Sci. 187, 107–123 (2007)CrossRefGoogle Scholar
  15. 15.
    Tillmann, N., Schulte, W.: Parameterized unit tests. SIGSOFT Softw. Eng. Notes 30(5), 253–262 (2005)CrossRefGoogle Scholar
  16. 16.
    Veanes, M., Campbell, C., Grieskamp, W., Schulte, W., Tillmann, N., Nachmanson, L.: Model-based testing of object-oriented reactive systems with spec explorer. In: Hierons, R.M., Bowen, J.P., Harman, M. (eds.) FORTEST. LNCS, vol. 4949, pp. 39–76. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  17. 17.
    Visser, W., Pasareanu, C.S., Khurshid, S.: Test input generation with Java PathFinder. In: ISSTA 2004, pp. 97–107. ACM (2004)Google Scholar
  18. 18.
    Woodcock, J., Cavalcanti, A.: The semantics of circus: In: Bert, D., Bowen, J.P., Henson, M.C., Robinson, K. (eds.) ZB 2002. LNCS, vol. 2272, pp. 184–203. Springer, Heidelberg (2002)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Abderrahmane Feliachi
    • 1
    • 2
  • Marie-Claude Gaudel
    • 1
    • 2
  • Makarius Wenzel
    • 1
    • 2
  • Burkhart Wolff
    • 1
    • 2
  1. 1.Laboratoire LRI, UMR8623Univ. Paris-SudOrsayFrance
  2. 2.CNRSOrsayFrance

Personalised recommendations