Abstract
CSP is a well-established formalism for modelling and verification of concurrent reactive systems based on refinement. Consolidated denotational models and an effective tool have encouraged much work on algebraic reasoning and model checking. Testing techniques based on CSP, however, have not been widely explored, and in this paper we take a first step by instantiating Gaudel et al’s theory of formal testing to CSP. We identify the testability hypothesis that we consider necessary to use CSP models as a basis for testing. We also define test sets that we prove to be exhaustive with respect to traces and failures refinement, and consider optimisations, inputs and outputs, and selection strategies. Our results are proved in terms of the CSP denotational models; they are a sound foundation for the development of test-generation techniques.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bernot, G., Gaudel, M.-C., Marre, B.: Software Testing Based on Formal Specifications: A theory and a tool. Software Engineering Journal 6(6), 387–405 (1991)
Bougé, L., Choquet, N., Fribourg, L., Gaudel, M.-C.: Test set generation from algebraic specifications using logic programming. Journal of Systems and Software 6(4), 343–360 (1986)
Brinksma, E.: A theory for the derivation of tests. In: Protocol Specification, testing and Verification VIII, North-Holland, pp. 63–74 (1988)
Brinksma, E., Tretmans, J.: Testing Transition Systems: An Annotated Bibliography. In: Cassez, F., Jard, C., Rozoy, B., Dermot, M. (eds.) MOVEP 2000. LNCS, vol. 2067, pp. 187–195. Springer, Heidelberg (2001)
Cavalcanti, A.L.C., Gaudel, M.-C.: Testing for Refinement in CSP – Extended version.Technical report 1473, LRI, Universitè de Paris-Sud (2007), http://www.lri.fr/Rapports-internes/
Chow, T.S.: Testing Software Design Modeled by Finite-State Machines. IEEE TSE SE-4(3), 178–187 (1978)
Dauchy, P., Gaudel, M.-C., Marre, B.: Using Algebraic Specifications in Software Testing: a case study on the software of an automatic subway. Journal of Systems and Software 21(3), 229–244 (1993)
Dick, J., Faivre, A.: Automating the generation and sequencing of test cases from model-based specifications. In: Larsen, P.G., Woodcock, J.C.P. (eds.) FME 1993. LNCS, vol. 670, pp. 268–284. Springer, Heidelberg (1993)
Dong, R.K., Frankl, P.G.: The ASTOOT approach to testing object-oriented programs. ACM ToSEM 3(2), 103–130 (1994)
Fernandez, J.-C., Jard, C., Jéron, T., Viho, G.: An Experiment in Automatic Generation of Conformance Test Suites for Protocols with Verification Technology. Science of Computer Programming 29, 123–146 (1997)
Gannon, J., McMullin, P., Hamlet, R.: Data abstraction implementation, specification and testing. ACM ToPLaS 3(3), 211–223 (1981)
Gaudel, M.-C.: Testing can be formal, too. In: Mosses, P.D., Schwartzbach, M.I., Nielsen, M. (eds.) CAAP 1995, FASE 1995, and TAPSOFT 1995. LNCS, vol. 915, pp. 82–96. Springer, Heidelberg (1995)
Gaudel, M.-C., James, P.J.: Testing algebraic data types and processes: a unifying theory. Formal Aspects of Computing 10(5-6), 436–451 (1998)
Helke, S., Neustupny, T., Santen, T.: Automating Test Case Generation from Z Specifications with Isabelle. In: Till, D., Bowen, J.P., Hinchey, M.G. (eds.) ZUM 1997. LNCS, vol. 1212, pp. 52–71. Springer, Heidelberg (1997)
Hierons, R.M.: Testing from a Nondeterministic Finite State Machine Using Adaptive State Counting. IEEE Transactions on Computers 53(10), 1330–1342 (2004)
Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)
Lee, D., Yannakakis, M.: Principles and methods of testing finite state machines - A survey. Proceedings of the IEEE 84, 1090–1126 (1996)
Legeard, B., Peureux, F., Utting, M.: Controlling test case explosion in test generation from B formal models. The Journal of Software Testing, Verification and Reliability 14(2), 81–103 (2004)
Lestiennes, G.: Contributions au test de logiciel basé sur des spécifications formelles. PhD thesis, Université de Paris-Sud (2005)
Machado, P., Sannella, D.: Unit Testing for CASL Architectural Specifications. In: Diks, K., Rytter, W. (eds.) MFCS 2002. LNCS, vol. 2420, pp. 506–518. Springer, Heidelberg (2002)
De Nicola, R., Hennessy, M.C.B.: Testing equivalences for processes. Theoretical Computer Science 3(1-2), 83–133 (1984)
Nogueira, S.: Automatic Test Case Generation from CSP Specifications Master’s thesis (in Portuguese)
Oliveira, M.V.M., Cavalcanti, A.L.C., Woodcock, J.C.P.: A UTP Semantics for Circus. Formal Aspects of Computing (2007)
Peleska, J., Siegel, M.: Test automation of safety-critical reactive systems. In: Gaudel, M.-C., Woodcock, J.C.P. (eds.) FME 1996. LNCS, vol. 1051, Springer, Heidelberg (1996)
Peleska, J., Siegel, M.: Test automation of safety-critical reactive systems. South African Computer Journal 19, 53–77 (1997)
Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice-Hall, Englewood Cliffs (1998)
Schneider, S.: Concurrent and Real-time Systems: The CSP Approach. Wiley, Chichester (2000)
Spivey, J.M.: The Z Notation: A Reference Manual, 2nd edn. Prentice-Hall, Englewood Cliffs (1992)
Srivatanakul, T., Clark, J.A., Stepney, S., Polack, F.: Challenging formal specifications by mutation: a CSP security example. In: 10th Asia-Pacific Software Engineering Conference, pp. 340–350. IEEE Computer Society Press, Los Alamitos (2003)
Tretmans, J.: A formal approach to conformance testing. PhD thesis, University of Twente, Enschede, The Netherlands (1992)
Tretmans, J.: Test Generation with Inputs, Outputs, and Quiescence. In: Margaria, T., Steffen, B. (eds.) TACAS 1996. LNCS, vol. 1055, pp. 127–146. Springer, Heidelberg (1996)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cavalcanti, A., Gaudel, MC. (2007). Testing for Refinement in CSP. In: Butler, M., Hinchey, M.G., Larrondo-Petrie, M.M. (eds) Formal Methods and Software Engineering. ICFEM 2007. Lecture Notes in Computer Science, vol 4789. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-76650-6_10
Download citation
DOI: https://doi.org/10.1007/978-3-540-76650-6_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-76648-3
Online ISBN: 978-3-540-76650-6
eBook Packages: Computer ScienceComputer Science (R0)